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.
- Customer shares a Gainsight API key with Frame.
- Your Chorus Admin retrieves an API key
- 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:
- Secure Gsheet
- Frame Success registers the Gainsight connector in Frame.
- API keys are stored in AWS KMS.
- The connector periodically polls Gainsight’s timeline API to discover new communication events.
- The polling period can be set based on latency goals, typically 10m or 1h.
- Because Gainsight cannot provide an exactly-once iterator of conversations, we poll overlapping periods and deduplicate to minimize risk of missed conversations.
- 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.
- For new activities (i.e., emails), the connector may make additional API calls to resolve properties of entities referenced in the activity record.
- Resolved entities can include “person”, “company”, “relationship”, or specified Custom Objects.
- 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.
- Entity resolution queries are batched by polling period to minimize API calls.
- 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.
Updated 3 months ago