Skip to main content
Gainsight Inc.

Gainsight PX AWS S3 Integration

Overview

This article explains how you can enable Gainsight PX’s integration with AWS S3 to export usage data. When a connection to your S3 bucket is configured, Gainsight PX will periodically export user, account, and event data rollups to the S3 bucket in the format (JSON, XML or CSV) you choose. For more information about S3, refer to the Amazon S3 site.

Benefits

The advantages of integrating Gainsight PX with S3 are:

  • Store usage data for further processing by other services such as security logs and for future reference
  • Integrating with data warehouse platforms
  • Run machine-learning algorithms

Prerequisite

S3 Credentials

Make sure that you already possess an AWS S3 bucket with valid credentials and write permission to the bucket.

Time Zone

Make sure your time zone is set as per your location, PX exports the data to your S3 bucket every few hours and completes it by EOD. For example: In order to create the daily rollups for user events, PX sums up all events for the day based on your timezone.

Configure your time zone:

Navigate to Settings > Company Details > Time Zone.

Time zone.png

Integrate S3 Export

To create a connection between Gainsight PX and S3 bucket:

  1. Login to Gainsight PX with your personal credentials. Gainsight PX Dashboard is displayed.
  2. Navigate to Settings > Integrations.
    Integrations.png
  3. Click the Settings icon or Authorize button on the Amazon S3 Export card. AWS S3 Settings dialog appears.
  4. Enter the following details to access your S3 Bucket:
    • S3 Bucket Name: Bucket name and any optional sub-folder(s) separated by slashes. This is the name of the bucket that was created in S3. For Example, to export files to a bucket called ABC123 with a folder called “export” use ABC123/export.
    • Credentials of your S3 bucket AWS Access Key and AWS Security Token. Ensure that you enter valid credentials to establish an S3 integration.
  5. Choose data type from the Export Format drop-down list
    • CSV
    • JSON
    • XML
      Export Formats.png
  6. Click Apply. The system displays the message “Amazon S3 details successfully Saved”.
  7. If the credentials of your S3 bucket are correct and valid, the status of integration changes to Authorized. Also, you can see the Synchronize button.
    Synchronize.png
  8. System will export the daily updates every day at midnight (Refer Time Zone above) and will include data for the previous day.
    Success.png
  9. Once you click on the Synchronize button, the system displays a message when the next sync is scheduled.
    amazon sync.png
    Click the Disable Integration icon to disable integration if required, in future.
    Trash.png
  10. An Integration to your AWS S3 bucket is established now.

Export Files Definition

Below are definitions of the output files, including field names and types. Once you receive the data from S3 bucket, use the information below to help you write and process the data. The files are compressed using gzip.

Filename Structure:
The filenames are of the form:

GainsightPX_{ExtractType}_{ISODateTime}.{json|csv|xml}.gz

Below tables give an overview about each export at its summary level.

Export Type: Account Exports

Export Summary
Accounts Account attributes
Account_Custom_Event_Rollups Daily counts of custom events, grouped by day, account, event
Account_Email_Engagement_Rollups Daily counts of email engagements, grouped by day, account, engagement, eventType
Account_Event_Rollups Daily counts of FORM_SUBMIT, PAGE_VIEW, SEGMENT, SESSION_INITIALIZED events grouped by day, account, eventType
Account_Feature_Match_Rollups Daily counts of feature matches, grouped by day, account, feature
Account_InApp_Event_Rollups Daily counts of In-App engagements, grouped by day, account, engagement, eventType

Export Type: User Exports

Export Summary
User_Custom_Event_Rollups Daily counts of custom events grouped by day,user,productKey, account, event
User_Engagement_Rollups Daily counts of In-App engagements grouped by day, user, propertyKey, account, engagement, eventType
User_Event_Rollups Daily counts of FORM_SUBMIT, PAGE_VIEW, SEGMENT, SESSION_INITIALIZED events grouped by day, user, productKey, account, eventType
User_Feature_Rollups Daily counts of feature matches grouped by day, user, propertyKey, account, feature
Users User attributes

Export Type: Survey/Feedback Exports

Export Summary
Survey_Responses Surveys Response events
Feedback_Responses Feedback events

Export Type: Metadata Exports

Export Summary
Engagements Engagement attributes
Features Feature attributes

Export File Column Definitions

Name: GainsightPX_Accounts

Content: Account attributes

