Skip to main content

Data Source

The Gist connector enables you to ingest contact records, events, tags, segments, campaigns, subscription types, and other workspace data from your Gist account. Follow the instructions below to create a new data flow that ingests data from a Gist source in Nexla.
get_gist_api.png

Gist

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Gist connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Gist instance, and click Next; or, create a new Gist credential for use in this flow.

  3. In Nexla, Gist data sources can be created using pre-built endpoint templates, which expedite source setup for common Gist endpoints. Each template is designed specifically for the corresponding Gist endpoint, making data source setup easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Gist sources can also be configured manually, allowing you to ingest data from Gist endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Gist endpoints. Each template is designed specifically for the corresponding Gist endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List Collections

    Returns a list of all collections in the Gist account. Collections are used to organize knowledge base articles into groups.

    No parameters are required. Use this endpoint to retrieve all knowledge base collections in your Gist workspace.

    List Ecommerce Stores

    Returns a list of all ecommerce stores connected to the Gist account, useful for syncing store configuration or integration data.

    No parameters are required. Requires ecommerce integration to be configured in your Gist workspace.

    List Segments

    Retrieves all contact segments defined in the Gist workspace, enabling you to analyze how contacts are grouped and targeted.

    No parameters are required. The Gist API is rate-limited to 100 requests per 10 seconds per workspace.

    List Drip Campaigns

    Retrieves all drip campaigns available in the Gist workspace, useful for auditing campaign configurations and enrollment conditions.

    No parameters are required. Returns all campaigns regardless of status.

    List Forms

    Retrieves a list of all forms available in the Gist workspace for lead capture and contact data collection.

    No parameters are required. Use this endpoint to retrieve form IDs needed for the Get Form or List Form Submissions endpoints.

    Get Contact

    Retrieves a single Gist contact record by their unique Gist ID, including profile attributes and custom properties.

    • Sends a GET request to https://api.getgist.com/contacts/{id} and returns the full contact object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameter: Id — the unique Gist contact ID.

    Use the List Contacts endpoint to discover valid contact IDs. This endpoint returns a single contact and does not paginate.

    Get Segment

    Retrieves a single Gist segment by its ID, optionally including the count of contacts currently in that segment.

    • Sends a GET request to https://api.getgist.com/segments/{id} with an optional include_count parameter and returns the segment object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameters: Id — the segment ID; Include contact count — whether to include the number of contacts in the segment.

    Including the contact count may slightly increase response time for large segments.

    Get Campaign

    Retrieves the details of a single Gist drip campaign by its ID, including steps, triggers, and configuration settings.

    • Sends a GET request to https://api.getgist.com/campaigns/{id} and returns the campaign object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameter: Id — the unique ID of the campaign to retrieve.

    Use the List Drip Campaigns endpoint to discover valid campaign IDs.

    Get Form

    Returns a single Gist form object by its unique identifier, including field definitions and configuration.

    • Sends a GET request to https://api.getgist.com/forms/{id} and returns the form object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameter: Form ID — the unique ID of the form to retrieve.

    Use the List Forms endpoint to discover valid form IDs.

    List Form Submissions

    Returns a paginated list of all submissions for a given Gist form, enabling you to ingest lead capture data into Nexla.

    The Gist API is rate-limited to 100 requests per 10 seconds. Plan ingestion schedules accordingly for forms with high submission volumes.

    Get Subscription Type

    Returns a single subscription type object by its unique identifier, useful for managing email subscription preferences.

    • Sends a GET request to https://api.getgist.com/subscription_types/{id} and returns the subscription type object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameter: Subscription Type ID — the unique ID of the subscription type.

    Subscription types control which marketing emails contacts can opt into or out of. No additional parameters are required.

    Get Conversation

    Returns a single Gist conversation object by its unique identifier, including conversation metadata and associated contact.

    • Sends a GET request to https://api.getgist.com/conversations/{id} and returns the conversation object.
    • Response data is located at $ (the top-level response object).
    • Configure the following parameter: Conversation ID — the unique ID of the conversation to retrieve.

    Use the List Conversations endpoint to discover valid conversation IDs.

    List Conversation Messages

    Returns all messages within a specific Gist conversation, useful for archiving support conversations or analyzing messaging patterns.

    Messages are returned in chronological order. For long conversations, the response may be large.

    List Contacts

    Retrieves a list of all contacts (users and leads) in the Gist workspace with optional filtering and pagination support.

    • Sends a GET request to https://api.getgist.com/contacts with optional type filter and returns an array of contact objects.
    • Response data is located at $.contacts[*].
    • Configure the following parameter: Contact Type — filter by contact type (e.g., user or lead).

    The Contact Type parameter is optional. Omit it to retrieve all contacts regardless of type. The Gist API is rate-limited to 100 requests per 10 seconds.

    List Events

    Retrieves a paginated list of all events tracked in the Gist workspace, useful for analyzing user interactions and behavioral data.

    No parameters are required. Returns all tracked event definitions across the workspace.

    List Conversations

    Retrieves all conversations available in the Gist workspace with pagination support, useful for exporting support inbox data.

    No parameters are required. Use pagination to retrieve large numbers of conversations incrementally.

    List Knowledge Base Articles

    Retrieves all knowledge base articles available in the Gist workspace with pagination support, enabling content audits and knowledge base synchronization.

    No parameters are required. Each article includes its title, content, collection membership, and publication status.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Gist sources can also be configured to ingest data from any valid Gist API endpoint. Configuration options available for Gist sources allow them to be fully customized to suit any use case—including using chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

