The Drift connector enables you to ingest conversation, contact, account, user, team, playbook, and GDPR data from your Drift organization. Follow the instructions below to create a new data flow that ingests data from a Drift source in Nexla.
Create a New Data Flow
-
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.
-
Select the Drift connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Drift instance, and click Next; or, create a new Drift credential for use in this flow.
-
In Nexla, Drift data sources can be created using pre-built endpoint templates, which expedite source setup for common Drift endpoints. Each template is designed specifically for the corresponding Drift API endpoint, making source configuration easy and efficient.
• To configure this source using a template, follow the instructions in Configure Using a Template.
Drift sources can also be configured manually, allowing you to ingest data from Drift 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.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Drift endpoints. Each template is designed specifically for the corresponding Drift API 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.
Retrieve Conversation
Retrieves the full details for a specific conversation by its unique Drift conversation ID. Use this endpoint when you need to pull metadata and status information for a known conversation — such as creation time, assigned user, contact information, and conversation status (open, closed, or pending).
- Enter the numeric Drift conversation ID in the Conversation ID field. Conversation IDs can be obtained from the Drift UI, from webhook events, or by first running the List Conversations endpoint to enumerate available conversations.
- If no Conversation ID is provided, the request may return an error or empty result. Ensure a valid conversation ID is supplied before testing.
This endpoint retrieves a single conversation record. To retrieve messages within a conversation, use the Get Conversation Messages endpoint. To retrieve the full text transcript, use the Retrieve Conversation Transcript endpoint. For additional details, refer to the Drift Conversations API documentation.
Retrieve Conversation Transcript
Retrieves the full text transcript of all messages exchanged in a specific Drift conversation. Use this endpoint when you need the complete message history for a conversation — for example, for quality assurance review, sales coaching, or compliance archiving.
- Enter the numeric Drift conversation ID in the Conversation ID field. This is the same identifier used in the Retrieve Conversation endpoint.
- The transcript includes all messages in the conversation, including those from the contact, agents, and any bots that participated.
Conversation transcripts can include both human and bot-generated messages. The transcript is returned as an ordered list of message objects. For additional details, refer to the Drift Conversations API documentation.
Get Conversation Messages
Retrieves a paginated list of individual messages from a specific Drift conversation. Use this endpoint when you need structured message-level data from a conversation — for example, for analysis of response times, message content, or bot performance.
- Enter the numeric Drift conversation ID in the Conversation ID field to specify which conversation's messages to retrieve.
- The Next field is a pagination token used to retrieve subsequent pages of results. This field is managed automatically by Nexla when paginating through large result sets — leave it empty for the initial request.
- This endpoint uses token-based pagination. Nexla will automatically follow pagination tokens to retrieve all available messages when this source is executed.
Message data includes the message body, sender ID, message type, and timestamp. This endpoint returns data from the $.data[*] path in the API response. For additional details, refer to the Drift developer documentation.
List Conversations
Returns a paginated list of conversations in your Drift organization, optionally filtered by conversation status. Use this endpoint to retrieve a broad set of conversations for reporting, auditing, or synchronizing conversation data to an external system.
Enter a value in the Limit field to control the maximum number of conversations returned per page. Leave this field empty to use the Drift API default page size.
Enter a value in the Status ID field to filter results by conversation status. Common Drift status IDs include:
- 1 — Open conversations
- 2 — Closed conversations
- 3 — Pending conversations
- This endpoint uses token-based pagination. Nexla will automatically follow pagination tokens to retrieve all matching conversations when this source is executed.
Conversation data is returned from the $.data[*] path in the API response. For additional details on status IDs and response fields, refer to the Drift API documentation.
Retrieve Contact
Retrieves the full profile details for a specific Drift contact by its unique contact ID. Contacts in Drift represent people external to your organization who have interacted with your chatbots or been added through integrations. Use this endpoint to pull a single contact's attributes, custom fields, and engagement data.
- Enter the numeric Drift contact ID in the Contact ID field. Contact IDs can be obtained from the Drift UI, from conversation records, or by first using the Get Contacts by Email endpoint to look up a contact by email address.
Contact records include standard fields (name, email, phone) as well as any custom attributes configured for your Drift organization. For additional details, refer to the Drift Contacts API documentation.
Get Contacts by Email
Searches for Drift contacts by email address or by an external identifier. Use this endpoint when you need to look up contacts using an email address or a non-Drift identifier such as a CRM record ID or external system ID.
- Enter the email address to search for in the Email field. This performs a search against the email attribute of all contacts in your Drift organization.
- To search by an external identifier instead of email, enter the identifier type in the ID Type field (for example,
externalId) and the corresponding identifier value in the ID field. - Enter a numeric value in the Limit field to control the maximum number of contact records returned. Leave this field empty to use the Drift API default.
- Contact results are returned from the
$.contacts[*] path in the API response.
You can search using either the Email field alone or a combination of the ID Type and ID fields. For additional details on external ID types, refer to the Drift Contacts API documentation.
List Custom Attributes
Returns a list of all custom contact attributes defined in your Drift organization. Use this endpoint to discover what custom fields are available for contacts in your account — useful for mapping Drift contact attributes to fields in other systems.
- No additional parameters are required for this endpoint. Nexla will retrieve all custom attributes configured for contacts in your Drift account automatically.
- Results are returned from the
$.data[*] path in the API response, with each element representing one custom attribute definition.
Custom attribute definitions include the attribute name, data type, and label. For additional details, refer to the Drift API documentation.
Get User
Retrieves the profile and availability information for a single Drift user (agent) by their unique user ID. Users in Drift are members of your organization — agents, managers, or admins — who interact with contacts through conversations or manage the platform.
- Enter the numeric Drift user ID in the User ID field. User IDs can be obtained from the Drift UI or by first using the List Users endpoint to enumerate all users in your organization.
User data includes the agent's name, email, availability status, and role. For additional details, refer to the Drift API documentation.
Get Multiple Users
Retrieves profile information for one or more Drift users in a single API call by providing their user IDs. Use this endpoint when you need to retrieve data for a known set of users without enumerating all users in the organization.
- Enter one or more Drift user IDs in the User IDs field. To retrieve multiple users, provide the IDs as a comma-separated list (for example,
12345,67890). - Results are returned from the
$.data[*] path in the API response.
List Users
Returns a complete list of all users (agents) in your Drift organization. Use this endpoint to retrieve a full roster of your Drift team members, including their IDs, names, email addresses, and availability statuses — for example, to synchronize your Drift users with an external HR or CRM system.
- No additional parameters are required for this endpoint. Nexla will retrieve all users in your Drift organization automatically.
- Results are returned from the
$.users[*] path in the API response.
Retrieve Account
Retrieves the details for a single Drift account by its unique account ID. Accounts in Drift represent companies or organizations associated with your contacts, and typically correspond to records in your CRM. Use this endpoint when you need to pull the attributes, domain, and custom properties for a specific account.
- Enter the numeric Drift account ID in the Account ID field. Account IDs can be obtained from the Drift UI or by first using the List Accounts endpoint to enumerate accounts in your organization.
List Accounts
Returns a paginated list of all accounts in your Drift organization. Use this endpoint to synchronize your Drift account records with an external system such as a CRM, data warehouse, or analytics platform.
- No additional parameters are required for this endpoint. Nexla will automatically paginate through all available accounts using offset-based pagination.
- Results are returned from the
$.accounts[*] path in the API response.
This endpoint uses offset-based pagination with a default page size of 100 records. Nexla handles pagination automatically when running this source. For additional details, refer to the Drift Accounts API documentation.
Retrieve Bot Playbooks
Returns a list of all bot playbooks configured in your Drift organization. Playbooks are automated conversation workflows that define how Drift's chatbot interacts with website visitors. Use this endpoint to audit your playbook library, track active playbooks, or synchronize playbook configuration with an external system.
- No additional parameters are required for this endpoint. Nexla will retrieve all playbooks configured in your Drift account automatically.
- Results are returned from the
$.playbooks[*] path in the API response.
Retrieve Conversational Landing Pages
Returns a list of all Conversational Landing Pages (CLPs) configured in your Drift organization. CLPs are standalone pages that replace traditional lead capture forms with real-time Drift conversations, allowing visitors to engage directly with your chatbot or sales team. Use this endpoint to audit your CLP library or synchronize CLP configuration with external reporting tools.
- No additional parameters are required for this endpoint. Nexla will retrieve all CLPs configured in your Drift account automatically.
- Results are returned from the
$.clps[*] path in the API response.
List Teams in Organization
Returns a list of all teams defined in your Drift organization. Teams are groups of Drift users (agents) that can be assigned to conversations or targeted by playbooks. Use this endpoint to audit your team structure or synchronize team data with an external system.
- No additional parameters are required for this endpoint. Nexla will retrieve all teams in your Drift organization automatically.
- Results are returned from the
$.teams[*] path in the API response.
List Teams by User
Returns a list of all Drift teams that a specific user belongs to. Use this endpoint when you need to determine a user's team memberships — for example, to understand routing configurations or to synchronize user-team relationships with an external system.
- Enter the numeric Drift user ID in the User ID field. The teams that this user belongs to will be returned in the response.
- Results are returned from the
$.teams[*] path in the API response.
Get Token Information
Returns metadata and scope information about a given Drift access token. Use this endpoint to verify the scopes, organization, and user associated with an access token — useful for validating credential configuration or auditing token permissions.
- Enter the Drift access token you want to inspect in the Access Token field. The API will return information about this token, including its associated scopes and organization.
GDPR Data Retrieval
Retrieves all personal data stored in Drift that is associated with a specific email address, in support of GDPR data access requests. Use this endpoint when responding to a data subject access request (DSAR) to compile all information Drift holds about an individual.
- Enter the email address of the data subject in the Email Address field. Drift will return all personal data associated with this email address from across your organization's Drift account.
- Results are returned from the
$.data[*] path in the API response.
This endpoint is intended for compliance use cases and should be used in accordance with your organization's GDPR data handling policies. For additional details, refer to the Drift GDPR API documentation.
Search Users via SCIM
Returns a list of Drift users using the SCIM (System for Cross-domain Identity Management) protocol. SCIM is an open standard used for automating the provisioning and deprovisioning of user accounts between identity providers (such as Okta or Azure AD) and applications. Use this endpoint to synchronize Drift user data with your identity management system.
- No additional parameters are required for this endpoint. Nexla will retrieve all SCIM user records in your Drift organization automatically.
- Results are returned from the
$.Resources[*] path in the API response, following the SCIM schema.
SCIM user records follow the SCIM 2.0 schema and include standard user attributes such as userName, displayName, and emails. For additional details, refer to the Drift SCIM API documentation.
Get User via SCIM
Retrieves a single Drift user by their SCIM ID using the SCIM protocol. Use this endpoint when you need to retrieve the SCIM-formatted profile for a specific user — for example, to verify provisioning status or synchronize a user record with an identity provider.
- Enter the SCIM user ID in the Id field. This is the SCIM-assigned identifier for the user, which may differ from the standard Drift user ID.
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.
Drift data sources can be manually configured to ingest data from any valid Drift API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.
With manual configuration, you can also create more complex Drift sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request parameters.
API Method
-
To manually configure this source, select the Advanced tab at the top of the configuration screen.
-
Select the API method that will be used for calls to the Drift API from the Method pulldown menu. The most common methods for Drift data retrieval are:
- GET: For retrieving data from the API (conversations, contacts, users, accounts, etc.)
- POST: For endpoints that use POST requests to retrieve data (such as GDPR data retrieval and token information)
API Endpoint URL
-
Enter the URL of the Drift 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 base URL for the Drift API is https://driftapi.com. For example, to list all accounts, the full URL would be https://driftapi.com/accounts.
Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. For a complete list of available Drift API endpoints and their URL patterns, refer to the Drift API documentation.
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.
Macros are particularly useful for Drift APIs that accept date range query parameters, such as endpoints that filter conversations or contacts by creation date or last updated date.
-
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
-
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}.
-
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 you need to construct Drift API URLs that reference specific conversation IDs, contact IDs, or account IDs retrieved from another Nexla source in your environment.
-
To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.
-
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.
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 Drift API responses contain metadata, pagination information, or other data that you don't need for your analysis.
For example, when a request call is used to fetch a list of contacts, the Drift API will typically return an array of contact records within a contacts key, along with pagination metadata. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.
Path to Data is essential when Drift API responses have nested structures. Common Drift response paths include $.data[*] for paginated resource lists, $.contacts[*] for contact searches, $.users[*] for user lists, and $.accounts[*] for account lists.
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.
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, a Drift API response for a paginated list will typically include the relevant data array alongside pagination metadata (such as a next token). If you have specified the path to the data array but want to preserve the pagination metadata alongside each record, you can specify a path to this metadata.
Metadata paths are particularly useful for preserving Drift API response context such as pagination tokens, request IDs, or summary statistics that apply to all records in the response.
-
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 or content type specifications.
You do not need to include the Authorization header. Nexla automatically includes the Bearer token from your Drift credential in every API request.
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.
Save & Activate the Source
- 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 Drift 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.