Field Name Field Type
id String
name String
lastModifiedDate String
createDate String
plan String
numberOfEmployees Long
isDeleted Boolean
naicsCode String
trackedSubscriptionId String
sfdcId String
lastSeenDate String
industry String
dunsNumber String
sicCode String
website String
totalUsers Long
dailyActiveUsers Long
monthlyActiveUsers Long
location_* Location (See Below)
customAttribute_{customAttributeApiName} type varies

Name: GainsightPX_Account_Custom_Event_Rollups

Content: Account Custom Event Rollup attributes

Field Name Field Type
date String
accountId String
eventName String
count Long

Name: GainsightPX_Account_Email_Engagement_Rollups

Content: Account Email Engagement Rollup attributes

Field Name Field Type
date String
accountId String
engagementId String
engagementName String
type String
count Long

Name: GainsightPX_Account_Event_Rollups

Content: Account Event Rollup attributes

Field Name Field Type
date String
accountId String
type String
count Long

Name: GainsightPX_Account_Feature_Match_Rollups

Content: Account Feature Match Rollup attributes

Field Name Field Type
date String
accountId String
featureId String
count Long
featureName String
featurePath String

Name: GainsightPX_Account_InApp_Event_Rollups

Content: Account InApp Event Rollup attributes

Field Name Field Type
date String
accountId String
engagementId String
engagementName String
type String
count Long

Name: GainsightPX_User_Custom_Event_Rollups

Content: User Custom Event Rollup attributes

Field Name Field Type
date String
identifyId String
productKey String
accountId String
eventName String
count Long

Name: GainsightPX_User_Engagement_Rollups

Content: User Engagement Rollup attributes

Field Name Field Type
date String
identifyId String
productKey String
accountId String
engagementId String
engagementName String
type String
count Long

Name: GainsightPX_User_Event_Rollups

Content: User Event Rollup attributes

Field Name Field Type
date String
identifyId String
accountId productKey
productKey String
type String
count Long

Name: GainsightPX_User_Feature_Rollups

Content: User Feature Rollup attributes

Field Name Field Type
date String
identifyId String
accountId String
productKey String
featureId String
count Long
featureName String
featurePath String

Name: GainsightPX_Users

Content: User attributes

Field Name Field Type
aptrinsicId String
email String
identifyId String
accountId String
firstName String
lastName String
lastInferredDataSyncDate String
webAppVisits Long
globalUnsubscribe Boolean
signUpDate String
leadId String
leadDate String
createDate String
trackedUserRole String
type String
lastModifiedDate String
numberOfVisits Long
gender String
isDeleted Boolean
lastSeenDate String
score Long
phone String
firstVisitDate String
title String
sfdcContactId String
location_* Location (See Below)
lastInferredOrganization_name String
lastInferredOrganization_numberOfEmployees String
lastInferredOrganization_revenue String
lastInferredOrganization_industry String
lastInferredOrganization_sicCode String
lastInferredOrganization_duns String
lastInferredOrganization_naicsCode String
lastInferredOrganization_webDomain String
lastInferredOrganization_orbNum String
lastInferredOrganization_parentOrbNum String
lastInferredOrganization_location_* Location (See Below)
lastInferredLocation_* Location (See Below)
lastUserAgentData_rawUserAgent String
lastUserAgentData_device String
lastUserAgentData_platformType String
astUserAgentData_platformVersion String
lastUserAgentData_browserType String
lastUserAgentData_browserVersion String
ustomAttribute_{customAttributeApiName} type varies

 Name: GainsightPX_Survey_Responses

Content: Survey Response attributes

Field Name Field Type
date String
identifyId String
productKey String
accountId String
engagementId String
score Int
comment String
type String

Name: GainsightPX_Feedback_Responses

Content: Feedback Response attributes

Field Name Field Type
date String
identifyId String
productKey String
accountId String
subject String
category String
description String
labels String

Name: GainsightPX_Engagements

Content: Engagement attributes

Field Name Field Type
id String
name String
type String

 Name: GainsightPX_Features

Content: Feature attributes

Field Name Field Type
id String
name String
type String
parentFeatureId String
propertyKey String
status String
type String

Name: Location

Content: Location fields

Field Name Field Type
countryCode String
countryName String
stateCode String
stateName String
cityName String
continentCode String
postalCode String
regionName String
timeZone String
street String
  • Was this article helpful?