canonical: https://jentic.com/apis/drift.com/drift

# Drift API

Jentic publishes the only available OpenAPI specification for Drift API, keeping it validated and agent-ready. Drift is a conversational marketing platform that pairs live chat, chatbots, and meeting scheduling with a structured contact and account model. The API exposes conversations, messages, contacts, contact attributes and timeline, users, accounts, meetings, playbooks, and tags - letting external systems both react to and orchestrate Drift conversations. Authentication supports OAuth 2.0 and bearer tokens for app integrations and headless backends respectively.

## For AI agents

Drive Drift conversations, contacts, accounts, and meetings so an agent can respond, route, and enrich in-platform chat activity end to end.

## Scope

Does not handle email campaigns, payment processing, or full CRM pipeline management - use for Drift conversations, contacts, and accounts only.

## Capabilities

- List, retrieve, and update conversations across the Drift inbox
- Send messages and notes into a conversation, including attachments
- Trigger Driftbot interactions or update an in-flight Driftbot message
- Create or update contacts and read their attributes and timeline events
- Manage accounts that group contacts under shared customer entities
- List Drift users to drive routing and assignment workflows
- Schedule meetings, run playbooks, and apply tags to conversations

## Use cases

### Inbound Lead Capture and Enrichment

Capture inbound leads from Drift conversations and enrich the matching contact record with structured firmographic data. The agent watches GET /conversations for new chats, calls POST /contacts to create or update the contact, then writes additional attributes through the contact attributes endpoint. This keeps Drift's contact data clean for downstream MAP and CRM sync.

Example prompt: On a new Drift conversation, POST /contacts with the lead's email and name, then list contact attributes via GET /contacts/attributes and update them with firmographic data.

### Live Conversation Response

Reply to a Drift conversation from an external system - for example, a custom inbox or an LLM-driven assistant. The agent calls POST /conversations/{conversationId}/messages with the reply body and PATCH /conversations/{conversationId} for state changes. Private notes via POST /conversations/{conversationId}/timeline/notes keep agent-only context out of customer view.

Example prompt: POST /conversations/12345/messages with a templated reply, then POST /conversations/12345/timeline/notes with an internal note for the assigned rep.

### Driftbot Orchestration

Use Drift's bot capabilities to qualify leads in-conversation by triggering Driftbot interactions or updating in-flight bot messages. The agent calls POST /conversations/{conversationId}/driftbot/trigger to start a flow and PATCH /conversations/{conversationId}/driftbot to revise a bot prompt mid-conversation, all while staying inside the platform's conversational UX.

Example prompt: Trigger a Driftbot qualification flow on conversation 12345 via POST /conversations/12345/driftbot/trigger and follow up with a PATCH to update the bot message text.

### Account-Based Conversation Routing

Tie Drift conversations to account records so SDR and AE teams see a unified view of inbound activity per target account. The agent uses POST /accounts to keep account state aligned with the CRM and pulls users via GET /users/list to drive routing rules. Tags applied via the tags endpoints make those conversations filterable in reporting.

Example prompt: Upsert the account 'Acme Corp' via POST /accounts, then on each Acme conversation list users via GET /users/list to assign the right SDR.

### AI Agent Conversational Assistant

Through Jentic, an AI agent can take 'reply to that Drift chat with the standard pricing answer' and resolve it to the Drift message creation operation without browsing docs. Jentic injects the OAuth or bearer credential from the vault and validates the message payload schema. End-to-end setup is under an hour from sign-up.

Example prompt: Use Jentic search for 'reply to a Drift conversation', load the POST /conversations/{conversationId}/messages operation, and execute it for conversation 12345 with the reply body.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /conversations | List conversations |
| POST | /conversations/{conversationId}/messages | Create a message in a conversation |
| POST | /conversations/{conversationId}/driftbot/trigger | Trigger a Driftbot interaction |
| POST | /contacts | Create or update a contact |
| GET | /contacts/{contactId}/timeline | Get contact timeline events |
| POST | /accounts | Create an account |
| GET | /users/list | List Drift users |

## Key resources

- **Conversations** — List, retrieve, update, and message into Drift conversations.
- **Contacts** — Manage contact records, attributes, and timeline events.
- **Accounts** — Manage account records that group related contacts.
- **Users** — List Drift users for routing and assignment.
- **Driftbot** — Trigger and update in-conversation Driftbot interactions.

## Why Jentic

- **Setup:** Wiring Drift by hand means running its OAuth 2.0 flow, mapping conversation and contact scopes, and passing the resulting bearer token on every request. Through Jentic you install once, import Drift from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Drift issues OAuth tokens with scopes like conversation_read, conversation_write, and contact_write, so you limit the agent to the operations it needs, such as replying to a conversation or reading a contact timeline. You grant only the matching scopes, so creating contacts or accounts is not included unless you add it.
- **Credential handling:** Your Drift OAuth client credentials and bearer token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'reply to a Drift conversation' or 'create a Drift contact', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without traversing the reference docs.

## Related APIs

- **Intercom API** — Intercom is the closest peer for conversational support and marketing; Drift leans further into B2B account-based motion.
- **HubSpot Marketing API** — HubSpot owns long-lived marketing and CRM context; Drift handles the live conversation.
- **Salesloft API** — Salesloft drives outbound sales sequences; Drift converts inbound chat into the same pipeline.

## FAQ

### Why is there no official OpenAPI spec for Drift API?

Drift does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Drift API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Drift API use?

Drift supports OAuth 2.0 for app integrations and bearer tokens for backend usage. Through Jentic, those credentials live encrypted in the vault and are injected at execution time, so they never enter the agent's context.

### Can I send messages into a Drift conversation?

Yes. POST /conversations/{conversationId}/messages adds a message to an existing conversation, while POST /conversations/{conversationId}/timeline/notes records a private note visible only to assigned reps.

### How do I create a Drift contact through Jentic?

Run pip install jentic, search for 'create a Drift contact', load the POST /contacts operation, and execute it with the contact's email and name. Jentic returns the input schema so the agent builds a valid payload without reading docs.

### Can I trigger Driftbot interactions from the API?

Yes. POST /conversations/{conversationId}/driftbot/trigger starts a Driftbot flow on a specific conversation, and PATCH /conversations/{conversationId}/driftbot updates an in-flight bot message.

### What are the rate limits for the Drift API?

The published spec does not declare explicit per-endpoint limits. Implement client-side backoff and treat 429 responses as the signal to slow down. For app integrations operating across many tenants, confirm thresholds with Drift directly.

### Can I limit what my agent is allowed to do with the Drift API?

Yes. Because you run Jentic One yourself, your own rules decide which Drift operations and credentials the agent may use, and you grant only the OAuth scopes it needs, such as conversation_read or conversation_write for replying to a chat. If you scope the token to reading a contact timeline, the agent cannot create contacts or accounts unless you add contact_write. This keeps the agent bound to a narrow set of operations like posting a message or triggering a Driftbot flow, with everything else out of reach.