First, select the method that will be used for calls to the Gist API from the Method pulldown menu. The most common methods are:

  • GET: For retrieving data from the API
  • POST: For sending data to the API or triggering actions
  • PUT: For updating existing data
  • PATCH: For partial updates to existing data
  • DELETE: For removing data

Most Gist API read operations use the GET method. Use POST when creating new resources or querying endpoints that accept a request body.

API Endpoint URL

  1. Enter the URL of the Gist API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters.

    The Gist API base URL is https://api.getgist.com. Common endpoint paths include:

    • https://api.getgist.com/contacts — Retrieve all contacts in your workspace
    • https://api.getgist.com/contacts/{'{id}'} — Retrieve a single contact by ID
    • https://api.getgist.com/events — Retrieve tracked events
    • https://api.getgist.com/tags — Retrieve all tags
    • https://api.getgist.com/segments — Retrieve all segments
    • https://api.getgist.com/campaigns — Retrieve all campaigns
    • https://api.getgist.com/subscription_types — Retrieve subscription types
    • https://api.getgist.com/teams — Retrieve all teams
    • https://api.getgist.com/teammates — Retrieve all teammates

For complete reference information on available endpoints, parameters, and response formats, visit the Gist Developer Hub.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Date/time macros are especially useful when filtering Gist contacts or events by creation or update timestamps. For example, you can build a URL that retrieves only contacts created after a specific date, enabling incremental data ingestion runs.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when building chained Gist API calls—for example, retrieving a list of contact IDs from one source and using those IDs as parameters in a subsequent request to retrieve detailed contact records.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when API responses contain metadata, pagination information, or other data that you don't need for your analysis.

For example, when calling the Gist contacts endpoint, the API returns an object that includes both a contacts array (the relevant records) and metadata fields such as total_count and pages. By specifying the path to the contacts array, Nexla treats each element of that array as an individual record.

Path to Data is essential when Gist API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.contacts[*] to access the contacts array, or $.data.items[*] to access an array of items within a data object).

    • For responses in XML format, enter the XPath that points to the object/array containing relevant data. XPath uses slash notation (e.g., /response/data/item to access item elements within a data element).

    Path to Data Example:

    If the Gist contacts API response is in JSON format and returns a top-level object with a contacts array, the path to the contact records would be entered as $.contacts[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For example, the Gist contacts API response includes pagination fields such as total_count and pages alongside the contacts array. If you want to preserve this information alongside each contact record, you can specify the path to this metadata.

Metadata paths are particularly useful for preserving Gist API response context like total record counts or pagination details that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata, and for responses in XML format, enter the XPath.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include the Authorization header containing your API key here—Nexla automatically includes it from your saved Gist credential. Common headers like Authorization, Content-Type, and Accept are handled automatically by Nexla based on your credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Rate Limiting

The Gist API is rate-limited to 100 requests per 10 seconds per workspace. When configuring data flows that make frequent or high-volume API calls, plan your ingestion schedules to stay within this limit. Requests that exceed the rate limit will receive an HTTP 429 response.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Gist data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.