Conversation Model

Conversation objects in Drift represent a communication between an organization and one of their Contacts. Each Conversation has a (time) ordered set of Messages representing chat messages, internal notes, and metadata events within that communication.

Schema

{
  "id": int,
  "orgId": int,
  "participants": [int],
  "status": {open, closed, pending},
  "contactId": int,
  "inboxId": int,
  "createdAt": timestamp
}

Field Explanation

Field Name
Description

id

Conversations are uniquely identified by an id, which can be used to check its current state and its messages.

participants

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

Conversations in Drift are organized by their status: open Conversations are active and should be responded to, pending ones are waiting on follow up, and closed are handled and not actively being communicated 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

The id of the Contact that's being communicated with in this Conversation.

createdAt

A Unix timestamp representing the moment that the conversation was created.

orgId

The Drift organization this Conversation belongs to.

inboxId

The inbox this conversation belongs to, can reconstruct drift conversation links via:
https://app.drift.com/inboxes/{inboxId}/conversations/{conversationId}

Conversation Model