Links

Drift

1. How to connect to Drift?

You can follow the following steps to build a connection with your Drift. If you need any helps to set up your integration, please contact us.
1. Go to the Resources page and click the Add Resource button.
2. In the "Select a data source" step, select Drift under Apps.
3. In the "Configure the data source" step, enter the following information:
  • Access Token: The value of the access token generated. See here to get an access token.
4. In the "Select the tables", choose tables that you want to connect. See here for more details on each table.
5. Click Finish Setup. You will see a
icon next to your Drift resource. It may take a few minutes to several hours depending on the data size and the number of your tables. Once your APP's data is ready, you will receive a notification email.

2. How to generate an access token for Drift?

1. Go to Drift Developer Platform and create a new app by clicking the Build Your App button under Your Apps.
2. Navigate to SETTINGS > OAuth & Scopes. Then, head to the Drift Scopes section and add the following permissions:
  • conversation_read (to access the Conversions table)
  • user_read (to access the User table)
  • account_read (to access the Accounts table)
3. Navigate to ACTIVATE YOUR APP > Installing to Drift, and then click the Install App to Drift button.
4. Copy the OAuth Access token to Acho.

3. How to set up Data Sync?

Acho supports creating schedulers to retrieve the latest data from your Drift account at a certain time interval. To see more details, you can visit here.

4. Available Tables

Accounts

Accounts are used in Drift's paid plans and can be queried/modified using the endpoints described in this section. Accounts can be used for ABM (account-based marketing) in Drift, and can be tied to the display conditions of particular playbooks - enabling account-specific marketing strategies.
Column Name
Type
Description
ownerId
integer
The ID of the owner in Drift (should be a known user ID)
name
string
The name of the company
domain
string
The domain of the company
accountId
string
Identifier for the company (used for lookup)
customProperties
array
List of custom properties associated with the account.
deleted
boolean
Is the account deleted (deleted accounts won't be visible in drift, but are retrievable by id for auditing).
createDateTime
integer
The timestamp creation time of the account
updateDateTime
integer
The timestamp last updated time of the account
targeted
boolean
Is the account currently targeted
Custom Properties:
Field
Type
Description
label
string
The readable name of the property
name
string
The internal name of the property
value
Type (type)
The value of the propertty
type
string
Data type of the property. One of {STRING, EMAIL, NUMBER, TEAMMEMBER, ENUM, DATE, DATETIME, LATLON, LAT, LON, PHONE, URL, ENUMARRAY}

Conversations

Conversations are the core objects in Drift. They represent a series of messages exchanged between a single contact and a group of users. Users are the employees of the organization or a bot. Each conversation has a time-ordered set of messages representing chat messages, internal notes, and metadata events within that communication
Column Name
Type
Description
id
integer
Conversations are uniquely identified by an id, which can be used to check its current state and its messages.
participants
integer
Each conversation has a set of participants; Drift Users who are taking part in, or responsible for communication with the Contact. This field is a set of ids that uniquely identify each User.
status
integer
Conversations in Drift are organized by their status: open Conversations are active and should be responded to, pending ones are waiting on follow up, closed are handled and not actively being communicated with. and bulk_sent are playbook messages that have reached an end user but not been interacted with. Conversations may move in between any of these statuses as users change them or new events cause them (e.g. if a contact sends a new message in a closed conversation, its status will be changed to open).
contactId
integer
The id of the contact that's being communicated with in this conversation as a long value (int64).
createdAt
integer
A Unix timestamp representing the moment that the conversation was created.
updatedAt
integer
A Unix timestamp representing the moment that the conversation was updated. For example, updated due to a status change or new message post.
orgId
integer
The Drift organization this conversation belongs to.
inboxId
integer
The inbox this conversation belongs to, can reconstruct drift conversation links via: https://app.drift.com/inboxes/{inboxId}/conversations/{conversationId}​
conversationTags
array
Any tags applied to the conversation, include their color appearance in the conversation view within drift.
relatedPlaybookId
integer
This is the ID of the playbook that initiated the conversation. Conversations started from the default welcome message will not include a relatedPlaybookId in the conversation payload. This will be included in the response of the GET conversation endpoint if present.

Users

The word "User" is used to describe internal agents to your organization or account - while site visitors or contacts are those that are interacting from your website.
Column Name
Type
Description
id
integer
The Drift identifier for the user. This is will always be numeric.
createdAt
integer
A unix timestamp for when the contact was first captured.
name
string
The name of the user
alias
string
The short hand name for the user (if present)
email
string
The email of the user
phone
string
The phone number associated with the user
locale
string
The locale for the user
availability
string
Description of user's current state: one of "AVAILABLE", "OFFLINE", "ON_CALL".
role
string
Role of Drift user: one of "member", "admin", "agent"
timeZone
string
Timezone for the user represented as a string (if known)
avatarUrl
string
The url for the user's avatar (profile) image
verified
boolean
Is the user account verified? i.e. belongs to an actual person / not manually created?
bot
boolean
Is the user a bot user?
createdAt
integer
Timestamp (milliseconds) representing when the user was created
updatedAt
integer
timestamp (milliseconds) representing when the user was last updated