Skip to main content
Gainsight PX is a product experience platform: it tracks how people use your web or mobile product (page views, sessions, feature usage, custom events) and runs in-app engagements such as guides, dialogs, carousels and NPS surveys. This connector reads your subscription through the Gainsight PX REST API and brings your users and accounts, the features, segments and engagements you configured, the Knowledge Center content and the full history of product usage events and survey responses.
This page is about Gainsight PX. Gainsight CS (the customer success platform, also called NXT) is a different product with its own connector: see Gainsight.
The connector only reads data. It never creates, changes or deletes anything in Gainsight PX.

Configuring Gainsight PX as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Gainsight PX option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

The connector uses a Gainsight PX REST API key. To create one, log in to Gainsight PX as an administrator, open Administration > REST API, click New API Key, give it a name, check the Read permission and click Generate. Copy the key.
  • API Key: the REST API key you generated.
  • Data Center: the data center of your Gainsight PX subscription: US (api.aptrinsic.com), EU (api-eu.aptrinsic.com) or US2 (api-us2.aptrinsic.com). Most subscriptions are on US; ask your Gainsight PX administrator if you are not sure.
  • Start Date: the earliest date read by the event tables (page views, sessions, custom events, feature and segment matches, engagement views, survey responses, emails, forms, identifies and leads) on their first sync and on a full sync. Users, accounts and the other lists are always read in full.
  • Event Lookback (hours): (Default: 24) each sync of the event tables starts this many hours before the previous sync ended, to catch events that reach Gainsight PX late, for example mobile events sent after the device was offline. Raise it if your product sends events with long delays.
Use a REST API key with the Read permission. The Product key (tag key, AP-...) of the Gainsight PX tracking script does not work here. Write and Production Launch permissions are not needed.
A key used with the wrong Data Center is rejected by Gainsight PX. If the connection fails with a rejected key that you know is right, try the other data centers.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
  • Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: keep the suggested type. The event tables are Incremental: each sync reads only the events since the previous one. Users, accounts and the other lists are Full table: each sync reads them whole and replaces the table.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
Avoid an Additional Full Sync on the event tables. A full sync reads every event again from the Start Date, which takes long on busy products, and Gainsight PX only returns the events it still keeps under your subscription’s data retention, so older events can disappear from the table.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Available streams

The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description. Every table needs only the Read permission of the API key. The Knowledge Center tables (articles, kc_bots) need the Knowledge Center in your Gainsight PX plan. To join the tables: events carry identify_id (users.identify_id) and account_id (accounts.id); feature_match_events.feature_id joins features.id; segment_match_events.segment_id joins segments.id; engagement_view_events.engagement_id, survey_responses.engagement_id and email_events.engagement_id join engagements.id; users.account_id joins accounts.id. The property_key of every table is the product tag key, listed per product in subscription.products.

Fields by stream

