Skip to main content

Converse 2.0 Conversation Status Update Notification

The Conversation Status Update Notification is a webhook. Whenever a conversation changes to a status you have subscribed to, Converse 2.0 calls your destination URL.

Use it when an external system needs to react to conversation lifecycle events โ€” when a conversation is opened, assigned to an agent, read by that agent, or closed.

๐Ÿ“˜

This notification supersedes the older close-only notification, which reported closures alone. This one reports all four statuses.

Requirementsโ€‹

To receive these notifications, you need:

  • A Converse 2.0 account.
  • A destination URL registered with 8x8, one registration per status you want.

๐Ÿ“˜

Registration is done by 8x8 per service, not through an API. Contact your account manager to register or change a destination.

Registrationโ€‹

SettingDescription
Destination URLThe URL to call. For GET it may contain placeholders, which are substituted before the call.
Methodget or post. Defaults to post.
SecretOptional. Passed back to your endpoint as apiSecret so you can validate the call.
Event TypeThe conversation status to subscribe to: open, assigned, read or closed. Defaults to closed when not set.

๐Ÿšง

One registration subscribes to one status. To be notified of more than one status, register one destination per status. The same URL may be used for all of them โ€” so your endpoint must be able to tell the statuses apart by reading conversationStatus.

The destination URL can be the same as, or different from, the MT API's destination URL.

Conversation statusesโ€‹

StatusNotification is sent when
openThe conversation is opened and routed to a queue.
assignedThe conversation is assigned to an agent.
readThe conversation is marked as read by the assigned agent.
closedThe conversation is closed.

๐Ÿšง

A status change caused by a transfer does not trigger a notification. If you rely on these notifications to track conversation ownership, transfers will be invisible to you.

Webhook formatโ€‹

Method: GET or POST to <destination_url>. For POST the parameters are sent in the request body; for GET they are sent in the query string.

Request body description

Parameter nameParameter typeWhen sentDescription
apiSecretstringOnly when a secret is registeredUsed for validation. This is the secret you gave 8x8 โ€” verify it to authenticate the call.
eventTypestringAlwaysAlways the literal value conversationStatus.
conversationUUIDstringAlwaysThe conversation whose status changed.
conversationStatusstringAlwaysThe new status: open, assigned, read or closed.
agentUUIDstringAlwaysThe agent the conversation is assigned to. Empty when the conversation has no agent yet, which is typically the case for open.
contactUUIDstringAlwaysThe contact tagged to the conversation.
contactIdstringAlwaysThe channel identifier the conversation was initiated from โ€” a mobile number for SMS and WhatsApp, a user id for Facebook.

๐Ÿšง

eventType and conversationStatus are different things despite the similar names. eventType is always the string conversationStatus โ€” it identifies the kind of notification, so that one destination URL can distinguish this notification from other Converse 2.0 notifications. The actual conversation status is in the conversationStatus property.

Expected responseโ€‹

Return HTTP 200 to acknowledge the notification.

Sample Webhooksโ€‹

Conversation closedโ€‹

conversationStatus โ€” closed
{
"apiSecret": <YOUR_REGISTERED_SECRET>,
"eventType": "conversationStatus",
"conversationUUID": "7ae6c41a-6fe4-4b5b-8b6d-21a3c4d5e6f7",
"conversationStatus": "closed",
"agentUUID": "7b3cd796-7e74-48af-83e6-2c9a7b1e4d55",
"contactUUID": "1cf2ed48-b259-483d-9065-3a7b9c0d1e2f",
"contactId": "6596270000"
}

Conversation openedโ€‹

agentUUID is empty because the conversation has been routed to a queue but not yet assigned.

conversationStatus โ€” open
{
"apiSecret": <YOUR_REGISTERED_SECRET>,
"eventType": "conversationStatus",
"conversationUUID": "0a4d6ad7-2a2d-4bdc-b7e5-3c4d5e6f7a8b",
"conversationStatus": "open",
"agentUUID": "",
"contactUUID": "1cf2ed48-b259-483d-9065-3a7b9c0d1e2f",
"contactId": "6596270000"
}

Referenceโ€‹