DialogueDetailRead
Single-dialogue response wrapper with the dialogue record and optional voice-call metadata.
dialogue objectrequired
A dialogue is a single conversation between an agent and a contact over one messaging channel. It tracks the conversation stage, whether the bot is muted, pending follow-up state, and references to the last user/bot messages.
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.
Lifecycle stage of the dialogue. Backend-managed values: "initial" (created), "attempted" (initial message send attempted), "started" (initial send confirmed), "ongoing" (the user has replied at least once). Other values: "pending" (awaiting a scheduled follow-up), "failed" (delivery failed), "redirected" (conversation moved to another contact), "finished" (reached a final state-tree node). The values "refused", "success", "disqualified" and "escalated" are deprecated.
Possible values: [initial, attempted, started, ongoing, pending, failed, redirected, finished, refused, success, disqualified, escalated]
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 pending dialogue should be resumed (UTC).
- date-time
- null
pending_type object
Why the dialogue is pending (e.g. follow_up, human_clarification, n8n_async_tool, custom_follow_up).
- PendingType
- null
Possible values: [follow_up, human_clarification, n8n_async_tool, custom_follow_up, future_meeting]
pending_ref object
Opaque reference associated with the pending state.
- string
- null
started_at objectrequired
When the dialogue stage first became "started" (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
last_tree_node_id objectrequired
ID of the state-tree node the dialogue currently sits on.
- integer
- null
subject objectrequired
Email subject line, for email channels.
- string
- null
voice_call object
Voice-call metadata for this dialogue, or null when the dialogue is not a voice call.
- VoiceCallRead
- null
ID of the dialogue (conversation) this record relates to.
Stable call identifier assigned by the voice runtime.
Voice provider identifier. Public API value is voice.
voicesip_call_id objectrequired
Optional SIP-side call identifier, when the call used SIP.
- string
- null
sip_code objectrequired
Optional SIP status or termination code reported by the voice runtime.
- integer
- null
Voice call lifecycle status — active, completed, or failed.
Possible values: [active, completed, failed]
direction objectrequired
Whether the call is inbound or outbound.
- string
- null
Possible values: [inbound, outbound]
When the voice call started (UTC).
ended_at objectrequired
When the voice call ended (UTC), if it has ended.
- date-time
- null
duration_seconds objectrequired
Total call duration in seconds, if known.
- integer
- null
recording_s3_key objectrequired
S3 object key for the call recording, if one was produced.
- string
- null
usage_metadata objectrequired
Free-form usage metrics reported by the voice runtime, for example token, audio, or provider usage counters.
Free-form usage metrics reported by the voice runtime, for example token, audio, or provider usage counters.
latency_metadata objectrequired
Free-form latency metrics reported by the voice runtime, for example STT, LLM, TTS, or end-to-end timing.
Free-form latency metrics reported by the voice runtime, for example STT, LLM, TTS, or end-to-end timing.
Creation time (UTC, ISO 8601).
Last modification time (UTC, ISO 8601).
{
"dialogue": {
"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,
"stage": "initial",
"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",
"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"
},
"voice_call": {
"dialogue_id": 0,
"external_call_id": "string",
"provider": "voice",
"sip_call_id": "string",
"sip_code": 0,
"status": "active",
"direction": "inbound",
"started_at": "2024-07-29T15:51:28.071Z",
"ended_at": "2024-07-29T15:51:28.071Z",
"duration_seconds": 0,
"recording_s3_key": "string",
"usage_metadata": {},
"latency_metadata": {},
"created_at": "2024-07-29T15:51:28.071Z",
"updated_at": "2024-07-29T15:51:28.071Z"
}
}