Fields marked String (JSON) hold a nested object or list as JSON text; use your warehouse’s JSON functions to read them. Dates are in UTC.
Your Gainsight PX subscription, with its products and their product tag keys (one row).Table: subscription · Primary key: id · Sync: Full table
Definitions of the user attributes, default and custom; api_name is the key used in users.custom_attributes.Table: user_attributes · Primary key: api_name · Sync: Full table
Definitions of the account attributes, default and custom; api_name is the key used in accounts.custom_attributes.Table: account_attributes · Primary key: api_name · Sync: Full table
Every user (and lead or visitor) Gainsight PX knows, with profile, activity and custom attributes.Table: users · Primary key: aptrinsic_id · Sync: Full table
Every account (company) Gainsight PX knows, with firmographics, activity and custom attributes.Table: accounts · Primary key: id · Sync: Full table
Features and modules mapped in Gainsight PX.Table: features · Primary key: id · Sync: Full table
Segments defined in Gainsight PX.Table: segments · Primary key: id · Sync: Full table
In-app dialogs, guides, carousels, surveys and emails configured in Gainsight PX.Table: engagements · Primary key: id · Sync: Full table
Articles of the Knowledge Center.Table: articles · Primary key: id · Sync: Full table
Knowledge Center bots (in-app help centers).Table: kc_bots · Primary key: id · Sync: Full table
Custom events sent by your product to Gainsight PX.Table: custom_events · Primary key: event_id · Sync: Incremental (by date)
Page views captured by the Gainsight PX tag.Table: page_view_events · Primary key: event_id · Sync: Incremental (by date)
Form submissions captured by the Gainsight PX tag.Table: form_submit_events · Primary key: event_id · Sync: Incremental (by date)
Sessions started by your users.Table: session_events · Primary key: event_id · Sync: Incremental (by date)
Uses of the features mapped in Gainsight PX.Table: feature_match_events · Primary key: event_id · Sync: Incremental (by date)
Moments when a user matched a segment.Table: segment_match_events · Primary key: event_id · Sync: Incremental (by date)
Identify calls (a visitor identified as a user).Table: identify_events · Primary key: event_id · Sync: Incremental (by date)
Lead identifications.Table: lead_events · Primary key: event_id · Sync: Incremental (by date)
Delivery, open, click, bounce and unsubscribe events of Gainsight PX emails.Table: email_events · Primary key: event_id · Sync: Incremental (by date)
Views, clicks and answers of in-app engagements (dialogs, guides, carousels and surveys).Table: engagement_view_events · Primary key: event_id · Sync: Incremental (by date)
Answers to in-app surveys: NPS, CES, rating, boolean and multi-question surveys.Table: survey_responses · Primary key: event_id · Sync: Incremental (by date)

Implementation Notes

Data Quality Considerations

  • Event tables are read day by day. Each request covers one day of events, from the Start Date (first sync) or from the Event Lookback before the previous sync (later syncs, 24 hours by default), up to the moment the sync started. The overlap catches events that reach Gainsight PX late; events are merged by event_id, so nothing is duplicated. Events that arrive later than the lookback, such as feature matches recalculated with Gainsight PX’s feature backfill, are only read by a full sync of that table.
  • A failed sync never skips events. The position of an event table only moves forward when the whole table was read; if a sync fails, the next one reads the same period again. If Gainsight PX answers a page twice, the table is not updated in that sync instead of being loaded in part.
  • Users and accounts are read in full on every sync. Gainsight PX does not tell which users or accounts changed since a date (activity such as last_seen_date may change without a new last_modified_date), so these tables are replaced by the current list on each sync.
  • Custom attributes. custom_attributes holds every custom attribute of a user or account as JSON, keyed by the attribute’s API name; user_attributes and account_attributes describe each one (name, type, state).
  • Surveys. Each answer of a multi-question survey is its own row in survey_responses; the rows of one survey view share execution_id. score holds the NPS, CES or rating score, comment the free text and selection_ids the options picked. survey_responses is the survey part of engagement_view_events.
  • Dates set to 0 by Gainsight PX (for example a user who never visited) are loaded as empty, not as 1970.
  • Permissions. If the API key or the plan does not give access to a table (for example the Knowledge Center), that table is skipped and shown as failed, the sync log names it and says why, and the other tables keep syncing. A rejected API key fails the whole sync.
  • Not available. Feature adoption statistics, engagement error and collision monitoring, user preferences and Knowledge Center translations (XLIFF) are not extracted.

API Limits & Performance

  • Gainsight PX allows about 200 requests per second and 1 million requests per day per subscription. When Gainsight PX asks the connector to slow down, it waits and tells you in the sync log.
  • Users, accounts and events are read 500 to 1,000 per request. The first sync of the event tables reads the whole history since the Start Date and can take a while on busy products; choose a recent Start Date if you do not need the full history.

Troubleshooting

Skills for agents

Download Gainsight PX skills file

Gainsight PX connector documentation as plain markdown, for use in AI agent contexts.