PaginatedResponse[DialogueRead]
items object[]required
Unique numeric identifier of the record.
ID of the product (workspace) that owns this record. Most endpoints scope access by product.
customer_id object
Canonical company-level customer ID used for shared communication context; null for legacy dialogues that have not been resolved.
- integer
- null
ID of the agent (a configured AI assistant / bot persona) this record belongs to.
ID of the contact this record relates to.
Creation time (UTC, ISO 8601).
ID of the messaging channel this record relates to.
The channel-specific chat identifier this dialogue maps to.
last_user_msg_id objectrequired
- integer
- null
last_user_msg_at objectrequired
- date-time
- null
last_bot_msg_id objectrequired
- integer
- null
Whether this is the active (primary) dialogue for the agent/contact pair; superseded dialogues are set to false.
When true, the bot will not auto-respond in this dialogue (e.g. after a human takeover).
pending_until objectrequired
When a parked dialogue is resumed (UTC). Null unless the dialogue is parked.
- date-time
- null
pending_type object
Why the dialogue is parked (e.g. follow_up, human_clarification, async_tool, custom_follow_up).
- PendingType
- null
Possible values: [follow_up, human_clarification, async_tool, custom_follow_up, future_meeting]
pending_ref object
Opaque reference associated with the parking episode (a clarification id, a tool call id, …).
- string
- null
pending_id object
Identifier of the current parking episode. A deadline refresh keeps it; a new park replaces it, so a scheduler that acts on an episode can tell whether it is still the one it saw.
- uuid
- null
Monotonic counter bumped by every lifecycle write to the dialogue (movements, parks, unparks, resets). Carry it into a decision made outside the write (an operator UI, a queued job) so the platform can reject the decision when the dialogue has moved on in the meantime.
0started_at objectrequired
When the dialogue first left the initial node (UTC).
- date-time
- null
ext_id objectrequired
External identifier of the conversation in the channel/provider, if any.
- string
- null
waba_opener_sent_after_window_num objectrequired
- integer
- null
Whether this outreach was sent into an existing chat with the contact rather than as a cold outreach. Set when an outreach campaign reuses a channel the contact was already messaged on (the agent's persist_channel_in_outreach option): to the contact it is the same conversation, but the platform counts it against a separate "sub-outreach" daily limit, since messaging platforms (WhatsApp, Telegram, …) are less restrictive inside existing dialogues than for cold outreach.
warmup_pair_id objectrequired
For phone-warmup conversations, the warmup pair this dialogue belongs to.
- integer
- null
Whether the dialogue was started by an inbound message from the contact.
Whether the conversation is a group chat.
skip_response_for_user_msg_id objectrequired
- integer
- null
skip_response_until objectrequired
- date-time
- null
ID of the state-tree node the dialogue currently sits on — its lifecycle state. Always set; the node belongs to the dialogue's agent, and GET /tree/ resolves it to a title, system_kind, is_final and group. A parked dialogue (is_pending) keeps its node and resumes there.
subject objectrequired
Email subject line, for email channels.
- string
- null
Prompt-version IDs of the playbooks this dialogue has enabled, in enable order (by the model through its tool, or by the platform from crm_fields_conditions). Append-only: a playbook is never disabled, at most one version per playbook is held, and the dialogue keeps that version even if the playbook is edited later. Match them against enabled_version_id in the agent's playbook list (GET /prompts/?type=playbook) or against a playbook's version list.
Whether the dialogue is waiting for something (a follow-up time, a manager's answer, a tool result, a meeting) before it acts again. Derived from pending_until. Parking does not move the dialogue: last_tree_node_id still names the node it will resume on.
{
"items": [
{
"id": 0,
"product_id": 0,
"customer_id": 0,
"agent_id": 0,
"contact_id": 0,
"created_at": "2024-07-29T15:51:28.071Z",
"channel_id": 0,
"chat_id": "string",
"last_user_msg_id": 0,
"last_user_msg_at": "2024-07-29T15:51:28.071Z",
"last_bot_msg_id": 0,
"is_main": true,
"bot_muted": true,
"pending_until": "2024-07-29T15:51:28.071Z",
"pending_type": "follow_up",
"pending_ref": "string",
"pending_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"state_revision": 0,
"started_at": "2024-07-29T15:51:28.071Z",
"ext_id": "string",
"waba_opener_sent_after_window_num": 0,
"is_sub_outreach": true,
"warmup_pair_id": 0,
"is_incoming": true,
"is_group_chat": true,
"skip_response_for_user_msg_id": 0,
"skip_response_until": "2024-07-29T15:51:28.071Z",
"last_tree_node_id": 0,
"subject": "string",
"enabled_playbook_version_ids": [
0
],
"is_pending": true
}
],
"page": 0,
"limit": 0,
"total": 0,
"pages": 0
}