Connecting Gainsight NXT

N.B. Gainsight is classified as a "Custom API Connection" due to the flexibility required, so it is requires a bit of extra handoff compared to our standard connectors.

  1. Customer shares a Gainsight API key with Frame.
    1. Your Chorus Admin retrieves an API key
    2. Your Chorus Admin shares the API key with Success team via your preferred secret sharing method. Frame engineering stores this key in Amazon KMS. Examples:
      1. Secure Gsheet
      2. Keybase
      3. 1password
      4. Lastpass
  2. Frame Success registers the Gainsight connector in Frame.
    1. API keys are stored in AWS KMS.
  3. The connector periodically polls Gainsight’s timeline API to discover new communication events.
    1. The polling period can be set based on latency goals, typically 10m or 1h.
    2. Because Gainsight cannot provide an exactly-once iterator of conversations, we poll overlapping periods and deduplicate to minimize risk of missed conversations.
    3. At a customer's request, Frame can backfill prior data by setting the processing start date to be in the past. Note this uses more API calls to complete.
  4. For new activities (i.e., emails), the connector may make additional API calls to resolve properties of entities referenced in the activity record.
    1. Resolved entities can include “person”, “company”, “relationship”, or specified Custom Objects.
    2. The token must have permission query specific fields on the above schema for use in Frame as User or Org profile data, and/or attached tags. This mapping may differ based on the Gainsight implementation.
    3. Entity resolution queries are batched by polling period to minimize API calls.
  5. Re-identification of users / accounts is done via email address associated with “participants” in the Gainsight activities.

The above logic for processing new data results in ~5 API calls per 1000 emails, provided that approximately 1000 emails arrive in between polling periods. Greater efficiency is possible with longer polling periods, but this is generally a small fraction of API allowance.