Contact Center Webhooks
- OpenAPI Version:
3.1.1 - API Version:
1.0.0
The Zoom Contact Center webhooks allow developers to receive events for Contact Center features.
Servers
- URL:
https://{your-endpoint-url}
Operations
contact_center.task_created
- Method:
POST - Path:
contact_center.task_created - Tags: Tasks
The Task created event is triggered when a task is created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_follow_up_task_updated
- Method:
POST - Path:
contact_center.engagement_follow_up_task_updated - Tags: Follow-up Tasks
The Engagement follow-up task updated event is triggered when a follow-up task is updated in an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement follow-up task updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated follow-up task.content(required)string— The follow-up task content after the update.date_time_ms(required)string, format:date-time— The date and time when the follow-up task was updated, in millisecond.engagement_id(required)string— The engagement ID.task_id(required)string— The follow-up task ID.user_id(required)string— The ID of the user who updated the task.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"engagement_id": "",
"user_id": "",
"content": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_downloaded
- Method:
POST - Path:
contact_center.inbox_message_downloaded - Tags: Inboxes
The Inbox message downloaded event is triggered when a message is downloaded.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message downloaded subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the downloaded inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message is downloaded, to the millisecond.download_type(required)string, possible values:"Recording", "Transcript"— The message's download type.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"download_type": "Recording",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_follow_up_task_created
- Method:
POST - Path:
contact_center.engagement_follow_up_task_created - Tags: Follow-up Tasks
The Engagement follow-up task created event is triggered when a follow-up task is created in an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement follow-up task created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created follow-up task.content(required)string— The follow-up task content.date_time_ms(required)string, format:date-time— The date and time when the follow-up task was created, in milliseconds.engagement_id(required)string— The engagement ID.task_id(required)string— The follow-up task ID.user_id(required)string— The ID of the user who created the task.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"engagement_id": "",
"user_id": "",
"content": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_reopened
- Method:
POST - Path:
contact_center.inbox_message_reopened - Tags: Inboxes
The Inbox message reopened event is triggered when a resolved message is reopened.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message reopened subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the reopened inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was reopened, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.consumer_messaging_opt_out
- Method:
POST - Path:
contact_center.consumer_messaging_opt_out - Tags: Consumer Actions
The Consumer messaging opt out event is triggered when a consumer opts out of receiving messages from a Zoom Contact Center messaging channel.
For SMS, this event is triggered when the consumer sends a STOP keyword or a campaign-configured opt-out keyword in an SMS message.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Consumer messaging opt out subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer opt-out event.date_time_ms(required)string, format:date-time— The time of the opt-out event, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the opt-out.smsobject— The SMS opt-out details.campaign_idstring— The 10DLC campaign ID. Returned only when the campaign is configured to apply opt-in and opt-out preferences to all phone numbers associated with the campaign.consumer_numberstring— The consumer's phone number in E.164 format.contact_center_numberstring— The Contact Center phone number in E.164 format.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"sms": {
"consumer_number": "",
"contact_center_number": "",
"campaign_id": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_conference_warm_invite_executed
- Method:
POST - Path:
contact_center.call_control_conference_warm_invite_executed - Tags: Call Control
The Call Control Conference Warm Invite executed event is triggered when starting a conference warm invitation by using Command control of a user.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call Control Conference Warm Invite executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The name of the event.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The ID of the account.object(required)object— Information about the executed call control conference warm invite.conference_id(required)string— The ID of the conference.date_time_ms(required)string, format:date-time— The date and time when starting a conference warm invitation by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The ID of the engagement.request_id(required)string— The ID of the app request.user_id(required)string— The ID of the user.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "contact_center.call_control_conference_warm_invite_executed",
"event_ts": 1767076587049,
"payload": {
"account_id": "zPd1zOyTRlSAQh70ltxTIw",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"conference_id": "b765b61c-7dc8-4c95-b0b9-f2468b7187d1",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_disposition_set_unassigned
- Method:
POST - Path:
contact_center.queue_disposition_set_unassigned - Tags: Queues
The Queue disposition set unassigned event is triggered when Disposition set is removed from the queue.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue disposition set unassigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition set(s) unassigned from the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition set(s) were unassigned from.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition set(s) were removed from the queue, in milliseconds.disposition_sets(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"disposition_sets": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_supervisor_assigned
- Method:
POST - Path:
contact_center.queue_supervisor_assigned - Tags: Queues
The Queue supervisor assigned event is triggered when a supervisor is assigned to the queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Queue supervisor assigned subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned queue supervisor.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the supervisor was assigned to the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the supervisor was assigned to the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_monitor_started
- Method:
POST - Path:
contact_center.engagement_monitor_started - Tags: Supervisor Actions
The Monitoring started on an engagement event is triggered when the user starts monitoring for an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Monitoring started on an engagement subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement monitor.action_type(required)string, possible values:"barge", "listen", "whisper"— The monitor's action type. * `barge` - Voice channel support. * `listen` - Voice channel support. * `whisper` - Voice channel support.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor starting time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.monitoring_user_display_name(required)string— The monitoring user's display name.monitoring_user_id(required)string— The monitoring user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's Contact Center phone number.date_timestring, format:date-time— The monitor starting time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"action_type": "barge",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"monitoring_user_id": "",
"monitoring_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_monitor_ended
- Method:
POST - Path:
contact_center.engagement_monitor_ended - Tags: Supervisor Actions
The Monitoring ended on an engagement event is triggered when the user ends monitoring on an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Monitoring ended on an engagement subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the ended engagement monitor.action_type(required)string, possible values:"barge", "listen", "whisper"— The monitor's action type. * `barge` - Voice channel support. * `listen` - Voice channel support. * `whisper` - Voice channel support.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.monitoring_user_display_name(required)string— The monitoring user's display name.monitoring_user_id(required)string— The monitoring user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's contact center phone number.date_timestring, format:date-time— The monitor end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"action_type": "barge",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"monitoring_user_id": "",
"monitoring_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_note_added
- Method:
POST - Path:
contact_center.engagement_note_added - Tags: Notes
The Engagement note added event is triggered when a user adds a note to an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement note added subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the added engagement note.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the note was added, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.last_modified_time(required)string, format:date-time— The date and time when the note was last modified in the admin portal.note(required)string— The note's content.note_id(required)string— The note's unique ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.channel_typestring, possible values:"default", "voice", "sms", "chat", "phone"— The task's channel type.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the note was added, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The engagement's queue's ID.queue_namestring— The engagement's queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"note_id": "",
"note": "",
"last_modified_time": "",
"channel": "voice",
"channel_source": "in_app_video",
"engagement_id": "",
"engagement_direction": "inbound",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.outbound_campaign_dialer_status
- Method:
POST - Path:
contact_center.outbound_campaign_dialer_status - Tags: Campaigns
The Outbound campaign dialer status event is triggered when an outbound campaign dialer is executed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Outbound campaign dialer status subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the outbound campaign dialer status.campaign_dialer_status(required)string, possible values:"consumer_answer", "consumer_no_answer", "consumer_reject", "agent_abandoned", "number_invalid", "number_blocked", "other_errors", "consumer_busy"— The call result.date_time_ms(required)string, format:date-time— The campaign dialer execution time, to the millisecond.engagement_id(required)string— The engagement's ID.date_timestring, format:date-time— The campaign dialer execution time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.external_engagement_idstring— External engagement's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"external_engagement_id": "",
"campaign_dialer_status": "consumer_answer",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_make_call_executed
- Method:
POST - Path:
contact_center.call_control_make_call_executed - Tags: Call Control
The Call control make call executed event is triggered when an engagement is created by using Command control of a User.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call control make call executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control make call.date_time_ms(required)string, format:date-time— The date and time when an engagement was created by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"teams": null,
"date_time_ms": "",
"division_name": "",
"division_id": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_opt_out
- Method:
POST - Path:
contact_center.user_opt_out - Tags: Agent Actions
The User opt out event is triggered when a user opts out of a queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User opt out subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user queue opt-out.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the user opted out of a queue, to the millisecond.display_name(required)string— The user's display name.queue_name(required)string— The queue's name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user opted out of a queue, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_resolved
- Method:
POST - Path:
contact_center.inbox_message_resolved - Tags: Inboxes
The Inbox message resolved event is triggered when an agent or supervisor resolves a voicemail.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message resolved subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the resolved inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was resolved, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_invited
- Method:
POST - Path:
contact_center.engagement_conference_participant_invited - Tags: Conference
The Engagement conference participant invited event is triggered when a participant is invited to an engagement conference.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference participant invited subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant's engagement conference invitation.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant was invited to the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.invited_participant(required)object— The participant being invited to join the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"invited_participant": {
"participant_phone_number": "",
"participant_user_id": "",
"participant_queue_id": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_canceled
- Method:
POST - Path:
contact_center.task_reservation_canceled - Tags: Task Reservations
The User canceled a task reservation event is triggered when a user cancels a task queue reservation.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User canceled a task reservation subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_consumer_sent_file
- Method:
POST - Path:
contact_center.engagement_consumer_sent_file - Tags: Consumer Actions
The Engagement consumer sent file event is triggered when the customer sends files.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement consumer sent file subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement customer sent files.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.files(required)array— The file details.Items: file_id(required)string— The file's unique ID.file_name(required)string— The file's name.file_size(required)integer, format:int64— The file's size.file_type(required)string, possible values:"Image", "Audio", "Video", "File", "Link"— The file's type.download_urlstring— Attachment download link.
user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"division_id": "",
"division_name": "",
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"files": [
{
"file_id": "",
"file_name": "",
"file_size": 1,
"file_type": "Image",
"download_url": ""
}
]
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_created
- Method:
POST - Path:
contact_center.queue_created - Tags: Queues
The Queue created event is triggered when a task queue is created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue was created, to the millisecond. Refer to `queue_created_time` for a more accurate time when the queue was created.auto_close_alert_messagestring— A warning message is sent before auto close.auto_close_alert_message_enabledboolean— If enabled, a warning message is sent before auto close.auto_close_alert_message_timeinteger— Auto close alert message time, to the minute.auto_close_messagestring— A warning message is sent when auto close.auto_close_message_enabledboolean— If enabled, a warning message is sent when auto closed.auto_close_timeoutinteger— Auto close message time, to the minute.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "messaging", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - Voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— Distribution duration, to the second.distribution_typeinteger— Distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.holding_media_idstring— Media ID to use while users are on hold. Channel type - Voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - Voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - Chat, SMSoverflow_to_cc_queue_idstring— Contact Center queue ID. If the overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.overflow_to_flow_idstring— Flow ID. If the overflow type is `flow`, the consumer is routed to this flow when the wait time is exceeded.overflow_to_goodbye_messageboolean— If enabled, a goodbye message plays and then disconnects when the wait time is exceeded.overflow_to_inbox_idstring— Inbox ID. If the overflow type is `inbox`, the consumer is routed to this inbox when the wait time is exceeded.overflow_to_queue_idstring— Queue ID. If the overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.queue_created_timestring, format:date-time— The queue creation time, to the millisecond.queue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.recording_storage_locationstring— The recording storage location.service_level_exclude_abandoned_quit_engagementsboolean— If enabled, abandon quit engagements are excluded from total inbound messaging engagements.service_level_exclude_long_abandoned_callsboolean— If enabled, long-abandoned calls are excluded from all inbound calls.service_level_exclude_short_abandoned_callsboolean— If enabled, short-abandoned calls are excluded from all inbound calls.service_level_target_in_percentageinteger— A target for the service level as the benchmark to refer to in reports.service_level_threshold_in_secondsinteger— If channel type is voice or video, this threshold is answer time by agents for all inbound calls. Otherwise, this threshold is first message speed by agents for all engagements.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting is enabled.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.transferring_media_idstring— Media ID to use while users are being transferred. Channel type - Voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - Voicewaiting_room_idstring— ID of the waiting room for users. Channel type - Videowaiting_room_namestring— Name of the user's waiting room. Channel type - Videowrap_up_expirationboolean— If enabled, engagements auto close at the end of the wrap-up duration.wrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"channel_types": [
"voice"
],
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"wrap_up_expiration": true,
"overflow_to_goodbye_message": true,
"overflow_to_cc_queue_id": "",
"overflow_to_flow_id": "",
"overflow_to_inbox_id": "",
"auto_close_message_enabled": true,
"auto_close_message": "",
"auto_close_timeout": 1,
"auto_close_alert_message_enabled": true,
"auto_close_alert_message": "",
"auto_close_alert_message_time": 1,
"recording_storage_location": "",
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1,
"queue_created_time": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_opened
- Method:
POST - Path:
contact_center.inbox_message_opened - Tags: Inboxes
The Inbox message opened event is triggered when an agent or supervisor plays the voicemail recording or views the transcript.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message opened subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the opened inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was opened, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_transcript_completed
- Method:
POST - Path:
contact_center.recording_transcript_completed - Tags: Recordings
The Recording transcript completed event is triggered when an engagement's recording transcript is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording transcript completed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed recording transcript.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.transcript_url(required)string— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing Contact Center recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, either the queue ID or user ID.owner_namestring— The recording's owner name, either the queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_durationinteger— The recording's duration, to the second.recording_end_timestring, format:date-time— The recording's end time, to the second.recording_end_time_msstring, format:date-time— The recording's end time, to the millisecond.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"recording_end_time_ms": "",
"recording_type": "on_demand",
"recording_duration": 1,
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"transcript_url": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.business_hours_created
- Method:
POST - Path:
contact_center.business_hours_created - Tags: Operating Hours
The Business hours created event is triggered when the business hours are created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Business hours created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created business hours.account_default(required)boolean— Default business hours for the newly created queue.business_hour_id(required)string— The business hours' ID.business_hour_name(required)string— The business hours' name.date_time_ms(required)string— The date and time when the business hours are created, to the millisecond.hours(required)object— Information about the hours.custom_hoursarray— The custom hours' settings. Returned only for the `Custom hours` type.Items: custom_hour_rangesarray— The custom hours' range. Returned only for the `Customized hours` type.Items: end_timestring— The custom hours' end time, in `HH:mm` and `24-hour clock` format.start_timestring— The custom hours' start time, in `HH:mm` and `24-hour clock` format.
custom_hour_typeinteger, possible values:0, 1, 2— The type of custom hours. * `0` - Disabled. * `1` - 24 hours. * `2` - Customized hours.day_of_weekinteger, possible values:1, 2, 3, 4, 5, 6, 7— The day of the week. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - Sunday
hour_typeinteger, possible values:1, 2— The type of business hours. * `1` - 24 hours, 7 days a week. * `2` - Custom hours.
modified_by(required)string— The ID of the user that last modified this data.timezone(required)string— The business hours' timezone ID.business_hour_descriptionstring— The business hours' description.date_timestring— The date and time when the business hours are created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"business_hour_name": "",
"business_hour_description": "",
"timezone": "",
"account_default": true,
"hours": {
"hour_type": 1,
"custom_hours": [
{
"day_of_week": 1,
"custom_hour_type": 0,
"custom_hour_ranges": [
{
"start_time": "",
"end_time": ""
}
]
}
]
},
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_canceled
- Method:
POST - Path:
contact_center.engagement_conference_participant_canceled - Tags: Conference
The Engagement conference participant canceled event is triggered when a participant's conference invitation is canceled.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference participant canceled subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement conference participant.canceled_participant(required)object— The participant whose conference invitation is canceled.participant_phone_numberstring— The participant's phone numberparticipant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when a participant's conference invitation is canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"canceled_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_disposition_assigned
- Method:
POST - Path:
contact_center.queue_disposition_assigned - Tags: Queues
The Queue disposition assigned event is triggered when Disposition is assigned to the queue.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue disposition assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition(s) assigned to the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition(s) were assigned to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition(s) were assigned to the queue, in milliseconds.dispositions(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"dispositions": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_paused
- Method:
POST - Path:
contact_center.recording_paused - Tags: Recordings
The Recording paused event is triggered when an engagement's recording is paused.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording paused subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's paused recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's pause time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's pause time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as the queue ID or user ID.owner_namestring— The recording's owner name, such as the queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_supervisor_unassigned
- Method:
POST - Path:
contact_center.queue_supervisor_unassigned - Tags: Queues
The Queue supervisor unassigned event is triggered when a supervisor is removed from the queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Queue supervisor unassigned subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned queue supervisor.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the supervisor was removed from the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the supervisor was removed from the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_updated
- Method:
POST - Path:
contact_center.user_updated - Tags: Users
The User updated event is triggered when a user is updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated user.date_time_ms(required)string, format:date-time— The date and time when the user was updated, to the millisecond.updates(required)object— Information about the updated user.channel_settingsobject— Information about the channel settings.concurrent_email_capacityinteger— The maximum number of concurrent email conversations that can be assigned to a user.concurrent_message_capacityinteger— The maximum number of concurrent messaging conversations that can be assigned to a user.email_occupiedboolean— Mark the user's status as “Occupied” if they lack capacity for an additional active email engagement.messaging_occupiedboolean— Mark the user's status as “Occupied” if they lack capacity for an additional active messaging engagement.multi_channel_engagementsobject— Information about the setting's multi-channel engagements.email_max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this is the maximum load percentage that a user needs to take in order to receive voice and video calls. This value is based on the engagements the user is currently handling.enableboolean— Whether to allow users to receive voice or video engagements while handling chat and SMS engagements based on the `max_agent_load` value.max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this shows the maximum load percentage an user needs to undertake in order to receive voice and video calls. This value is based on the engagements the user is currently handling.
client_integrationstring, possible values:"Default", "Salesforce", "Zendesk", "ServiceNow", "Microsoft_Dynamics_365"— The Contact Center's client integration.country_iso_codestring— The [ISO country code](/docs/api/references/abbreviations/#countries).emergency_callingboolean— Allow users to contact emergency services through their device's native phone system or Zoom Phone.external_urlobject— Launch a URL for incoming calls.enableboolean— If set to `true`, Enable Launch will be activated.external_launch_urlstring— Enable Launch.
role_idstring— The user's role ID.role_namestring— The user's role name.status_idstring— The user's status ID.status_namestring, possible values:"Offline", "Ready", "Not Ready", "Occupied"— The user's status name.sub_status_idstring— The user's reason ID when the user status is `Not Ready`sub_status_namestring— The user's reason when the user status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](https://developers.zoom.us/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status_category.user_accessstring, possible values:"active", "inactive"— The user's access status. * `active` - The user's role permissions allow them to access the Contact Center. * `inactive` - The user cannot access the Contact Center.user_add_ons_plansarray— The user's Contact Center add-ons plan.Items: add_ons_plan_namestring, possible values:"ai_expert_assist", "zoom_contact_center_for_service_cloud_voice"— The Contact Center add-ons plan's name.
user_intentsarray— The user's intents.Items: intent_group_idstring— The intent's group ID.intent_idstring— The intent's ID.
user_packageobject— The user's Contact Center plan.package_namestring, possible values:"essentials", "premium", "elite"— The Contact Center plan's name.
user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user was updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"role_id": "",
"role_name": "",
"status_id": "",
"status_name": "Offline",
"sub_status_id": "",
"sub_status_name": "",
"client_integration": "Default",
"user_access": "active",
"country_iso_code": "",
"channel_settings": {
"multi_channel_engagements": {
"enable": true,
"max_agent_load": 1,
"email_max_agent_load": 1
},
"concurrent_message_capacity": 0,
"concurrent_email_capacity": 0,
"messaging_occupied": true,
"email_occupied": true
},
"emergency_calling": true,
"external_url": {
"enable": true,
"external_launch_url": ""
},
"user_intents": [
{
"intent_group_id": "Ql3qxUWXSHes4PmcOmzyOg",
"intent_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"user_package": {
"package_name": "essentials"
},
"user_add_ons_plans": [
{
"add_ons_plan_name": "ai_expert_assist"
}
]
}
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_rejected
- Method:
POST - Path:
contact_center.engagement_conference_participant_rejected - Tags: Conference
The Engagement conference participant rejected event is triggered when a participant rejects an invitation to join the engagement conference.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference participant rejected subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant's rejected engagement conference participant.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant rejected the invitation to join the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.rejecting_participant(required)object— The participant who rejected the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"rejecting_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_muted
- Method:
POST - Path:
contact_center.engagement_user_muted - Tags: Agent Actions
The Engagement user muted event is triggered when a user goes on mute or is muted in an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user muted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user muted in the engagement.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The user's muted time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's muted time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_unmuted
- Method:
POST - Path:
contact_center.engagement_user_unmuted - Tags: Agent Actions
The Engagement user unmuted event is triggered when a user comes off of mute in an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user unmuted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user that unmuted in the engagement.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The user's unmuted time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's unmuted time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_phone_numbers_assigned
- Method:
POST - Path:
contact_center.user_phone_numbers_assigned - Tags: Users
The User phone numbers assigned event is triggered when phone numbers are assigned to a user.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User phone numbers assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user's assigned phone numbers.date_time_ms(required)string, format:date-time— The date and time when the user phone numbers were assigned to the user, to the millisecond.display_name(required)string— The user's display name.phone_numbers(required)array— The phone numbers assigned to the user.Items: phone_number(required)string— The phone number in E164 format.phone_number_id(required)string— The phone number's ID.
role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"phone_numbers": [
{
"phone_number": "+18005551212",
"phone_number_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_wrap_up_started
- Method:
POST - Path:
contact_center.engagement_wrap_up_started - Tags: Wrap Up
The Engagement wrap up started event is triggered when a wrap up starts for an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification endpoint URL.
- The Engagement wrap up started subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement wrap up.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement wrap up started, to the millisecond.engagement_direction(required)string, possible values:"outbound", "inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement wrap up started, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"engagement_id": "",
"engagement_direction": "outbound",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.closure_updated
- Method:
POST - Path:
contact_center.closure_updated - Tags: Operating Hours
The Closure updated event is triggered when the closure is updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Closure updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the closure set.closure_set_id(required)string— The closure set's ID.date_time_ms(required)string— The date and time when the closure set is updated, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.updates(required)object— Information about the updated closure set.account_defaultboolean— Default closure for the newly created queue.closure_set_descriptionstring— The closure set's description.closure_set_namestring— The closure set's name.closuresarray— Information about the updated closures.Items: closure_id(required)string— The closure's ID.closure_hour_typeinteger, possible values:1, 2— The closure's time type. * `1` - All day. * `2` - Customized time.closure_namestring— The closure's name.end_timestring, format:datetime— The closure's end time.recurring_days_of_weekarray— The week days of a recurrence. Returns only for the `Weekly/Customized`, the `Weekly/Specific`, the `Annually/Customized`, and the `Monthly/Customized` recurrence time types. When the type is `Weekly/Customized`, there may be multiple values. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - SundayItems: integer, possible values:1, 2, 3, 4, 5, 6, 7recurring_frequencyinteger, possible values:0, 1, 2, 3— The frequency of a closure's recurrence. * `0` - Never. * `1` - Annually. * `2` - Monthly. * `3` - Weekly.recurring_frequency_typeinteger, possible values:1, 2— The closure time's type of recurrence. Applies to `Annually`, `Monthly`, and `Weekly` repeat frequency. Returns only for the not `Never` recurrence type. * `1` - Specific. * `2` - Customized.recurring_monthinteger, possible values:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12— The recurrence month. Returns only for the `Annually` recurrence type. * `1` - January * `2` - February * `3` - March * `4` - April * `5` - May * `6` - June * `7` - July * `8` - August * `9` - September * `10` - October * `11` - November * `12` - Decemberrecurring_week_intervalinteger— The number of weekly recurrences. Returns only for the `Customized` recurrence time types. When the type is `Annually/Customized` or `Monthly/Customized`, the minimum value is `1` and the maximum value is `5`. When it is `Weekly/Customized`, the minimum value is `1` and the maximum value is `12`.start_timestring, format:datetime— The closure's start time.
timezonestring— The closure set's timezone ID.
date_timestring— The date and time when the closure is updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"closure_set_name": "",
"closure_set_description": "",
"timezone": "",
"account_default": true,
"closures": [
{
"closure_id": "",
"closure_name": "",
"closure_hour_type": 1,
"start_time": "",
"end_time": "",
"recurring_frequency": 0,
"recurring_frequency_type": 1,
"recurring_month": 1,
"recurring_week_interval": 1,
"recurring_days_of_week": [
1
]
}
]
}
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_messaging_transcript_completed
- Method:
POST - Path:
contact_center.engagement_messaging_transcript_completed - Tags: Transcriptions
The Messaging transcript completed event is triggered when an engagement messaging transcript is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- Enable the Messaging transcript completed subscription under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement messaging transcript.channel(required)string, possible values:"messaging"— The task's channel. * `messaging`date_time_ms(required)string, format:date-time— The date and time when the messaging transcript was completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.transcript_url(required)string— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing Contact Center recording scopes, use the user's [OAuth access token](/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`channel_sourcestring, possible values:"in_app_chat", "web_chat", "whatsapp", "facebook_messenger", "sms"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.date_timestring, format:date-time— The date and time when the messaging transcript was completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "in_app_chat",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"transcript_url": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_deleted
- Method:
POST - Path:
contact_center.recording_deleted - Tags: Recordings
The Recording deleted event is triggered when an engagement's recording is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's deleted recording.date_time_ms(required)string, format:date-time— The date and time when the recording was deleted, to the millisecond.recording_id(required)string— The recording's unique ID.date_timestring, format:date-time— The date and time when the recording was deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_agent_unassigned
- Method:
POST - Path:
contact_center.queue_agent_unassigned - Tags: Queues
The Queue agent unassigned event is triggered when an agent is removed from the queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Queue agent unassigned subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned queue agent.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the agent was removed from the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the agent was removed from the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_completed
- Method:
POST - Path:
contact_center.engagement_transfer_completed - Tags: Transfer
The Engagement transfer completed event is triggered when an engagement transfer is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer completed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement transfer.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "did"— The transfer level.transfer_to_cc_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_updated
- Method:
POST - Path:
contact_center.team_updated - Tags: Teams
The Team updated event is triggered when a team is updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was updated, to the millisecond.team_id(required)string— The team's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.team_descriptionstring— The team's description.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Updated Sales Team",
"team_description": "This is the updated sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-15T09:27:15.988Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_dtmf_sent
- Method:
POST - Path:
contact_center.engagement_user_dtmf_sent - Tags: Agent Actions
The Engagement user DTMF sent event is triggered when a user uses dual tone multi-frequency (DTMF) in an engagement.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user DTMF sent subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement user-sent DTMF.channel(required)string, possible values:"voice"— The task's channel. * `voice`date_time_ms(required)string, format:date-time— The engagement dual tone multi-frequency input time, to the millisecond.dtmf_input(required)string— The engagement dual tone multi-frequency input digit.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type. * `voice`consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The engagement dual tone multi-frequency input time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"dtmf_input": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_inbound_sla_updated
- Method:
POST - Path:
contact_center.queue_inbound_sla_updated - Tags: Queues
The Queue inbound sla updated event is triggered when the queue's inbound service level is updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue inbound sla updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue's inbound service level.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue service level is updated, to the millisecond.updates(required)object— Information about the updated queue's inbound service level.service_level_exclude_abandoned_quit_engagementsboolean— The service level, excluding abandoned quit engagements.service_level_exclude_long_abandoned_callsboolean— The service level, excluding long abandoned calls.service_level_exclude_short_abandoned_callsboolean— The service level, excluding short abandoned calls.service_level_target_in_percentageinteger— Set a target percentage for service levels, as a benchmark for reports.service_level_threshold_in_secondsinteger— The amount of time the consumer waits for the call to be answered, to the second.
date_timestring, format:date-time— The date and time when the queue service level is updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"date_time_ms": "",
"cc_queue_id": "",
"division_id": "",
"division_name": "",
"updates": {
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1
}
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_consumer_sent_message
- Method:
POST - Path:
contact_center.engagement_consumer_sent_message - Tags: Consumer Actions
The Engagement consumer sent message event is triggered when a consumer sends a message.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement consumer sent message subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's consumer-sent message.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.message_text(required)string— The message's content.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"message_text": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_consumer_notified
- Method:
POST - Path:
contact_center.engagement_consumer_notified - Tags: Consumer Actions
The Engagement consumer notified event is triggered when an agent sends an invite link to or calls a consumer in a video or voice engagement, and the consumer has yet to respond.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement consumer notified subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement consumer notified.channel(required)string, possible values:"voice", "video"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's ring time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_invite_emailstring— The consumer's invite email.consumer_invite_numberstring— The consumer's invite phone number.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The consumer's ring time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"division_id": "",
"division_name": "",
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_invite_number": "",
"consumer_invite_email": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_stopped
- Method:
POST - Path:
contact_center.recording_stopped - Tags: Recordings
The Recording stopped event is triggered when an engagement's recording is stopped.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording stopped subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's stopped recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's stop time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's stop time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, either a queue ID or user ID.owner_namestring— The recording's owner name, either a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` — This recording belongs to a user. * `queue` — This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` — Manually trigger recording. * `automatic` — Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_deleted
- Method:
POST - Path:
contact_center.user_deleted - Tags: Users
The User deleted event is triggered when a user is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted user.date_time_ms(required)string, format:date-time— The date and time when the user was deleted, to the millisecond.users(required)array— The user's information, when the user is deleted.Items: user_id(required)string— The user's ID.
date_timestring, format:date-time— The date and time when the user was deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"division_id": "",
"division_name": "",
"date_time_ms": "",
"users": [
{
"user_id": ""
}
]
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_deleted
- Method:
POST - Path:
contact_center.task_deleted - Tags: Tasks
The Task deleted event is triggered when a task is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_wrap_up_ended
- Method:
POST - Path:
contact_center.engagement_wrap_up_ended - Tags: Wrap Up
The Engagement wrap up ended event is triggered when a wrap up ends for an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification endpoint URL.
- The Engagement wrap up ended subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the ended engagement wrap up.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement wrap up ended, to the millisecond.engagement_direction(required)string, possible values:"outbound", "inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement wrap up ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"engagement_id": "",
"engagement_direction": "outbound",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_timeout
- Method:
POST - Path:
contact_center.engagement_conference_participant_timeout - Tags: Conference
The Engagement conference participant timeout event is triggered when a participant's conference invitation times out.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference participant timeout subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement conference participant timeout.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone numberparticipant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when a participant's conference invitation times out, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.timed_out_participant(required)object— The participant whose conference invitation timed out.participant_phone_numberstring— The participant's phone numberparticipant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's IDteam_namestring— The team's name
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"timed_out_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_hold
- Method:
POST - Path:
contact_center.engagement_user_hold - Tags: Agent Actions
The Engagement user hold event is triggered when a user goes on hold in an engagement.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user hold subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user on hold in the engagement.channel(required)string, possible values:"voice", "video"— The task's channel.date_time_ms(required)string, format:date-time— The user's hold time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's hold time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_rejected
- Method:
POST - Path:
contact_center.engagement_transfer_rejected - Tags: Transfer
The Engagement transfer rejected event is triggered when an engagement transfer is rejected.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer rejected subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the rejected engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is rejected, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is rejected, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_status_changed
- Method:
POST - Path:
contact_center.user_status_changed - Tags: Agent Actions
The User status changed event is triggered when a user status is changed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User status changed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user status change.current_status_id(required)string— The user's current status ID.current_status_name(required)string— The user's current status name.date_time_ms(required)string, format:date-time— The date and time when the user's status was last changed, to the millisecond.display_name(required)string— The user's display name.previous_status_id(required)string— The user's previous status ID.previous_status_name(required)string— The user's previous status name.user_id(required)string— The user's ID.current_sub_status_idstring— The user's current reason ID when the user current status is `Not Ready`.current_sub_status_namestring— The user's current reason when the user current status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status category. **Default `Not Ready` reasons** * Break * End Shift * Forced * Meal * Meeting * Trainingdate_timestring, format:date-time— The date and time when the user's status was last changed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.previous_sub_status_idstring— The user's previous reason ID when the user previous status is `Not Ready`.previous_sub_status_namestring— The user's previous reason when the user previous status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status category. **Default `Not Ready` reasons** * Break * End Shift * Forced * Meal * Meeting * Trainingteamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"previous_status_id": "",
"previous_status_name": "",
"previous_sub_status_id": "",
"previous_sub_status_name": "",
"current_status_id": "",
"current_status_name": "",
"current_sub_status_id": "",
"current_sub_status_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_updated
- Method:
POST - Path:
contact_center.task_updated - Tags: Tasks
The Task updated event is triggered when a task is updated.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's [flow](https://support.zoom.us/hc/en-us/articles/4472928851469-Managing-flows) ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's assignment status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_resumed
- Method:
POST - Path:
contact_center.recording_resumed - Tags: Recordings
The Recording resumed event is triggered when an engagement's recording is resumed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording resumed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's resumed recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's resumption time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's resumption time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as a queue ID or user ID.owner_namestring— The recording's owner name, such as a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_disposition_added
- Method:
POST - Path:
contact_center.engagement_disposition_added - Tags: Dispositions
The Engagement disposition added event is triggered when a user completes a disposition for the engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement disposition added subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement disposition.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The engagement's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement disposition was added, to the millisecond.disposition_id(required)string— The disposition's ID.disposition_name(required)string— The disposition's name.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.last_modified_time(required)string, format:date-time— The date and time when the disposition was last modified in the admin portal.modified_by(required)string— The ID of the user who last modified the disposition.status(required)string, possible values:"inactive", "active"— The disposition's active status. * `inactive` - Deactivated. * `active` - Activated.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The channel's ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat"— The channel's type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's display name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement disposition was added, to the second.disposition_descriptionstring— The disposition's description.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"disposition_id": "",
"disposition_name": "",
"disposition_description": "",
"status": "inactive",
"last_modified_time": "",
"modified_by": "",
"engagement_id": "",
"engagement_direction": "inbound",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"channel": "voice",
"channel_source": "in_app_video",
"user_id": "",
"user_display_name": "",
"teams": null,
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"consumer_email": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.asset_created
- Method:
POST - Path:
contact_center.asset_created - Tags: Asset Library
The Asset created event is triggered when a new asset is created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Asset created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the added asset.asset_id(required)objectasset_language_code(required)objectasset_name(required)objectasset_type(required)objectdate_time_ms(required)objectmodified_by(required)objectasset_descriptionobjectasset_itemsobjectcategory_idobjectcategory_nameobjectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"asset_name": null,
"asset_description": null,
"asset_type": null,
"asset_language_code": null,
"asset_items": null,
"category_id": null,
"category_name": null,
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_members_unassigned
- Method:
POST - Path:
contact_center.team_members_unassigned - Tags: Teams
The Team members unassigned event is triggered when supervisors or agents are unassigned from a team.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team members unassigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned members.date_time_ms(required)string, format:date-time— The date and time when a user is unassigned from the team.team_id(required)string— The team's ID.team_role(required)string, possible values:"supervisor", "agent"— The user's role in the team.user_ids(required)array— The user's ID list assigned to the team.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"user_ids": "[IGTRVt3gQ2i-WjoUIjeZxw,T_X0vrroQPO4UwXGNeBS8A]",
"team_role": "supervisor",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-16T09:27:15.987Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_disposition_set_assigned
- Method:
POST - Path:
contact_center.queue_disposition_set_assigned - Tags: Queues
The Queue disposition set assigned event is triggered when Disposition set is assigned to the queue.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue disposition set assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition set(s) assigned to the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition set(s) were assigned to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition set(s) were assigned to the queue, in milliseconds.disposition_sets(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"disposition_sets": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_answer_call_executed
- Method:
POST - Path:
contact_center.call_control_answer_call_executed - Tags: Call Control
The Call control answer call executed event is triggered when a call is answered by using Command control of a user.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call control answer call executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control answer call.date_time_ms(required)string, format:date-time— The date and time when a call was answered by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "contact_center.call_control_answer_call_executed",
"event_ts": "1767076587049",
"payload": {
"account_id": "zPd1zOyTRlSAQh70ltxTIw",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_deleted
- Method:
POST - Path:
contact_center.team_deleted - Tags: Teams
The Team deleted event is triggered when a team is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team is deleted.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.parent_team_idstring— The team's parent team ID.parent_team_namestring— The team's parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Sales Team",
"team_description": "This is the sales team",
"parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"parent_team_name": "Online sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-19T09:27:15.988Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_end_call_executed
- Method:
POST - Path:
contact_center.call_control_end_call_executed - Tags: Call Control
The Call control end call executed event is triggered when a call is ended by using Command control of a user.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call control end call executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control end call.date_time_ms(required)string, format:date-time— The date and time when a call was ended by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"teams": null,
"date_time_ms": "",
"division_name": "",
"division_id": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.cx_engagement_end_data_ready
- Method:
POST - Path:
contact_center.cx_engagement_end_data_ready - Tags: Reports V2 (CX Analytics)
The CX Engagement End Data Ready event is triggered when all post-engagement data is available for the CX report.
For full engagement details, use the corresponding List historical engagement log data API to retrieve the data.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The CX Engagement End Data Ready subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement-end report V2 data.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement-end data is ready, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.start_time(required)string, format:date-time— The date and time when the engagement started, to the millisecond.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"start_time": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_upgrade_expired
- Method:
POST - Path:
contact_center.engagement_upgrade_expired - Tags: Upgrade
The Engagement Upgrade Expired event is triggered when a Contact Center voice or messaging engagement being upgraded to video is expired.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- Enable the Engagement Upgrade Expired subscription under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the expired engagement's upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement expired, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement expired, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement expired.flow_namestring— The flow name where the engagement expired.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel's type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_consumer_ended
- Method:
POST - Path:
contact_center.engagement_consumer_ended - Tags: Consumer Actions
The Engagement consumer ended event is triggered when a consumer ends an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement consumer ended subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer ended engagement.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The consumer's end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_deleted
- Method:
POST - Path:
contact_center.queue_deleted - Tags: Queues
The Queue deleted event is triggered when a task queue is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted task queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue was deleted, to the millisecond.auto_close_alert_messagestring— Warning message sent before auto close.auto_close_alert_message_enabledboolean— If enabled, a warning message is sent before auto close.auto_close_alert_message_timeinteger— Auto close alert message time, to the minute.auto_close_messagestring— Warning message, will sent when auto close.auto_close_message_enabledboolean— If enabled, a warning message is sent when auto close.auto_close_timeoutinteger— Auto close message time, to the minute.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "messaging", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— Distribution duration, to the second.distribution_typeinteger— Distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSoverflow_to_cc_queue_idstring— The Contact Center queue's ID. If overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.overflow_to_flow_idstring— Flow ID. If overflow type is `flow`, the consumer is routed to this flow when the wait time is exceeded.overflow_to_goodbye_messageboolean— If enabled, a goodbye message plays and then disconnects when the wait time is exceeded.overflow_to_inbox_idstring— Inbox ID. If overflow type is `inbox`, the consumer is routed to this inbox when the wait time is exceeded.overflow_to_queue_idstring— Queue ID. If overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.queue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.recording_storage_locationstring— The recording storage location.service_level_exclude_abandoned_quit_engagementsboolean— If enabled, abandon quit engagements are excluded from total inbound messaging engagements.service_level_exclude_long_abandoned_callsboolean— If enabled, long-abandoned calls are excluded from all inbound calls.service_level_exclude_short_abandoned_callsboolean— If enabled, short-abandoned calls are excluded from all inbound calls.service_level_target_in_percentageinteger— A target for service level as the benchmark to refer to in reports.service_level_threshold_in_secondsinteger— If channel type is `voice` or `video`, this threshold is answer time by agents for all inbound calls. Otherwise, this threshold is first message speed by agents for all engagements.short_abandon_enableboolean— Whether the **Short Abandon** setting is enabled.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.transferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_expirationboolean— If enabled, engagements auto close at the end of wrap-up duration.wrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"channel_types": [
"voice"
],
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"wrap_up_expiration": true,
"overflow_to_goodbye_message": true,
"overflow_to_cc_queue_id": "",
"overflow_to_flow_id": "",
"overflow_to_inbox_id": "",
"auto_close_message_enabled": true,
"auto_close_message": "",
"auto_close_timeout": 1,
"auto_close_alert_message_enabled": true,
"auto_close_alert_message": "",
"auto_close_alert_message_time": 1,
"recording_storage_location": "",
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.business_hours_updated
- Method:
POST - Path:
contact_center.business_hours_updated - Tags: Operating Hours
The Business hours updated event is triggered when the business hours are updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Business hours updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the business hours.business_hour_id(required)string— The business hours' ID.date_time_ms(required)string— The date and time when the business hours are updated, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.updates(required)object— Information about the updated business hours.account_defaultboolean— Default business hours for the newly created queue.business_hour_descriptionstring— The business hours' description.business_hour_namestring— The business hours' name.hoursobject— Information about the hours.custom_hoursarray— The custom hours' settings. Returned only for the `Custom hours` type.Items: custom_hour_rangesarray— The custom hours' range. Returned only for the `Customized hours` type.Items: end_timestring— The custom hours' end time, in `HH:mm` and `24-hour clock` format.start_timestring— The custom hours' start time, in `HH:mm` and `24-hour clock` format.
custom_hour_typeinteger, possible values:0, 1, 2— The type of custom hours. * `0` - Disabled. * `1` - 24 hours. * `2` - Customized hours.day_of_weekinteger, possible values:1, 2, 3, 4, 5, 6, 7— The day of the week. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - Sunday
hour_typeinteger, possible values:1, 2— The type of business hours. * `1` - 24 hours, 7 days a week. * `2` - Custom hours.
timezonestring— The business hours' timezone ID.
date_timestring— The date and time when the business hours are updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"updates": {
"business_hour_name": "",
"business_hour_description": "",
"timezone": "",
"account_default": true,
"hours": {
"hour_type": 1,
"custom_hours": [
{
"day_of_week": 1,
"custom_hour_type": 0,
"custom_hour_ranges": [
{
"start_time": "",
"end_time": ""
}
]
}
]
}
},
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_hold_call_executed
- Method:
POST - Path:
contact_center.call_control_hold_call_executed - Tags: Call Control
The Call control hold call executed event is triggered when an active call is placed on hold by using Command control of a user.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call control hold call executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control hold call.date_time_ms(required)string, format:date-time— The date and time when an active call is placed on hold by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_agent_assigned
- Method:
POST - Path:
contact_center.queue_agent_assigned - Tags: Queues
The Queue agent assigned event is triggered when an agent is assigned to the queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Queue agent assigned subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned queue agent.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the agent was assigned to the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the agent was assigned to the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_joined
- Method:
POST - Path:
contact_center.engagement_conference_participant_joined - Tags: Conference
The Engagement conference participant joined event is triggered when the participant joins an engagement conference.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference paricipant joined subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement conference participant joined.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant joined the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.joining_participant(required)object— The participant who joined the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"joining_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.business_hours_deleted
- Method:
POST - Path:
contact_center.business_hours_deleted - Tags: Operating Hours
The Business hours deleted event is triggered when the business hours are deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Business hours deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted business hours.business_hour_id(required)string— The business hours' ID.date_time_ms(required)string— The date and time when the business hours are deleted, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.date_timestring— The date and time when the business hours are deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_completed
- Method:
POST - Path:
contact_center.task_completed - Tags: Tasks
The Task completed event is triggered when a user completes a task.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task completed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_deleted
- Method:
POST - Path:
contact_center.inbox_message_deleted - Tags: Inboxes
The Inbox message deleted event is triggered when an agent or supervisor soft deletes or hard deletes a voicemail.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was deleted, to the millisecond.delete_type(required)string, possible values:"Soft delete", "Hard delete"— The message's delete type.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"delete_type": "Soft delete",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_created
- Method:
POST - Path:
contact_center.task_reservation_created - Tags: Task Reservations
The User created a task reservation event is triggered when a user creates a task queue reservation.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User created a task reservation subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null,
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.sms_status
- Method:
POST - Path:
contact_center.sms_status - Tags: SMS
The SMS status event is triggered when an SMS message is sent by using the Send an SMS. The receipt indicates whether the SMS was actually delivered to the consumer.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The SMS status subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the SMS status.date_time_ms(required)string, format:date-time— The SMS status update time, to the millisecond.message_id(required)string— Call `/v2/contact_center/sms` to return the message ID. It uniquely represents this message.status(required)string, possible values:"delivered", "undelivered", "failed"— The SMS sent status. * `delivered` * `undelivered` * `failed`consumer_numberstring— The SMS' source number.contact_center_numberstring— The SMS' destionation number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.reasonstring— If the SMS status is `failed` or `undelivered`, give the reason here.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"contact_center_number": "",
"status": "delivered",
"consumer_number": "",
"reason": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.closure_created
- Method:
POST - Path:
contact_center.closure_created - Tags: Operating Hours
The Closure created event is triggered when the closure is created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Closure created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created closure set.account_default(required)boolean— Default closure for the newly created queue.closure_set_id(required)string— The closure's ID.closure_set_name(required)string— The closure set's name.closures(required)array— Information about the closures.Items: closure_id(required)string— The closure's ID.closure_name(required)string— The closure's name.closure_hour_typeinteger, possible values:1, 2— The closure's time type. * `1` - All day. * `2` - Customized time.end_timestring, format:datetime— The closure's end time.recurring_days_of_weekarray— The week days of a recurrence. Returns only for the `Weekly/Customized`, the `Weekly/Specific`, the `Annually/Customized`, and the `Monthly/Customized` recurrence time types. When the type is `Weekly/Customized`, there may be multiple values. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - SundayItems: integer, possible values:1, 2, 3, 4, 5, 6, 7recurring_frequencyinteger, possible values:0, 1, 2, 3— The frequency of a closure's recurrence. * `0` - Never. * `1` - Annually. * `2` - Monthly. * `3` - Weekly.recurring_frequency_typeinteger, possible values:1, 2— The closure time's type of recurrence. Applies to `Annually`, `Monthly`, and `Weekly` repeat frequency. Returns only for the not `Never` recurrence type. * `1` - Specific. * `2` - Customized.recurring_monthinteger, possible values:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12— The recurrence month. Returns only for the `Annually` recurrence type. * `1` - January * `2` - February * `3` - March * `4` - April * `5` - May * `6` - June * `7` - July * `8` - August * `9` - September * `10` - October * `11` - November * `12` - Decemberrecurring_week_intervalinteger— The number of weekly recurrences. Returns only for the `Customized` recurrence time types. When the type is `Annually/Customized` or `Monthly/Customized`, the minimum value is `1` and the maximum value is `5`. When it is `Weekly/Customized`, the minimum value is `1` and the maximum value is `12`.start_timestring, format:datetime— The closure's start time.
date_time_ms(required)string— The date and time when the closure set is created, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.timezone(required)string— The closure set's timezone ID.closure_set_descriptionstring— The closure set's description.date_timestring— The date and time when the closure is created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"closure_set_name": "",
"closure_set_description": "",
"timezone": "",
"account_default": true,
"closures": [
{
"closure_id": "",
"closure_name": "",
"closure_hour_type": 1,
"start_time": "",
"end_time": "",
"recurring_frequency": 0,
"recurring_frequency_type": 1,
"recurring_month": 1,
"recurring_week_interval": 1,
"recurring_days_of_week": [
1
]
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_canceled
- Method:
POST - Path:
contact_center.task_canceled - Tags: Tasks
The Task canceled event is triggered when a user cancels an assigned task.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task canceled subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cancel_reasonstring, possible values:"abandoned", "missed"— The cancellation reason for an inbound task routed to a queue. This field applies only to the voice channel. `abandoned` indicates that the customer hung up while waiting. `missed` indicates that the queue waiting timed out.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"cancel_reason": "abandoned",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.legacy_engagement_end_data_ready
- Method:
POST - Path:
contact_center.legacy_engagement_end_data_ready - Tags: Engagements
The Legacy Engagement End Data Ready event is triggered when all post-engagement data is available from the Engagement APIs.
For full engagement details, use the corresponding Get an engagement API or the List engagements API to retrieve the data.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Legacy Engagement End Data Ready subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement-end report V1 data.channel(required)string, possible values:"voice", "video", "messaging", "email"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement-end data is ready, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.start_time(required)string, format:date-time— The date and time when the engagement started, to the millisecond.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"start_time": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_upgrade_completed
- Method:
POST - Path:
contact_center.engagement_upgrade_completed - Tags: Upgrade
The Engagement Upgrade Completed event is triggered when a Contact Center voice engagement being upgraded to video is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- Enable the Engagement Upgrade Completed subscription under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement completed.flow_namestring— The flow name where the engagement completed.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel's type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_started
- Method:
POST - Path:
contact_center.recording_started - Tags: Recordings
The Recording started event is triggered when an engagement's recording is started.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording started subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's started recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's start time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's start time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as a queue ID or user ID.owner_namestring— The recording's owner name, such as a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.consumer_messaging_opt_in
- Method:
POST - Path:
contact_center.consumer_messaging_opt_in - Tags: Consumer Actions
The Consumer messaging opt in event is triggered when a consumer opts in to receiving messages from a Zoom Contact Center messaging channel.
For SMS, this event is triggered when:
- The consumer sends a START keyword or a campaign-configured opt-in keyword in an SMS message.
- The campaign is configured to automatically opt in consumers when they send an inbound SMS message.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Consumer messaging opt in subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer opt-in event.date_time_ms(required)string, format:date-time— The time of the opt-in event, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the opt-in.smsobject— The SMS opt-in details.campaign_idstring— The 10DLC campaign ID. Returned only when the campaign is configured to apply opt-in and opt-out preferences to all phone numbers associated with the campaign.consumer_numberstring— The consumer's phone number in E.164 format.contact_center_numberstring— The Contact Center phone number in E.164 format.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"sms": {
"consumer_number": "",
"contact_center_number": "",
"campaign_id": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.closure_deleted
- Method:
POST - Path:
contact_center.closure_deleted - Tags: Operating Hours
The Closure deleted event is triggered when the closure is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Closure deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted closure set.closure_set_id(required)string— The closure set's ID.date_time_ms(required)string— The date and time when the closure set is deleted, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.date_timestring— The date and time when the closure is deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_login
- Method:
POST - Path:
contact_center.user_login - Tags: Agent Actions
The User login event is triggered when a user logs in to Contact Center.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User login subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user login.date_time_ms(required)string, format:date-time— The date and time when the user logged in to Contact Center, to the millisecond.display_name(required)string— The user's display name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user logged in to Contact Center, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_canceled
- Method:
POST - Path:
contact_center.engagement_conference_canceled - Tags: Conference
The Engagement conference canceled event is triggered when an engagement conference is canceled.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement Conference Canceled subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement conference.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.date_time_ms(required)string, format:date-time— The date and time when the engagement conference was canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's IDteam_namestring— The team's name
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_skills_assigned
- Method:
POST - Path:
contact_center.user_skills_assigned - Tags: Users
The User skills assigned event is triggered when skills are assigned to a user.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User skills assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the skills assigned to the user.date_time_ms(required)string, format:date-time— The date and time when the skills were assigned to the user, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.skills(required)array— The skills assigned to the user.Items: skill_id(required)string— The skill's ID.
user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"skills": [
{
"skill_id": "s0pP7Z_AcR_6xUiAS2SLE1g"
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_sent_file
- Method:
POST - Path:
contact_center.engagement_user_sent_file - Tags: Agent Actions
The Engagement user sent file event is triggered when a user sends files.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user sent file subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-sent files in the engagement.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.files(required)array— The file details.Items: download_url(required)string— Attachment download link.file_id(required)string— The file's unique ID.file_name(required)string— The file's name.file_size(required)integer, format:int64— The file's size.file_type(required)string, possible values:"Image", "Audio", "Video", "File", "Link"— The file's type.
user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to the messaging channel. * `web_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"files": [
{
"file_id": "",
"file_name": "",
"file_size": 1,
"file_type": "Image",
"download_url": ""
}
]
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_consumer_answered
- Method:
POST - Path:
contact_center.engagement_consumer_answered - Tags: Consumer Actions
The Engagement consumer answered event is triggered when the consumer answers a voice or video engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement consumer answered subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement consumer answered.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's answer time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer phone number.date_timestring, format:date-time— The consumer's answer time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_ended
- Method:
POST - Path:
contact_center.engagement_ended - Tags: Engagements
The Engagement ended event is triggered when the engagement is ended.
An engagement is available via the Get Engagement API once is completed processing, not immediately when is has ended. This API may return an empty response while the data is persisting.
You may need to retry this request for up to 1 minute to get engagement details, if querying shortly after an engagement_ended webhook event is received. Consider using a backoff between retries to avoid rate limiting.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement ended subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement ended.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement ended, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "whatsapp", "facebook_messenger", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.date_timestring, format:date-time— The date and time when the engagement ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement ended.flow_namestring— The flow name where the engagement ended.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_opt_in
- Method:
POST - Path:
contact_center.user_opt_in - Tags: Agent Actions
The User opt in event is triggered when a user opts in to a queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User opt in subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user queue opt-in.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the user opted in to a queue, to the millisecond.display_name(required)string— The user's display name.queue_name(required)string— The queue's name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user opted in to a queue, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_timeout
- Method:
POST - Path:
contact_center.engagement_transfer_timeout - Tags: Transfer
The Engagement transfer timeout event is triggered when an engagement transfer times out.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer timeout subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement transfer timeout.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer timed out, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer timed out, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer's level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer's type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_completed
- Method:
POST - Path:
contact_center.recording_completed - Tags: Recordings
The Recording completed event is triggered when an engagement's recording is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording completed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's recording completed.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID - either a queue ID or user ID.owner_namestring— The recording's owner name - either a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_durationinteger— The recording's duration, to the second.recording_end_timestring, format:date-time— The recording's end time, to the second.recording_end_time_msstring, format:date-time— The recording's end time, to the millisecond.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"recording_end_time_ms": "",
"recording_type": "on_demand",
"recording_duration": 1,
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_accepted
- Method:
POST - Path:
contact_center.engagement_transfer_accepted - Tags: Transfer
The Engagement transfer accepted event is triggered when an engagement transfer is accepted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer accepted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the accepted engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is accepted, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is accepted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_moved
- Method:
POST - Path:
contact_center.team_moved - Tags: Teams
The Team moved event is triggered when a team is moved to another parent team.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team moved subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was moved, to the millisecond.new_parent_team_id(required)string— The team's new parent team ID.new_parent_team_name(required)string— The team's new parent team name.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.previous_parent_team_idstring— The team's previous parent team ID.previous_parent_team_namestring— The team's previous parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1754387110151,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Example Team",
"team_description": "This is a example team.",
"previous_parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"previous_parent_team_name": "Previous Parent Example Team",
"new_parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"new_parent_team_name": "Parent Example Team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-09-15T09:27:15.988Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_created
- Method:
POST - Path:
contact_center.user_created - Tags: Users
The User created event is triggered when a user is created.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created user.date_time_ms(required)string, format:date-time— The date and time when the user was created, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.channel_settingsobject— Information about the channel settings.concurrent_email_capacityinteger— The maximum number of concurrent email conversations that can be assigned to a user.concurrent_message_capacityinteger— The maximum number of concurrent messaging conversations that can be assigned to a user.email_occupiedboolean— Mark the user's status as `Occupied` if they lack capacity for an additional active email engagement.messaging_occupiedboolean— Mark the user's status as `Occupied` if they lack capacity for an additional active messaging engagement.multi_channel_engagementsobject— Information about the setting's multi-channel engagements.email_max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this is the maximum load percentage that a user needs to take in order to receive voice and video calls. This value is based on the engagements the user is currently handling.enableboolean— Whether to allow users to receive voice or video engagements while handling chat and SMS engagements based on the `max_agent_load` value.max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, the maximum load percentage an user needs to undertake in order to receive voice and video calls. This value is based on the engagements the user is currently handling.
client_integrationstring, possible values:"Default", "Salesforce", "Zendesk", "ServiceNow", "Microsoft_Dynamics_365"— The contact center's client integration. * `Default` * `Salesforce` * `Zendesk` * `ServiceNow` * `Microsoft_Dynamics_365`country_iso_codestring— The [ISO country code](/docs/api/references/abbreviations/#countries).date_timestring, format:date-time— The date and time when the user was created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.emergency_callingboolean— Allow users to contact emergency services through their device's native phone system or Zoom Phone.status_idstring— The user's status ID.status_namestring, possible values:"Offline", "Ready", "Not Ready", "Occupied"— The user's status name.user_accessstring, possible values:"active", "inactive"— The user's access status. * `active` - The user's role permissions allow them to access the Contact Center. * `inactive` - The user cannot access the Contact Center.user_add_ons_plansarray— The user's Contact Center add-ons plan.Items: add_ons_plan_namestring, possible values:"ai_expert_assist", "zoom_contact_center_for_service_cloud_voice"— The Contact Center add-ons plan's name.
user_intentsarray— The user's intents.Items: intent_group_idstring— The intent's group ID.intent_idstring— The intent's ID.
user_packageobject— The user's Contact Center plan.package_namestring, possible values:"essentials", "premium", "elite"— The Contact Center plan's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"status_id": "",
"status_name": "Offline",
"client_integration": "Default",
"user_access": "active",
"country_iso_code": "",
"channel_settings": {
"multi_channel_engagements": {
"enable": true,
"max_agent_load": 1,
"email_max_agent_load": 1
},
"concurrent_message_capacity": 0,
"concurrent_email_capacity": 0,
"messaging_occupied": true,
"email_occupied": true
},
"emergency_calling": true,
"user_intents": [
{
"intent_group_id": "Ql3qxUWXSHes4PmcOmzyOg",
"intent_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"user_package": {
"package_name": "essentials"
},
"user_add_ons_plans": [
{
"add_ons_plan_name": "ai_expert_assist"
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_assigned
- Method:
POST - Path:
contact_center.inbox_message_assigned - Tags: Inboxes
The Inbox message assigned event is triggered when an agent or supervisor assigns a voicemail to a user, either themself or someone else.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the inbox message assigned.assign_type(required)string, possible values:"Manual", "Auto Assign"— The message's assign type.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was assigned, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.previous_user_display_namestring— The message previously assigned to a user's display name.previous_user_idstring— The message previously assigned to a user's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"previous_user_id": "",
"previous_user_display_name": "",
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"assign_type": "Manual",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_entered_queue
- Method:
POST - Path:
contact_center.task_entered_queue - Tags: Tasks
The Task entered queue event is triggered when a task enters the task queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Task entered queue subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task that entered the queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The time the task entered the queue, to the millisecond.engagement_id(required)string— The engagement's ID.task_id(required)string— The task's ID.channelstring, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "in_app_chat", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— The distribution duration, to the second.distribution_typeinteger— Use this option to distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSqueue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.teamsobjecttransferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"task_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"engagement_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.asset_deleted
- Method:
POST - Path:
contact_center.asset_deleted - Tags: Asset Library
The Asset deleted event is triggered when the asset is deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Asset deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted asset.archived(required)objectasset_id(required)objectasset_name(required)objectdate_time_ms(required)objectmodified_by(required)objectarchived_timeobjectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"asset_name": null,
"archived": null,
"archived_time": null,
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_created
- Method:
POST - Path:
contact_center.team_created - Tags: Teams
The Team created event is triggered when a new team is created.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was created.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.parent_team_idstring— The team's parent team ID.parent_team_namestring— The team's parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Sales Team",
"team_description": "This is the sales team",
"parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"parent_team_name": "Online sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-15T09:27:15.988Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_started
- Method:
POST - Path:
contact_center.engagement_started - Tags: Engagements
The Engagement started event is triggered when the engagement is started.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement started subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement started.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement started, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"chat", "in_app_chat", "voice", "video", "sms", "messaging"— The engagement's channel type. * `chat` * `in_app_chat` * `voice` * `video` * `sms` * `messaging`date_timestring, format:date-time— The date and time the engagement started, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.transfer_fromstring, possible values:"zoom_phone"— The name of the other Zoom product if the engagement is transferred from another Zoom product to Contact Center. Currently only supports transfer from Zoom Phone for voice channel.transfer_from_idstring— The unique session identifier of another Zoom product, such as a Zoom Phone call ID, if the engagement is transferred from another Zoom product to Contact Center. Currently only supports transfer from Zoom Phone for voice channel.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"transfer_from": "zoom_phone",
"transfer_from_id": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_reserved
- Method:
POST - Path:
contact_center.engagement_transfer_reserved - Tags: Transfer
The Engagement transfer reserved event is triggered when an engagement transfer is reserved.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer reserved subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the reserved engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is reserved, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is reserved, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer's level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer's type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_upgrade_initiated
- Method:
POST - Path:
contact_center.engagement_upgrade_initiated - Tags: Upgrade
The Engagement Upgrade Initiated event is triggered when a Contact Center voice engagement is upgraded to video.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- Enable the Engagement Upgrade Initiated subscription under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the initiated engagement upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement upgrade was initiated, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement upgrade was initiated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement initiated.flow_namestring— The flow name where the engagement initiated.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.asset_updated
- Method:
POST - Path:
contact_center.asset_updated - Tags: Asset Library
The Asset updated event is triggered when an asset is updated. This includes any changes to asset items contained within the asset such as adding, updating, and deleting asset items.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Asset updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the asset.asset_id(required)objectdate_time_ms(required)objectmodified_by(required)objectupdates(required)object— Information about the updated asset.asset_descriptionobjectasset_item_addedobjectasset_item_deletedobjectasset_item_updatedobjectasset_nameobjectcategory_idobjectrestoreobject
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"updates": {
"asset_name": null,
"asset_description": null,
"asset_item_added": null,
"asset_item_updated": null,
"asset_item_deleted": null,
"category_id": null,
"restore": null
},
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_sent_message
- Method:
POST - Path:
contact_center.engagement_user_sent_message - Tags: Agent Actions
The Engagement user sent message event is triggered when a user sends a message.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user sent message subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-sent message in the engagement.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.message_text(required)string— The message's content.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_chat` - Only applies to the messaging channel. * `web_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.message_style_typestring, possible values:"text", "html"— The message content format.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "in_app_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"message_text": "",
"message_style_type": "text"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_exited_queue
- Method:
POST - Path:
contact_center.task_exited_queue - Tags: Tasks
The Task exited queue event is triggered when a task moves from one task queue to another task queue.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL
- The Task exited queue subscription enabled under the Contact Center event
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task that exited the queue.cc_queue_id(required)string— The Contact Center queue's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The task exited queue time, to the millisecond.engagement_id(required)string— The engagement's ID.task_id(required)string— The task's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to the video channel. * `kiosk_video` - Only applies to the video channel. * `web_video` - Only applies to the video channel. * `web_chat` - Only applies to the messaging channel. * `in_app_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "in_app_chat", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— The distribution duration, to the second.distribution_typeinteger— Use this option to distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSqueue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.teamsobjecttransferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"task_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"engagement_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.call_control_unhold_call_executed
- Method:
POST - Path:
contact_center.call_control_unhold_call_executed - Tags: Call Control
The Call control unhold call executed event is triggered when a held call is resumed by using Command control of a user.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Call control unhold call executed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control unhold call.date_time_ms(required)string, format:date-time— The date and time when a held call was resumed by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_skills_unassigned
- Method:
POST - Path:
contact_center.user_skills_unassigned - Tags: Users
The User skills unassigned event is triggered when skills are removed from a user.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User skills unassigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the skills unassigned from the user.date_time_ms(required)string, format:date-time— The date and time when the skills were unassigned from the user, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.skills(required)array— The skills unassigned from the user.Items: skill_id(required)string— The skill's ID.
user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"skills": [
{
"skill_id": "s0pP7Z_AcR_6xUiAS2SLE1g"
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_rejected
- Method:
POST - Path:
contact_center.task_reservation_rejected - Tags: Task Reservations
The User rejected a task reservation event is triggered when a user rejects a task queue reservation.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User rejected a task reservation subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the rejected task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_disposition_updated
- Method:
POST - Path:
contact_center.queue_disposition_updated - Tags: Queues
The Queue disposition updated event is triggered when a queue's disposition configuration (default disposition, requirement, or enabled status) is updated.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue disposition updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue disposition configuration change.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type this configuration change applies to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when a queue's disposition configuration (default disposition, requirement, or enabled status) is updated, in milliseconds.division_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.updates(required)object— The disposition configuration fields that changed in this call. Fields that did not change are omitted.default_disposition_idstring— The new default disposition's ID. Present only if the default disposition changed in this call.default_disposition_namestring— The new default disposition's name. Present only if the default disposition changed in this call.disposition_requiredboolean— Whether disposition selection is mandatory (`true`) or optional (`false`) for this queue. Present only if this setting changed in this call.enable_dispositionboolean— Whether the disposition feature is now enabled (`true`) or disabled (`false`). Present only if this setting changed in this call.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"default_disposition_id": "",
"default_disposition_name": "",
"disposition_required": true,
"enable_disposition": true
}
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.inbox_message_received
- Method:
POST - Path:
contact_center.inbox_message_received - Tags: Inboxes
The Inbox message received event is triggered when the Contact Center receives a voicemail.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Inbox message received subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the received inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was received, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_canceled
- Method:
POST - Path:
contact_center.engagement_transfer_canceled - Tags: Transfer
The Engagement transfer canceled event is triggered when an engagement transfer is canceled.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer canceled subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement transfer.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is canceled, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "did"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.recording_permanently_deleted
- Method:
POST - Path:
contact_center.recording_permanently_deleted - Tags: Recordings
The Recording permanently deleted event is triggered when an engagement's recording is permanently deleted.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Recording permanently deleted subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's permanently deleted recording.date_time_ms(required)string, format:date-time— The date and time when the recording was permanently deleted, to the millisecond.recording_id(required)string— The recording's unique ID.date_timestring, format:date-time— The date and time when the recording was permanently deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_operating_hours_updated
- Method:
POST - Path:
contact_center.queue_operating_hours_updated - Tags: Queues
The Queue operating hours updated event is triggered when the queue operating hours are updated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue operating hours updated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue operating hours.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the operating hours are updated, to the millisecond.updates(required)object— Information about the updated queue operating hours.account_default_business_hourboolean— Whether this is the account's default business hours.account_default_closure_setboolean— Whether this is the account's default closure set.business_hour_idstring— The business hour's ID.business_hour_namestring— The business hour's name.closure_set_idstring— The closure set's ID.closure_set_namestring— The closure set's name.
date_timestring, format:date-time— The date and time when the operating hours are updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"date_time_ms": "",
"cc_queue_id": "",
"division_id": "",
"division_name": "",
"updates": {
"business_hour_id": "",
"business_hour_name": "",
"account_default_business_hour": true,
"closure_set_id": "",
"closure_set_name": "",
"account_default_closure_set": true
}
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_initiated
- Method:
POST - Path:
contact_center.engagement_transfer_initiated - Tags: Transfer
The Engagement transfer initiated event is triggered when an engagement transfer is initiated.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer initiated subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the initiated engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is initiated, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is initiated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement's queue's ID.queue_namestring— The engagement's queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "inbox", "did"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center queue's ID.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_inbox_idstring— The transfer's inbox ID. This displays when the `transfer_level` is `inbox`.transfer_to_inbox_namestring— The transfer's inbox name. This displays when the `transfer_level` is `inbox`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_inbox_id": "",
"transfer_to_inbox_name": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_takeover_started
- Method:
POST - Path:
contact_center.engagement_takeover_started - Tags: Supervisor Actions
The Takeover started on an engagement event is triggered when the user takes over an engagement in the Contact Center.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Takeover started on an engagement subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement takeover.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor initiation time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.takeover_user_display_name(required)string— The takeover user's display name.takeover_user_id(required)string— The takeover user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's contact center phone number.date_timestring, format:date-time— The monitor initiation time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"takeover_user_id": "",
"takeover_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_conference_participant_left
- Method:
POST - Path:
contact_center.engagement_conference_participant_left - Tags: Conference
The Engagement conference participant left event is triggered when a participant leaves the conference.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement conference participant left subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant leaving the engagement conference.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number, only applies to phone number participant.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant left the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.leaving_participant(required)object— The participant who left the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"leaving_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Responses
Status: 200 Successfully received the webhook event.
contact_center.voicemail_transcript_completed
- Method:
POST - Path:
contact_center.voicemail_transcript_completed - Tags: Transcriptions
The Voicemail Transcript Completed event is triggered when a voice message transcript has been saved.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Voicemail Transcript Completed subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed voicemail transcript.date_time_ms(required)string, format:date-time— The date and time when the engagement ended, to the millisecond.engagement_id(required)string— The engagement ID.inbox_id(required)string— The inbox's unique ID.inbox_name(required)string— The inbox's name.message_id(required)string— The voicemail's unique ID.cc_queue_idstring— The Contact Center queue's ID.consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.message_durationinteger— The inbox message's duration, to the second.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.statusstring, possible values:"normal", "deleted"— The inbox message soft delete flag.teamsobjecttranscript_urlstring— The URL to the voicemail transcript.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"inbox_id": "",
"inbox_name": "",
"engagement_id": "",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"transcript_url": "",
"message_duration": 1,
"consumer_number": "",
"consumer_id": "",
"consumer_display_name": "",
"status": "normal"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_accepted
- Method:
POST - Path:
contact_center.task_reservation_accepted - Tags: Task Reservations
The User accepted a task reservation event is triggered when a user accepts a task queue reservation.
Prerequisites
- Event Subscriptions must be enabled for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User accepted a task reservation subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the accepted task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_email_transcript_completed
- Method:
POST - Path:
contact_center.engagement_email_transcript_completed - Tags: Transcriptions
The Engagement email transcript completed event is triggered when a Contact Center engagement email transcript is completed.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- Enable the Email transcript completed subscription under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the email engagement.channel(required)string, possible values:"email"— The task's channel. * `email`channel_source(required)string, possible values:"email_address"— The channel's source. * `email_address` - Only applies to email channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.date_time_msstring, format:date-time— The date and time when the email transcript was completed, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID where the engagement ended.flow_namestring— The engagement's flow name where the engagement ended.transcript_urlstring— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing contact center recording scopes, use the user's [OAuth access token](/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "u1ASlK83fZb54t5-1YWqgw",
"engagement_direction": "inbound",
"channel": "email",
"channel_source": "email_address",
"flow_id": "ZWWC0A840C726C2CE3ACF01041CB8CFD8B9",
"flow_name": "Email Flow",
"division_id": "",
"division_name": "",
"transcript_url": "https://api.zoom.us/v2/contact_center/email/messages?engagement_id=u1ASlK83fZb54t5-1YWqgw&direction=forward&page_size=30",
"date_time_ms": "2023-05-15T09:27:15.987Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_phone_numbers_unassigned
- Method:
POST - Path:
contact_center.user_phone_numbers_unassigned - Tags: Users
The User phone numbers unassigned event is triggered when removing phone numbers from a user.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User phone numbers unassigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user's unassigned phone numbers.date_time_ms(required)string, format:date-time— The date and time when the user phone numbers were unassigned from the user, to the millisecond.display_name(required)string— The user's display name.phone_numbers(required)array— The phone numbers unassigned from the user.Items: phone_number(required)string— The phone number, in E164 format.phone_number_id(required)string— The phone number's ID.
role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"phone_numbers": [
{
"phone_number": "+12093412723",
"phone_number_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_unhold
- Method:
POST - Path:
contact_center.engagement_user_unhold - Tags: Agent Actions
The Engagement user unhold event is triggered when a user comes off hold in an engagement.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user unhold subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user that came off hold in the engagement.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The user's off-hold time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type. * `voice`consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's off-hold time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.user_logout
- Method:
POST - Path:
contact_center.user_logout - Tags: Agent Actions
The User logout event is triggered when a user logs out of Contact Center.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User logout subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user logout.date_time_ms(required)string, format:date-time— The date and time when the user logged out of Contact Center, to the millisecond.display_name(required)string— The user's display name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user logged out of Contact Center, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_video_participant_left
- Method:
POST - Path:
contact_center.engagement_video_participant_left - Tags: Engagements
The Video engagement participant left event is triggered when a video participant leaves the engagement.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Video engagement participant left subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant who left the video engagement.channel(required)string, possible values:"video"— The engagement's channel.channel_source(required)string, possible values:"in_app_video", "kiosk_video", "web_video"— The video channel's source.date_time_ms(required)string, format:date-time— The date and time when the participant left the engagement, to the millisecond.engagement_id(required)string— The engagement's ID.leave_reason(required)string, possible values:"left", "transitioned", "removed", "ended_via_api", "network_failure", "system_terminated", "unknown"— The standardized reason why the participant left the engagement. * `left` - The participant left the engagement. * `transitioned` - The participant left because of a routing transition. * `removed` - The participant was removed from the engagement. * `ended_via_api` - The participation ended through an API request. * `network_failure` - The participant left because of a connection failure. * `system_terminated` - The participation was terminated by the system. * `unknown` - The leave reason could not be determined.leave_reason_detail(required)string, possible values:"end_clicked", "leave_clicked", "manual_leave", "signed_out", "routing_change", "host_removed", "api_request", "connection_lost", "session_ended", "flow_ended", "consumer_left", "customer_cancelled", "timeout", "workflow_completed", "session_cleanup", "page_closed", "engagement_end", "unknown"— Additional details about why the participant left the engagement. * `end_clicked` - The participant selected **End**. * `leave_clicked` - The participant selected **Leave**. * `manual_leave` - The participant manually left the engagement. * `signed_out` - The participant signed out. * `routing_change` - A routing change caused the participant to leave. * `host_removed` - The host removed the participant. * `api_request` - An API request ended the participation. * `connection_lost` - The participant's connection was lost. * `session_ended` - The video session ended. * `flow_ended` - The flow ended. * `consumer_left` - The consumer left the engagement. * `customer_cancelled` - The customer cancelled the engagement. * `timeout` - A timeout ended the participation. * `workflow_completed` - The workflow completed. * `session_cleanup` - Session cleanup removed the participant. * `page_closed` - The consumer closed or refreshed the page. * `engagement_end` - The engagement ended without a more specific reason. * `unknown` - The detailed leave reason could not be determined.participant_id(required)string— The participant's internal identifier.participant_type(required)string, possible values:"agent", "supervisor", "consumer", "unknown"— The participant's role in the engagement. * `agent` - The participant is an agent. * `supervisor` - The participant is a supervisor. * `consumer` - The participant is a consumer. * `unknown` - The participant type could not be determined.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.participant_namestring— The participant's display name.teamsarray— The teams associated with the agent or supervisor.Items: team_id(required)string— The team's ID.team_name(required)string— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"channel": "video",
"channel_source": "web_video",
"participant_id": "",
"participant_name": "",
"participant_type": "agent",
"leave_reason": "left",
"leave_reason_detail": "end_clicked",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
]
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_completed
- Method:
POST - Path:
contact_center.task_reservation_completed - Tags: Task Reservations
The User completed a task reservation event is triggered when a user completes a task queue reservation.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The User completed a task reservation subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_scheduled_callback_created
- Method:
POST - Path:
contact_center.queue_scheduled_callback_created - Tags: Queues
The Queue Scheduled Callback Created is triggered when a scheduled callback is booked.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue Scheduled Callback Created subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created scheduled callback.attendees(required)objectcc_queue_id(required)objectqueue_channel(required)objectqueue_name(required)objectstart_time(required)objectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"start_time": null,
"cc_queue_id": null,
"queue_name": null,
"queue_channel": null,
"attendees": null,
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_survey_status
- Method:
POST - Path:
contact_center.engagement_survey_status - Tags: Survey
The Engagement survey status event is triggered when an engagement's survey is sent, question_submitted, completed, or cancelled.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement survey status subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement survey.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement survey's status is triggered, to the millisecond.engagement_id(required)string— The engagement's ID.survey_id(required)string— The survey's ID.survey_status(required)string, possible values:"sent", "question_submitted", "completed", "cancelled"— The engagement survey's status. * `sent` * `question_submitted` * `completed` * `cancelled`survey_trigger_from(required)string, possible values:"queue", "flow"— The triggered survey's source. * `queue` * `flow`user_id(required)string— The last agent's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's display name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.survey_question_idstring— The survey question's ID. Only has a value if the survey status is `question_submitted` and channel is `voice`.teamsobjectuser_display_namestring— The last agent's display name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"survey_status": "sent",
"survey_id": "",
"survey_question_id": "",
"survey_trigger_from": "queue",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"consumer_email": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.task_reservation_timeout
- Method:
POST - Path:
contact_center.task_reservation_timeout - Tags: Task Reservations
The Task reservation timed out event is triggered when a task queue reservation times out. When a task queue reservation times out, it is not deleted.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Task reservation timed out subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task reservation's timeout.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` — Only applies to video channel. * `kiosk_video` — Only applies to video channel. * `web_video` — Only applies to video channel. * `web_chat` — Only applies to messaging channel. * `in_app_chat` — Only applies to messaging channel. * `sms` — Only applies to messaging channel. * `facebook_messenger` — Only applies to messaging channel. * `whatsapp` — Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.queue_disposition_unassigned
- Method:
POST - Path:
contact_center.queue_disposition_unassigned - Tags: Queues
The Queue disposition unassigned event is triggered when Disposition is removed from the queue.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Queue disposition unassigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition(s) unassigned from the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition(s) were unassigned from.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition(s) were removed from the queue, in milliseconds.dispositions(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"dispositions": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_ended
- Method:
POST - Path:
contact_center.engagement_user_ended - Tags: Agent Actions
The Engagement user ended event is triggered when a user ends an engagement.
Prerequisites
- Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user ended subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-ended engagement.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_user_answered
- Method:
POST - Path:
contact_center.engagement_user_answered - Tags: Agent Actions
The Engagement user answered event is triggered when a user answers a voice or video engagement.
For video engagements, this event is triggered when
- A user answers an inbound engagement.
- A user accepts an invite from another agent to join an engagement.
- A user answers a callback engagement.
- A user answers a scheduled callback engagement.
- A user answers an engagement after the engagement is transferred to a queue or flow.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement user answered subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-answered engagement.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's answer time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's answer time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.team_members_assigned
- Method:
POST - Path:
contact_center.team_members_assigned - Tags: Teams
The Team members assigned event is triggered when supervisors or agents are assigned to a team.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Team members assigned subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned members.date_time_ms(required)string, format:date-time— The date and time when the user is assigned to the team.team_id(required)string— The team's ID.team_role(required)string, possible values:"supervisor", "agent"— The user's role in the team.user_ids(required)array— The user's ID list assigned to the team.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"user_ids": "[IGTRVt3gQ2i-WjoUIjeZxw,T_X0vrroQPO4UwXGNeBS8A]",
"team_role": "supervisor",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-16T09:27:15.987Z"
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.engagement_transfer_queued
- Method:
POST - Path:
contact_center.engagement_transfer_queued - Tags: Transfer
The Engagement transfer queued event is triggered when an engagement transfer is queued.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Engagement transfer queued subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queued engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is queued, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is queued, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
contact_center.message_status
- Method:
POST - Path:
contact_center.message_status - Tags: Messaging
The Message status event is triggered when a message is sent by using the Send a Message API. The receipt indicates whether the message was actually delivered to the consumer.
Prerequisites
Enable Event Subscriptions for your Marketplace app with:
- A valid Event Notification Endpoint URL.
- The Message status subscription enabled under the Contact Center event.
Request Body
Content-Type: application/json
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the message status.date_time_ms(required)string, format:date-time— The message status update time, to the millisecond.message_id(required)string— The unique message identifier returned when the message was sent using the [**Send a Message**](/docs/api/contact-center/messages) API.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the message.fromstring— The sender's identifier. Different channels use platform-specific formats. For number-based channels, such as WhatsApp, the value must be in E.164 format.sms_messageobject— The SMS message status details.status(required)string, possible values:"delivered", "failed"— The SMS message status.reasonstring— If the SMS status is `failed`, provide the failure reason.
tostring— The recipient's identifier. Different channels use platform-specific formats. For number-based channels, such as WhatsApp, the value must be in E.164 format.whatsapp_messageobject— The WhatsApp message status details.status(required)string, possible values:"sent", "delivered", "read", "failed"— The WhatsApp message status.error_detailstring— Additional detailed information about the failure when the status is `failed`.reasonstring— A short description of the failure reason when the status is `failed`.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"from": "",
"to": "",
"engagement_id": "",
"whatsapp_message": {
"status": "sent",
"reason": "",
"error_detail": ""
},
"sms_message": {
"status": "delivered",
"reason": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Responses
Status: 200 Successfully received the webhook event.
Schemas
Contact_center.task_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_follow_up_task_updatedEvent
- Type:
object
event(required)string— The event name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated follow-up task.content(required)string— The follow-up task content after the update.date_time_ms(required)string, format:date-time— The date and time when the follow-up task was updated, in millisecond.engagement_id(required)string— The engagement ID.task_id(required)string— The follow-up task ID.user_id(required)string— The ID of the user who updated the task.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"engagement_id": "",
"user_id": "",
"content": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.inbox_message_downloadedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the downloaded inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message is downloaded, to the millisecond.download_type(required)string, possible values:"Recording", "Transcript"— The message's download type.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"download_type": "Recording",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_follow_up_task_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created follow-up task.content(required)string— The follow-up task content.date_time_ms(required)string, format:date-time— The date and time when the follow-up task was created, in milliseconds.engagement_id(required)string— The engagement ID.task_id(required)string— The follow-up task ID.user_id(required)string— The ID of the user who created the task.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"engagement_id": "",
"user_id": "",
"content": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.inbox_message_reopenedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the reopened inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was reopened, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.consumer_messaging_opt_outEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer opt-out event.date_time_ms(required)string, format:date-time— The time of the opt-out event, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the opt-out.smsobject— The SMS opt-out details.campaign_idstring— The 10DLC campaign ID. Returned only when the campaign is configured to apply opt-in and opt-out preferences to all phone numbers associated with the campaign.consumer_numberstring— The consumer's phone number in E.164 format.contact_center_numberstring— The Contact Center phone number in E.164 format.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"sms": {
"consumer_number": "",
"contact_center_number": "",
"campaign_id": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.call_control_conference_warm_invite_executedEvent
- Type:
object
event(required)string— The name of the event.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The ID of the account.object(required)object— Information about the executed call control conference warm invite.conference_id(required)string— The ID of the conference.date_time_ms(required)string, format:date-time— The date and time when starting a conference warm invitation by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The ID of the engagement.request_id(required)string— The ID of the app request.user_id(required)string— The ID of the user.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "contact_center.call_control_conference_warm_invite_executed",
"event_ts": 1767076587049,
"payload": {
"account_id": "zPd1zOyTRlSAQh70ltxTIw",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"conference_id": "b765b61c-7dc8-4c95-b0b9-f2468b7187d1",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_disposition_set_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition set(s) unassigned from the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition set(s) were unassigned from.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition set(s) were removed from the queue, in milliseconds.disposition_sets(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"disposition_sets": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_supervisor_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned queue supervisor.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the supervisor was assigned to the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the supervisor was assigned to the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_monitor_startedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement monitor.action_type(required)string, possible values:"barge", "listen", "whisper"— The monitor's action type. * `barge` - Voice channel support. * `listen` - Voice channel support. * `whisper` - Voice channel support.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor starting time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.monitoring_user_display_name(required)string— The monitoring user's display name.monitoring_user_id(required)string— The monitoring user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's Contact Center phone number.date_timestring, format:date-time— The monitor starting time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"action_type": "barge",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"monitoring_user_id": "",
"monitoring_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_monitor_endedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the ended engagement monitor.action_type(required)string, possible values:"barge", "listen", "whisper"— The monitor's action type. * `barge` - Voice channel support. * `listen` - Voice channel support. * `whisper` - Voice channel support.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.monitoring_user_display_name(required)string— The monitoring user's display name.monitoring_user_id(required)string— The monitoring user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's contact center phone number.date_timestring, format:date-time— The monitor end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"action_type": "barge",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"monitoring_user_id": "",
"monitoring_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_note_addedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the added engagement note.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the note was added, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.last_modified_time(required)string, format:date-time— The date and time when the note was last modified in the admin portal.note(required)string— The note's content.note_id(required)string— The note's unique ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.channel_typestring, possible values:"default", "voice", "sms", "chat", "phone"— The task's channel type.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the note was added, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The engagement's queue's ID.queue_namestring— The engagement's queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"note_id": "",
"note": "",
"last_modified_time": "",
"channel": "voice",
"channel_source": "in_app_video",
"engagement_id": "",
"engagement_direction": "inbound",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Contact_center.outbound_campaign_dialer_statusEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the outbound campaign dialer status.campaign_dialer_status(required)string, possible values:"consumer_answer", "consumer_no_answer", "consumer_reject", "agent_abandoned", "number_invalid", "number_blocked", "other_errors", "consumer_busy"— The call result.date_time_ms(required)string, format:date-time— The campaign dialer execution time, to the millisecond.engagement_id(required)string— The engagement's ID.date_timestring, format:date-time— The campaign dialer execution time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.external_engagement_idstring— External engagement's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"external_engagement_id": "",
"campaign_dialer_status": "consumer_answer",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.call_control_make_call_executedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control make call.date_time_ms(required)string, format:date-time— The date and time when an engagement was created by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"teams": null,
"date_time_ms": "",
"division_name": "",
"division_id": ""
}
}
}Contact_center.user_opt_outEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user queue opt-out.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the user opted out of a queue, to the millisecond.display_name(required)string— The user's display name.queue_name(required)string— The queue's name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user opted out of a queue, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.inbox_message_resolvedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the resolved inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was resolved, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_conference_participant_invitedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant's engagement conference invitation.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant was invited to the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.invited_participant(required)object— The participant being invited to join the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"invited_participant": {
"participant_phone_number": "",
"participant_user_id": "",
"participant_queue_id": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.task_reservation_canceledEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Contact_center.engagement_consumer_sent_fileEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement customer sent files.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.files(required)array— The file details.Items: file_id(required)string— The file's unique ID.file_name(required)string— The file's name.file_size(required)integer, format:int64— The file's size.file_type(required)string, possible values:"Image", "Audio", "Video", "File", "Link"— The file's type.download_urlstring— Attachment download link.
user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"division_id": "",
"division_name": "",
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"files": [
{
"file_id": "",
"file_name": "",
"file_size": 1,
"file_type": "Image",
"download_url": ""
}
]
}
}
}Contact_center.queue_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue was created, to the millisecond. Refer to `queue_created_time` for a more accurate time when the queue was created.auto_close_alert_messagestring— A warning message is sent before auto close.auto_close_alert_message_enabledboolean— If enabled, a warning message is sent before auto close.auto_close_alert_message_timeinteger— Auto close alert message time, to the minute.auto_close_messagestring— A warning message is sent when auto close.auto_close_message_enabledboolean— If enabled, a warning message is sent when auto closed.auto_close_timeoutinteger— Auto close message time, to the minute.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "messaging", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - Voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— Distribution duration, to the second.distribution_typeinteger— Distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.holding_media_idstring— Media ID to use while users are on hold. Channel type - Voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - Voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - Chat, SMSoverflow_to_cc_queue_idstring— Contact Center queue ID. If the overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.overflow_to_flow_idstring— Flow ID. If the overflow type is `flow`, the consumer is routed to this flow when the wait time is exceeded.overflow_to_goodbye_messageboolean— If enabled, a goodbye message plays and then disconnects when the wait time is exceeded.overflow_to_inbox_idstring— Inbox ID. If the overflow type is `inbox`, the consumer is routed to this inbox when the wait time is exceeded.overflow_to_queue_idstring— Queue ID. If the overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.queue_created_timestring, format:date-time— The queue creation time, to the millisecond.queue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.recording_storage_locationstring— The recording storage location.service_level_exclude_abandoned_quit_engagementsboolean— If enabled, abandon quit engagements are excluded from total inbound messaging engagements.service_level_exclude_long_abandoned_callsboolean— If enabled, long-abandoned calls are excluded from all inbound calls.service_level_exclude_short_abandoned_callsboolean— If enabled, short-abandoned calls are excluded from all inbound calls.service_level_target_in_percentageinteger— A target for the service level as the benchmark to refer to in reports.service_level_threshold_in_secondsinteger— If channel type is voice or video, this threshold is answer time by agents for all inbound calls. Otherwise, this threshold is first message speed by agents for all engagements.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting is enabled.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.transferring_media_idstring— Media ID to use while users are being transferred. Channel type - Voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - Voicewaiting_room_idstring— ID of the waiting room for users. Channel type - Videowaiting_room_namestring— Name of the user's waiting room. Channel type - Videowrap_up_expirationboolean— If enabled, engagements auto close at the end of the wrap-up duration.wrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"channel_types": [
"voice"
],
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"wrap_up_expiration": true,
"overflow_to_goodbye_message": true,
"overflow_to_cc_queue_id": "",
"overflow_to_flow_id": "",
"overflow_to_inbox_id": "",
"auto_close_message_enabled": true,
"auto_close_message": "",
"auto_close_timeout": 1,
"auto_close_alert_message_enabled": true,
"auto_close_alert_message": "",
"auto_close_alert_message_time": 1,
"recording_storage_location": "",
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1,
"queue_created_time": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.inbox_message_openedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the opened inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was opened, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.recording_transcript_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed recording transcript.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.transcript_url(required)string— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing Contact Center recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, either the queue ID or user ID.owner_namestring— The recording's owner name, either the queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_durationinteger— The recording's duration, to the second.recording_end_timestring, format:date-time— The recording's end time, to the second.recording_end_time_msstring, format:date-time— The recording's end time, to the millisecond.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"recording_end_time_ms": "",
"recording_type": "on_demand",
"recording_duration": 1,
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"transcript_url": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.business_hours_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created business hours.account_default(required)boolean— Default business hours for the newly created queue.business_hour_id(required)string— The business hours' ID.business_hour_name(required)string— The business hours' name.date_time_ms(required)string— The date and time when the business hours are created, to the millisecond.hours(required)object— Information about the hours.custom_hoursarray— The custom hours' settings. Returned only for the `Custom hours` type.Items: custom_hour_rangesarray— The custom hours' range. Returned only for the `Customized hours` type.Items: end_timestring— The custom hours' end time, in `HH:mm` and `24-hour clock` format.start_timestring— The custom hours' start time, in `HH:mm` and `24-hour clock` format.
custom_hour_typeinteger, possible values:0, 1, 2— The type of custom hours. * `0` - Disabled. * `1` - 24 hours. * `2` - Customized hours.day_of_weekinteger, possible values:1, 2, 3, 4, 5, 6, 7— The day of the week. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - Sunday
hour_typeinteger, possible values:1, 2— The type of business hours. * `1` - 24 hours, 7 days a week. * `2` - Custom hours.
modified_by(required)string— The ID of the user that last modified this data.timezone(required)string— The business hours' timezone ID.business_hour_descriptionstring— The business hours' description.date_timestring— The date and time when the business hours are created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"business_hour_name": "",
"business_hour_description": "",
"timezone": "",
"account_default": true,
"hours": {
"hour_type": 1,
"custom_hours": [
{
"day_of_week": 1,
"custom_hour_type": 0,
"custom_hour_ranges": [
{
"start_time": "",
"end_time": ""
}
]
}
]
},
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_conference_participant_canceledEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement conference participant.canceled_participant(required)object— The participant whose conference invitation is canceled.participant_phone_numberstring— The participant's phone numberparticipant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when a participant's conference invitation is canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"canceled_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.queue_disposition_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition(s) assigned to the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition(s) were assigned to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition(s) were assigned to the queue, in milliseconds.dispositions(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"dispositions": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.recording_pausedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's paused recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's pause time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's pause time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as the queue ID or user ID.owner_namestring— The recording's owner name, such as the queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_supervisor_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned queue supervisor.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the supervisor was removed from the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the supervisor was removed from the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.user_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated user.date_time_ms(required)string, format:date-time— The date and time when the user was updated, to the millisecond.updates(required)object— Information about the updated user.channel_settingsobject— Information about the channel settings.concurrent_email_capacityinteger— The maximum number of concurrent email conversations that can be assigned to a user.concurrent_message_capacityinteger— The maximum number of concurrent messaging conversations that can be assigned to a user.email_occupiedboolean— Mark the user's status as “Occupied” if they lack capacity for an additional active email engagement.messaging_occupiedboolean— Mark the user's status as “Occupied” if they lack capacity for an additional active messaging engagement.multi_channel_engagementsobject— Information about the setting's multi-channel engagements.email_max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this is the maximum load percentage that a user needs to take in order to receive voice and video calls. This value is based on the engagements the user is currently handling.enableboolean— Whether to allow users to receive voice or video engagements while handling chat and SMS engagements based on the `max_agent_load` value.max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this shows the maximum load percentage an user needs to undertake in order to receive voice and video calls. This value is based on the engagements the user is currently handling.
client_integrationstring, possible values:"Default", "Salesforce", "Zendesk", "ServiceNow", "Microsoft_Dynamics_365"— The Contact Center's client integration.country_iso_codestring— The [ISO country code](/docs/api/references/abbreviations/#countries).emergency_callingboolean— Allow users to contact emergency services through their device's native phone system or Zoom Phone.external_urlobject— Launch a URL for incoming calls.enableboolean— If set to `true`, Enable Launch will be activated.external_launch_urlstring— Enable Launch.
role_idstring— The user's role ID.role_namestring— The user's role name.status_idstring— The user's status ID.status_namestring, possible values:"Offline", "Ready", "Not Ready", "Occupied"— The user's status name.sub_status_idstring— The user's reason ID when the user status is `Not Ready`sub_status_namestring— The user's reason when the user status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](https://developers.zoom.us/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status_category.user_accessstring, possible values:"active", "inactive"— The user's access status. * `active` - The user's role permissions allow them to access the Contact Center. * `inactive` - The user cannot access the Contact Center.user_add_ons_plansarray— The user's Contact Center add-ons plan.Items: add_ons_plan_namestring, possible values:"ai_expert_assist", "zoom_contact_center_for_service_cloud_voice"— The Contact Center add-ons plan's name.
user_intentsarray— The user's intents.Items: intent_group_idstring— The intent's group ID.intent_idstring— The intent's ID.
user_packageobject— The user's Contact Center plan.package_namestring, possible values:"essentials", "premium", "elite"— The Contact Center plan's name.
user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user was updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"role_id": "",
"role_name": "",
"status_id": "",
"status_name": "Offline",
"sub_status_id": "",
"sub_status_name": "",
"client_integration": "Default",
"user_access": "active",
"country_iso_code": "",
"channel_settings": {
"multi_channel_engagements": {
"enable": true,
"max_agent_load": 1,
"email_max_agent_load": 1
},
"concurrent_message_capacity": 0,
"concurrent_email_capacity": 0,
"messaging_occupied": true,
"email_occupied": true
},
"emergency_calling": true,
"external_url": {
"enable": true,
"external_launch_url": ""
},
"user_intents": [
{
"intent_group_id": "Ql3qxUWXSHes4PmcOmzyOg",
"intent_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"user_package": {
"package_name": "essentials"
},
"user_add_ons_plans": [
{
"add_ons_plan_name": "ai_expert_assist"
}
]
}
}
}
}Contact_center.engagement_conference_participant_rejectedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant's rejected engagement conference participant.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant rejected the invitation to join the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.rejecting_participant(required)object— The participant who rejected the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"rejecting_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.engagement_user_mutedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user muted in the engagement.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The user's muted time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's muted time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_user_unmutedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user that unmuted in the engagement.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The user's unmuted time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's unmuted time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Contact_center.user_phone_numbers_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user's assigned phone numbers.date_time_ms(required)string, format:date-time— The date and time when the user phone numbers were assigned to the user, to the millisecond.display_name(required)string— The user's display name.phone_numbers(required)array— The phone numbers assigned to the user.Items: phone_number(required)string— The phone number in E164 format.phone_number_id(required)string— The phone number's ID.
role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"phone_numbers": [
{
"phone_number": "+18005551212",
"phone_number_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"date_time_ms": ""
}
}
}Contact_center.engagement_wrap_up_startedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement wrap up.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement wrap up started, to the millisecond.engagement_direction(required)string, possible values:"outbound", "inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement wrap up started, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"engagement_id": "",
"engagement_direction": "outbound",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Contact_center.closure_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the closure set.closure_set_id(required)string— The closure set's ID.date_time_ms(required)string— The date and time when the closure set is updated, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.updates(required)object— Information about the updated closure set.account_defaultboolean— Default closure for the newly created queue.closure_set_descriptionstring— The closure set's description.closure_set_namestring— The closure set's name.closuresarray— Information about the updated closures.Items: closure_id(required)string— The closure's ID.closure_hour_typeinteger, possible values:1, 2— The closure's time type. * `1` - All day. * `2` - Customized time.closure_namestring— The closure's name.end_timestring, format:datetime— The closure's end time.recurring_days_of_weekarray— The week days of a recurrence. Returns only for the `Weekly/Customized`, the `Weekly/Specific`, the `Annually/Customized`, and the `Monthly/Customized` recurrence time types. When the type is `Weekly/Customized`, there may be multiple values. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - SundayItems: integer, possible values:1, 2, 3, 4, 5, 6, 7recurring_frequencyinteger, possible values:0, 1, 2, 3— The frequency of a closure's recurrence. * `0` - Never. * `1` - Annually. * `2` - Monthly. * `3` - Weekly.recurring_frequency_typeinteger, possible values:1, 2— The closure time's type of recurrence. Applies to `Annually`, `Monthly`, and `Weekly` repeat frequency. Returns only for the not `Never` recurrence type. * `1` - Specific. * `2` - Customized.recurring_monthinteger, possible values:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12— The recurrence month. Returns only for the `Annually` recurrence type. * `1` - January * `2` - February * `3` - March * `4` - April * `5` - May * `6` - June * `7` - July * `8` - August * `9` - September * `10` - October * `11` - November * `12` - Decemberrecurring_week_intervalinteger— The number of weekly recurrences. Returns only for the `Customized` recurrence time types. When the type is `Annually/Customized` or `Monthly/Customized`, the minimum value is `1` and the maximum value is `5`. When it is `Weekly/Customized`, the minimum value is `1` and the maximum value is `12`.start_timestring, format:datetime— The closure's start time.
timezonestring— The closure set's timezone ID.
date_timestring— The date and time when the closure is updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"closure_set_name": "",
"closure_set_description": "",
"timezone": "",
"account_default": true,
"closures": [
{
"closure_id": "",
"closure_name": "",
"closure_hour_type": 1,
"start_time": "",
"end_time": "",
"recurring_frequency": 0,
"recurring_frequency_type": 1,
"recurring_month": 1,
"recurring_week_interval": 1,
"recurring_days_of_week": [
1
]
}
]
}
}
}
}Contact_center.engagement_messaging_transcript_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement messaging transcript.channel(required)string, possible values:"messaging"— The task's channel. * `messaging`date_time_ms(required)string, format:date-time— The date and time when the messaging transcript was completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.transcript_url(required)string— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing Contact Center recording scopes, use the user's [OAuth access token](/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`channel_sourcestring, possible values:"in_app_chat", "web_chat", "whatsapp", "facebook_messenger", "sms"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.date_timestring, format:date-time— The date and time when the messaging transcript was completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "in_app_chat",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"transcript_url": "",
"date_time_ms": ""
}
}
}Contact_center.recording_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's deleted recording.date_time_ms(required)string, format:date-time— The date and time when the recording was deleted, to the millisecond.recording_id(required)string— The recording's unique ID.date_timestring, format:date-time— The date and time when the recording was deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_agent_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned queue agent.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the agent was removed from the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the agent was removed from the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_transfer_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement transfer.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "did"— The transfer level.transfer_to_cc_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Contact_center.team_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was updated, to the millisecond.team_id(required)string— The team's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.team_descriptionstring— The team's description.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Updated Sales Team",
"team_description": "This is the updated sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-15T09:27:15.988Z"
}
}
}Contact_center.engagement_user_dtmf_sentEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement user-sent DTMF.channel(required)string, possible values:"voice"— The task's channel. * `voice`date_time_ms(required)string, format:date-time— The engagement dual tone multi-frequency input time, to the millisecond.dtmf_input(required)string— The engagement dual tone multi-frequency input digit.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type. * `voice`consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The engagement dual tone multi-frequency input time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"dtmf_input": ""
}
}
}Contact_center.queue_inbound_sla_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue's inbound service level.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue service level is updated, to the millisecond.updates(required)object— Information about the updated queue's inbound service level.service_level_exclude_abandoned_quit_engagementsboolean— The service level, excluding abandoned quit engagements.service_level_exclude_long_abandoned_callsboolean— The service level, excluding long abandoned calls.service_level_exclude_short_abandoned_callsboolean— The service level, excluding short abandoned calls.service_level_target_in_percentageinteger— Set a target percentage for service levels, as a benchmark for reports.service_level_threshold_in_secondsinteger— The amount of time the consumer waits for the call to be answered, to the second.
date_timestring, format:date-time— The date and time when the queue service level is updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"date_time_ms": "",
"cc_queue_id": "",
"division_id": "",
"division_name": "",
"updates": {
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1
}
}
}
}Contact_center.engagement_consumer_sent_messageEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's consumer-sent message.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.message_text(required)string— The message's content.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"message_text": ""
}
}
}Contact_center.engagement_consumer_notifiedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement consumer notified.channel(required)string, possible values:"voice", "video"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's ring time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_invite_emailstring— The consumer's invite email.consumer_invite_numberstring— The consumer's invite phone number.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The consumer's ring time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"division_id": "",
"division_name": "",
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_invite_number": "",
"consumer_invite_email": ""
}
}
}Contact_center.recording_stoppedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's stopped recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's stop time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's stop time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, either a queue ID or user ID.owner_namestring— The recording's owner name, either a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` — This recording belongs to a user. * `queue` — This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` — Manually trigger recording. * `automatic` — Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.user_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted user.date_time_ms(required)string, format:date-time— The date and time when the user was deleted, to the millisecond.users(required)array— The user's information, when the user is deleted.Items: user_id(required)string— The user's ID.
date_timestring, format:date-time— The date and time when the user was deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"division_id": "",
"division_name": "",
"date_time_ms": "",
"users": [
{
"user_id": ""
}
]
}
}
}Contact_center.task_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_wrap_up_endedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the ended engagement wrap up.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement wrap up ended, to the millisecond.engagement_direction(required)string, possible values:"outbound", "inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement wrap up ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": "",
"engagement_id": "",
"engagement_direction": "outbound",
"division_id": "",
"division_name": "",
"consumer_email": ""
}
}
}Contact_center.engagement_conference_participant_timeoutEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement conference participant timeout.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone numberparticipant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when a participant's conference invitation times out, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.timed_out_participant(required)object— The participant whose conference invitation timed out.participant_phone_numberstring— The participant's phone numberparticipant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's IDteam_namestring— The team's name
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"timed_out_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.engagement_user_holdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user on hold in the engagement.channel(required)string, possible values:"voice", "video"— The task's channel.date_time_ms(required)string, format:date-time— The user's hold time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's hold time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_transfer_rejectedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the rejected engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is rejected, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is rejected, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Contact_center.user_status_changedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user status change.current_status_id(required)string— The user's current status ID.current_status_name(required)string— The user's current status name.date_time_ms(required)string, format:date-time— The date and time when the user's status was last changed, to the millisecond.display_name(required)string— The user's display name.previous_status_id(required)string— The user's previous status ID.previous_status_name(required)string— The user's previous status name.user_id(required)string— The user's ID.current_sub_status_idstring— The user's current reason ID when the user current status is `Not Ready`.current_sub_status_namestring— The user's current reason when the user current status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status category. **Default `Not Ready` reasons** * Break * End Shift * Forced * Meal * Meeting * Trainingdate_timestring, format:date-time— The date and time when the user's status was last changed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.previous_sub_status_idstring— The user's previous reason ID when the user previous status is `Not Ready`.previous_sub_status_namestring— The user's previous reason when the user previous status is `Not Ready`. To query a list of default and custom `Not Ready` reasons, call [List System Statuses](/docs/contact-center/apis/#operation/listSystemStatus). Filter by `queue_opt_out_and_not_ready_status` status category. **Default `Not Ready` reasons** * Break * End Shift * Forced * Meal * Meeting * Trainingteamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"previous_status_id": "",
"previous_status_name": "",
"previous_sub_status_id": "",
"previous_sub_status_name": "",
"current_status_id": "",
"current_status_name": "",
"current_sub_status_id": "",
"current_sub_status_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the updated task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's [flow](https://support.zoom.us/hc/en-us/articles/4472928851469-Managing-flows) ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's assignment status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.recording_resumedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's resumed recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's resumption time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's resumption time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as a queue ID or user ID.owner_namestring— The recording's owner name, such as a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_disposition_addedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement disposition.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The engagement's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement disposition was added, to the millisecond.disposition_id(required)string— The disposition's ID.disposition_name(required)string— The disposition's name.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.last_modified_time(required)string, format:date-time— The date and time when the disposition was last modified in the admin portal.modified_by(required)string— The ID of the user who last modified the disposition.status(required)string, possible values:"inactive", "active"— The disposition's active status. * `inactive` - Deactivated. * `active` - Activated.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The channel's ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat"— The channel's type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.consumer_display_namestring— The consumer's display name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement disposition was added, to the second.disposition_descriptionstring— The disposition's description.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"disposition_id": "",
"disposition_name": "",
"disposition_description": "",
"status": "inactive",
"last_modified_time": "",
"modified_by": "",
"engagement_id": "",
"engagement_direction": "inbound",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"channel": "voice",
"channel_source": "in_app_video",
"user_id": "",
"user_display_name": "",
"teams": null,
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"consumer_email": ""
}
}
}Contact_center.asset_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the added asset.asset_id(required)objectasset_language_code(required)objectasset_name(required)objectasset_type(required)objectdate_time_ms(required)objectmodified_by(required)objectasset_descriptionobjectasset_itemsobjectcategory_idobjectcategory_nameobjectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"asset_name": null,
"asset_description": null,
"asset_type": null,
"asset_language_code": null,
"asset_items": null,
"category_id": null,
"category_name": null,
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Contact_center.team_members_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the unassigned members.date_time_ms(required)string, format:date-time— The date and time when a user is unassigned from the team.team_id(required)string— The team's ID.team_role(required)string, possible values:"supervisor", "agent"— The user's role in the team.user_ids(required)array— The user's ID list assigned to the team.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"user_ids": "[IGTRVt3gQ2i-WjoUIjeZxw,T_X0vrroQPO4UwXGNeBS8A]",
"team_role": "supervisor",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-16T09:27:15.987Z"
}
}
}Contact_center.queue_disposition_set_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition set(s) assigned to the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition set(s) were assigned to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition set(s) were assigned to the queue, in milliseconds.disposition_sets(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"disposition_sets": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.call_control_answer_call_executedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control answer call.date_time_ms(required)string, format:date-time— The date and time when a call was answered by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "contact_center.call_control_answer_call_executed",
"event_ts": "1767076587049",
"payload": {
"account_id": "zPd1zOyTRlSAQh70ltxTIw",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"division_id": "",
"division_name": ""
}
}
}Contact_center.team_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team is deleted.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.parent_team_idstring— The team's parent team ID.parent_team_namestring— The team's parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Sales Team",
"team_description": "This is the sales team",
"parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"parent_team_name": "Online sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-19T09:27:15.988Z"
}
}
}Contact_center.call_control_end_call_executedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control end call.date_time_ms(required)string, format:date-time— The date and time when a call was ended by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"teams": null,
"date_time_ms": "",
"division_name": "",
"division_id": ""
}
}
}Contact_center.cx_engagement_end_data_readyEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement-end report V2 data.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement-end data is ready, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.start_time(required)string, format:date-time— The date and time when the engagement started, to the millisecond.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"start_time": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_upgrade_expiredEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the expired engagement's upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement expired, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement expired, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement expired.flow_namestring— The flow name where the engagement expired.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel's type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Contact_center.engagement_consumer_endedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer ended engagement.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The consumer's end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted task queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the queue was deleted, to the millisecond.auto_close_alert_messagestring— Warning message sent before auto close.auto_close_alert_message_enabledboolean— If enabled, a warning message is sent before auto close.auto_close_alert_message_timeinteger— Auto close alert message time, to the minute.auto_close_messagestring— Warning message, will sent when auto close.auto_close_message_enabledboolean— If enabled, a warning message is sent when auto close.auto_close_timeoutinteger— Auto close message time, to the minute.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "messaging", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— Distribution duration, to the second.distribution_typeinteger— Distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSoverflow_to_cc_queue_idstring— The Contact Center queue's ID. If overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.overflow_to_flow_idstring— Flow ID. If overflow type is `flow`, the consumer is routed to this flow when the wait time is exceeded.overflow_to_goodbye_messageboolean— If enabled, a goodbye message plays and then disconnects when the wait time is exceeded.overflow_to_inbox_idstring— Inbox ID. If overflow type is `inbox`, the consumer is routed to this inbox when the wait time is exceeded.overflow_to_queue_idstring— Queue ID. If overflow type is `queue`, the consumer is routed to this queue when the wait time is exceeded.queue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.recording_storage_locationstring— The recording storage location.service_level_exclude_abandoned_quit_engagementsboolean— If enabled, abandon quit engagements are excluded from total inbound messaging engagements.service_level_exclude_long_abandoned_callsboolean— If enabled, long-abandoned calls are excluded from all inbound calls.service_level_exclude_short_abandoned_callsboolean— If enabled, short-abandoned calls are excluded from all inbound calls.service_level_target_in_percentageinteger— A target for service level as the benchmark to refer to in reports.service_level_threshold_in_secondsinteger— If channel type is `voice` or `video`, this threshold is answer time by agents for all inbound calls. Otherwise, this threshold is first message speed by agents for all engagements.short_abandon_enableboolean— Whether the **Short Abandon** setting is enabled.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.transferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_expirationboolean— If enabled, engagements auto close at the end of wrap-up duration.wrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"channel_types": [
"voice"
],
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"wrap_up_expiration": true,
"overflow_to_goodbye_message": true,
"overflow_to_cc_queue_id": "",
"overflow_to_flow_id": "",
"overflow_to_inbox_id": "",
"auto_close_message_enabled": true,
"auto_close_message": "",
"auto_close_timeout": 1,
"auto_close_alert_message_enabled": true,
"auto_close_alert_message": "",
"auto_close_alert_message_time": 1,
"recording_storage_location": "",
"service_level_threshold_in_seconds": 1,
"service_level_exclude_short_abandoned_calls": true,
"service_level_exclude_long_abandoned_calls": true,
"service_level_exclude_abandoned_quit_engagements": true,
"service_level_target_in_percentage": 1,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.business_hours_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the business hours.business_hour_id(required)string— The business hours' ID.date_time_ms(required)string— The date and time when the business hours are updated, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.updates(required)object— Information about the updated business hours.account_defaultboolean— Default business hours for the newly created queue.business_hour_descriptionstring— The business hours' description.business_hour_namestring— The business hours' name.hoursobject— Information about the hours.custom_hoursarray— The custom hours' settings. Returned only for the `Custom hours` type.Items: custom_hour_rangesarray— The custom hours' range. Returned only for the `Customized hours` type.Items: end_timestring— The custom hours' end time, in `HH:mm` and `24-hour clock` format.start_timestring— The custom hours' start time, in `HH:mm` and `24-hour clock` format.
custom_hour_typeinteger, possible values:0, 1, 2— The type of custom hours. * `0` - Disabled. * `1` - 24 hours. * `2` - Customized hours.day_of_weekinteger, possible values:1, 2, 3, 4, 5, 6, 7— The day of the week. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - Sunday
hour_typeinteger, possible values:1, 2— The type of business hours. * `1` - 24 hours, 7 days a week. * `2` - Custom hours.
timezonestring— The business hours' timezone ID.
date_timestring— The date and time when the business hours are updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"updates": {
"business_hour_name": "",
"business_hour_description": "",
"timezone": "",
"account_default": true,
"hours": {
"hour_type": 1,
"custom_hours": [
{
"day_of_week": 1,
"custom_hour_type": 0,
"custom_hour_ranges": [
{
"start_time": "",
"end_time": ""
}
]
}
]
}
},
"division_id": "",
"division_name": ""
}
}
}Contact_center.call_control_hold_call_executedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control hold call.date_time_ms(required)string, format:date-time— The date and time when an active call is placed on hold by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_agent_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned queue agent.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the agent was assigned to the queue, to the millisecond.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the agent was assigned to the queue, to the second.display_namestring— The user's display name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_conference_participant_joinedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement conference participant joined.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant joined the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.joining_participant(required)object— The participant who joined the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"joining_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.business_hours_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted business hours.business_hour_id(required)string— The business hours' ID.date_time_ms(required)string— The date and time when the business hours are deleted, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.date_timestring— The date and time when the business hours are deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"business_hour_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.inbox_message_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was deleted, to the millisecond.delete_type(required)string, possible values:"Soft delete", "Hard delete"— The message's delete type.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobjectuser_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"delete_type": "Soft delete",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_reservation_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null,
"division_id": "",
"division_name": ""
}
}
}Contact_center.sms_statusEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the SMS status.date_time_ms(required)string, format:date-time— The SMS status update time, to the millisecond.message_id(required)string— Call `/v2/contact_center/sms` to return the message ID. It uniquely represents this message.status(required)string, possible values:"delivered", "undelivered", "failed"— The SMS sent status. * `delivered` * `undelivered` * `failed`consumer_numberstring— The SMS' source number.contact_center_numberstring— The SMS' destionation number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.reasonstring— If the SMS status is `failed` or `undelivered`, give the reason here.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"contact_center_number": "",
"status": "delivered",
"consumer_number": "",
"reason": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.closure_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created closure set.account_default(required)boolean— Default closure for the newly created queue.closure_set_id(required)string— The closure's ID.closure_set_name(required)string— The closure set's name.closures(required)array— Information about the closures.Items: closure_id(required)string— The closure's ID.closure_name(required)string— The closure's name.closure_hour_typeinteger, possible values:1, 2— The closure's time type. * `1` - All day. * `2` - Customized time.end_timestring, format:datetime— The closure's end time.recurring_days_of_weekarray— The week days of a recurrence. Returns only for the `Weekly/Customized`, the `Weekly/Specific`, the `Annually/Customized`, and the `Monthly/Customized` recurrence time types. When the type is `Weekly/Customized`, there may be multiple values. * `1` - Monday * `2` - Tuesday * `3` - Wednesday * `4` - Thursday * `5` - Friday * `6` - Saturday * `7` - SundayItems: integer, possible values:1, 2, 3, 4, 5, 6, 7recurring_frequencyinteger, possible values:0, 1, 2, 3— The frequency of a closure's recurrence. * `0` - Never. * `1` - Annually. * `2` - Monthly. * `3` - Weekly.recurring_frequency_typeinteger, possible values:1, 2— The closure time's type of recurrence. Applies to `Annually`, `Monthly`, and `Weekly` repeat frequency. Returns only for the not `Never` recurrence type. * `1` - Specific. * `2` - Customized.recurring_monthinteger, possible values:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12— The recurrence month. Returns only for the `Annually` recurrence type. * `1` - January * `2` - February * `3` - March * `4` - April * `5` - May * `6` - June * `7` - July * `8` - August * `9` - September * `10` - October * `11` - November * `12` - Decemberrecurring_week_intervalinteger— The number of weekly recurrences. Returns only for the `Customized` recurrence time types. When the type is `Annually/Customized` or `Monthly/Customized`, the minimum value is `1` and the maximum value is `5`. When it is `Weekly/Customized`, the minimum value is `1` and the maximum value is `12`.start_timestring, format:datetime— The closure's start time.
date_time_ms(required)string— The date and time when the closure set is created, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.timezone(required)string— The closure set's timezone ID.closure_set_descriptionstring— The closure set's description.date_timestring— The date and time when the closure is created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"closure_set_name": "",
"closure_set_description": "",
"timezone": "",
"account_default": true,
"closures": [
{
"closure_id": "",
"closure_name": "",
"closure_hour_type": 1,
"start_time": "",
"end_time": "",
"recurring_frequency": 0,
"recurring_frequency_type": 1,
"recurring_month": 1,
"recurring_week_interval": 1,
"recurring_days_of_week": [
1
]
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_canceledEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled task.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cancel_reasonstring, possible values:"abandoned", "missed"— The cancellation reason for an inbound task routed to a queue. This field applies only to the voice channel. `abandoned` indicates that the customer hung up while waiting. `missed` indicates that the queue waiting timed out.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.task_priorityinteger— The task's priority, from `0` to `10`. The greater the value, the higher the priority. The maximum value is `10`.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"flow_id": "",
"task_status": "pending",
"cancel_reason": "abandoned",
"flow_name": "",
"channel_id": "",
"channel_name": "voice",
"task_priority": 0,
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.legacy_engagement_end_data_readyEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement-end report V1 data.channel(required)string, possible values:"voice", "video", "messaging", "email"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement-end data is ready, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.start_time(required)string, format:date-time— The date and time when the engagement started, to the millisecond.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"start_time": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_upgrade_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed engagement upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement completed, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement completed, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement completed.flow_namestring— The flow name where the engagement completed.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel's type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Contact_center.recording_startedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's started recording.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The recording's start time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The recording's start time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID, such as a queue ID or user ID.owner_namestring— The recording's owner name, such as a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"date_time_ms": "",
"recording_type": "on_demand",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.consumer_messaging_opt_inEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the consumer opt-in event.date_time_ms(required)string, format:date-time— The time of the opt-in event, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the opt-in.smsobject— The SMS opt-in details.campaign_idstring— The 10DLC campaign ID. Returned only when the campaign is configured to apply opt-in and opt-out preferences to all phone numbers associated with the campaign.consumer_numberstring— The consumer's phone number in E.164 format.contact_center_numberstring— The Contact Center phone number in E.164 format.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"sms": {
"consumer_number": "",
"contact_center_number": "",
"campaign_id": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.closure_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted closure set.closure_set_id(required)string— The closure set's ID.date_time_ms(required)string— The date and time when the closure set is deleted, to the millisecond.modified_by(required)string— The ID of the user that last modified this data.date_timestring— The date and time when the closure is deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"closure_set_id": "",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.user_loginEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user login.date_time_ms(required)string, format:date-time— The date and time when the user logged in to Contact Center, to the millisecond.display_name(required)string— The user's display name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user logged in to Contact Center, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_conference_canceledEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement conference.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.date_time_ms(required)string, format:date-time— The date and time when the engagement conference was canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's IDteam_namestring— The team's name
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.user_skills_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the skills assigned to the user.date_time_ms(required)string, format:date-time— The date and time when the skills were assigned to the user, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.skills(required)array— The skills assigned to the user.Items: skill_id(required)string— The skill's ID.
user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"skills": [
{
"skill_id": "s0pP7Z_AcR_6xUiAS2SLE1g"
}
],
"date_time_ms": ""
}
}
}Contact_center.engagement_user_sent_fileEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-sent files in the engagement.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.files(required)array— The file details.Items: download_url(required)string— Attachment download link.file_id(required)string— The file's unique ID.file_name(required)string— The file's name.file_size(required)integer, format:int64— The file's size.file_type(required)string, possible values:"Image", "Audio", "Video", "File", "Link"— The file's type.
user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"web_chat", "sms", "facebook_messenger", "whatsapp", "in_app_chat"— The channel's source. * `in_app_chat` - Only applies to the messaging channel. * `web_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "web_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"files": [
{
"file_id": "",
"file_name": "",
"file_size": 1,
"file_type": "Image",
"download_url": ""
}
]
}
}
}Contact_center.engagement_consumer_answeredEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement consumer answered.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The consumer's answer time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer phone number.date_timestring, format:date-time— The consumer's answer time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_endedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement ended.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement ended, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "whatsapp", "facebook_messenger", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.date_timestring, format:date-time— The date and time when the engagement ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement ended.flow_namestring— The flow name where the engagement ended.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": ""
}
}
}Contact_center.user_opt_inEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user queue opt-in.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the user opted in to a queue, to the millisecond.display_name(required)string— The user's display name.queue_name(required)string— The queue's name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user opted in to a queue, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_transfer_timeoutEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement transfer timeout.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer timed out, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer timed out, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer's level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer's type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Contact_center.recording_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's recording completed.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.recording_id(required)string— The recording's unique ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice", "video"— The task's channel type. * `voice` * `video`consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.owner_idstring— The recording's owner ID - either a queue ID or user ID.owner_namestring— The recording's owner name - either a queue name or user name.owner_typestring, possible values:"user", "queue"— The recording's owner type. * `user` - This recording belongs to a user. * `queue` - This recording belongs to a queue.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.recording_durationinteger— The recording's duration, to the second.recording_end_timestring, format:date-time— The recording's end time, to the second.recording_end_time_msstring, format:date-time— The recording's end time, to the millisecond.recording_start_timestring, format:date-time— The recording's start time, to the second.recording_start_time_msstring, format:date-time— The recording's start time, to the millisecond.recording_typestring, possible values:"on_demand", "automatic"— The recording's type. * `on_demand` - Manually trigger recording. * `automatic` - Automatically trigger recording.user_display_namestring— The user's display name.user_idstring— The user's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"recording_start_time_ms": "",
"recording_end_time_ms": "",
"recording_type": "on_demand",
"recording_duration": 1,
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"owner_id": "",
"owner_name": "",
"owner_type": "user",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_transfer_acceptedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the accepted engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is accepted, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is accepted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID.flow_namestring— The flow name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Contact_center.team_movedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was moved, to the millisecond.new_parent_team_id(required)string— The team's new parent team ID.new_parent_team_name(required)string— The team's new parent team name.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.previous_parent_team_idstring— The team's previous parent team ID.previous_parent_team_namestring— The team's previous parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1754387110151,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Example Team",
"team_description": "This is a example team.",
"previous_parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"previous_parent_team_name": "Previous Parent Example Team",
"new_parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"new_parent_team_name": "Parent Example Team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-09-15T09:27:15.988Z"
}
}
}Contact_center.user_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created user.date_time_ms(required)string, format:date-time— The date and time when the user was created, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.channel_settingsobject— Information about the channel settings.concurrent_email_capacityinteger— The maximum number of concurrent email conversations that can be assigned to a user.concurrent_message_capacityinteger— The maximum number of concurrent messaging conversations that can be assigned to a user.email_occupiedboolean— Mark the user's status as `Occupied` if they lack capacity for an additional active email engagement.messaging_occupiedboolean— Mark the user's status as `Occupied` if they lack capacity for an additional active messaging engagement.multi_channel_engagementsobject— Information about the setting's multi-channel engagements.email_max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, this is the maximum load percentage that a user needs to take in order to receive voice and video calls. This value is based on the engagements the user is currently handling.enableboolean— Whether to allow users to receive voice or video engagements while handling chat and SMS engagements based on the `max_agent_load` value.max_agent_loadinteger— If the `multi_channel_engagements` value is `true`, the maximum load percentage an user needs to undertake in order to receive voice and video calls. This value is based on the engagements the user is currently handling.
client_integrationstring, possible values:"Default", "Salesforce", "Zendesk", "ServiceNow", "Microsoft_Dynamics_365"— The contact center's client integration. * `Default` * `Salesforce` * `Zendesk` * `ServiceNow` * `Microsoft_Dynamics_365`country_iso_codestring— The [ISO country code](/docs/api/references/abbreviations/#countries).date_timestring, format:date-time— The date and time when the user was created, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.emergency_callingboolean— Allow users to contact emergency services through their device's native phone system or Zoom Phone.status_idstring— The user's status ID.status_namestring, possible values:"Offline", "Ready", "Not Ready", "Occupied"— The user's status name.user_accessstring, possible values:"active", "inactive"— The user's access status. * `active` - The user's role permissions allow them to access the Contact Center. * `inactive` - The user cannot access the Contact Center.user_add_ons_plansarray— The user's Contact Center add-ons plan.Items: add_ons_plan_namestring, possible values:"ai_expert_assist", "zoom_contact_center_for_service_cloud_voice"— The Contact Center add-ons plan's name.
user_intentsarray— The user's intents.Items: intent_group_idstring— The intent's group ID.intent_idstring— The intent's ID.
user_packageobject— The user's Contact Center plan.package_namestring, possible values:"essentials", "premium", "elite"— The Contact Center plan's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"status_id": "",
"status_name": "Offline",
"client_integration": "Default",
"user_access": "active",
"country_iso_code": "",
"channel_settings": {
"multi_channel_engagements": {
"enable": true,
"max_agent_load": 1,
"email_max_agent_load": 1
},
"concurrent_message_capacity": 0,
"concurrent_email_capacity": 0,
"messaging_occupied": true,
"email_occupied": true
},
"emergency_calling": true,
"user_intents": [
{
"intent_group_id": "Ql3qxUWXSHes4PmcOmzyOg",
"intent_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"user_package": {
"package_name": "essentials"
},
"user_add_ons_plans": [
{
"add_ons_plan_name": "ai_expert_assist"
}
],
"date_time_ms": ""
}
}
}Contact_center.inbox_message_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the inbox message assigned.assign_type(required)string, possible values:"Manual", "Auto Assign"— The message's assign type.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was assigned, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.previous_user_display_namestring— The message previously assigned to a user's display name.previous_user_idstring— The message previously assigned to a user's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"previous_user_id": "",
"previous_user_display_name": "",
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"assign_type": "Manual",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_entered_queueEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task that entered the queue.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The time the task entered the queue, to the millisecond.engagement_id(required)string— The engagement's ID.task_id(required)string— The task's ID.channelstring, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "in_app_chat", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— The distribution duration, to the second.distribution_typeinteger— Use this option to distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSqueue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.teamsobjecttransferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"task_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"engagement_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.asset_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the deleted asset.archived(required)objectasset_id(required)objectasset_name(required)objectdate_time_ms(required)objectmodified_by(required)objectarchived_timeobjectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"asset_name": null,
"archived": null,
"archived_time": null,
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Contact_center.team_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the team.date_time_ms(required)string, format:date-time— The date and time when the team was created.team_id(required)string— The team's ID.team_name(required)string— The team's name.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.parent_team_idstring— The team's parent team ID.parent_team_namestring— The team's parent team name.team_descriptionstring— The team's description.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"team_name": "Sales Team",
"team_description": "This is the sales team",
"parent_team_id": "PZy04MG_Q7Gytg9k7CVU6w",
"parent_team_name": "Online sales team",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-15T09:27:15.988Z"
}
}
}Contact_center.engagement_startedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement started.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement started, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"chat", "in_app_chat", "voice", "video", "sms", "messaging"— The engagement's channel type. * `chat` * `in_app_chat` * `voice` * `video` * `sms` * `messaging`date_timestring, format:date-time— The date and time the engagement started, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.transfer_fromstring, possible values:"zoom_phone"— The name of the other Zoom product if the engagement is transferred from another Zoom product to Contact Center. Currently only supports transfer from Zoom Phone for voice channel.transfer_from_idstring— The unique session identifier of another Zoom product, such as a Zoom Phone call ID, if the engagement is transferred from another Zoom product to Contact Center. Currently only supports transfer from Zoom Phone for voice channel.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"date_time_ms": "",
"transfer_from": "zoom_phone",
"transfer_from_id": ""
}
}
}Contact_center.engagement_transfer_reservedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the reserved engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is reserved, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is reserved, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer's level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer's type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_upgrade_initiatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the initiated engagement upgrade.channel(required)string, possible values:"voice", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the engagement upgrade was initiated, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.users(required)array— Information about the users.Items: user_id(required)string— The user's ID.teamsobjectuser_display_namestring— The user's display name.
cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel.consumersarray— Information about the consumers.Items: consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.
date_timestring, format:date-time— The date and time when the engagement upgrade was initiated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow ID where the engagement initiated.flow_namestring— The flow name where the engagement initiated.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.upgrade_to_channelstring, possible values:"video"— The upgraded channel type.upgrade_to_channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The upgraded channel's source.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"upgrade_to_channel": "video",
"upgrade_to_channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"users": [
{
"user_id": "",
"user_display_name": "",
"teams": null
}
],
"consumers": [
{
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": ""
}
],
"date_time_ms": ""
}
}
}Contact_center.asset_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the asset.asset_id(required)objectdate_time_ms(required)objectmodified_by(required)objectupdates(required)object— Information about the updated asset.asset_descriptionobjectasset_item_addedobjectasset_item_deletedobjectasset_item_updatedobjectasset_nameobjectcategory_idobjectrestoreobject
division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"asset_id": null,
"updates": {
"asset_name": null,
"asset_description": null,
"asset_item_added": null,
"asset_item_updated": null,
"asset_item_deleted": null,
"category_id": null,
"restore": null
},
"modified_by": null,
"date_time_ms": null,
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_user_sent_messageEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-sent message in the engagement.channel(required)string, possible values:"messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.message_text(required)string— The message's content.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_chat` - Only applies to the messaging channel. * `web_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.message_style_typestring, possible values:"text", "html"— The message content format.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "messaging",
"channel_source": "in_app_chat",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"message_text": "",
"message_style_type": "text"
}
}
}Contact_center.task_exited_queueEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task that exited the queue.cc_queue_id(required)string— The Contact Center queue's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The task exited queue time, to the millisecond.engagement_id(required)string— The engagement's ID.task_id(required)string— The task's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to the video channel. * `kiosk_video` - Only applies to the video channel. * `web_video` - Only applies to the video channel. * `web_chat` - Only applies to the messaging channel. * `in_app_chat` - Only applies to the messaging channel. * `sms` - Only applies to the messaging channel. * `facebook_messenger` - Only applies to the messaging channel. * `whatsapp` - Only applies to the messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.channel_typesarray— The task queue's channel types.Items: string, possible values:"voice", "chat", "sms", "video", "in_app_chat", "email", "work_item"connecting_media_idstring— Notify duration for each queue user, to the second.connecting_media_namestring— File name of the media in use while consumers are being connected. Channel type - voicedisposition_sets_countinteger— The count of disposition sets.dispositions_countinteger— The count of dispositions.distribution_duration_in_secondsinteger— The distribution duration, to the second.distribution_typeinteger— Use this option to distribute incoming engagements.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow name.holding_media_idstring— Media ID to use while users are on hold. Channel type - voiceholding_media_namestring— File name of the media to use while users are on hold. Channel type - voicemax_engagement_in_queueinteger— The task queue's maximum engagement in queue. Value must be between 1 and 3000.max_wait_timeinteger— Maximum wait time, to the second.message_acceptstring, possible values:"manual", "auto"— Option to accept a message manually or automatically. Channel type - chat, SMSqueue_descriptionstring— The task queue's description.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.short_abandon_enableboolean— Whether to enable the **Short Abandon** setting.short_abandon_thresholdinteger— The task queue's short abandon threshold, to the second.teamsobjecttransferring_media_idstring— Media ID to use while users are being transferred. Channel type - voicetransferring_media_namestring— File name of the media to use while users are being transferred. Channel type - voicewaiting_room_idstring— ID of the waiting room for users. Channel type - videowaiting_room_namestring— Name of the user's waiting room. Channel type - videowrap_up_timeinteger— The task queue's wrap up time, to the second.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"flow_id": "",
"flow_name": "",
"task_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"queue_description": "",
"dispositions_count": 1,
"disposition_sets_count": 1,
"max_wait_time": 1,
"wrap_up_time": 1,
"max_engagement_in_queue": 1,
"short_abandon_enable": true,
"short_abandon_threshold": 1,
"distribution_type": 1,
"distribution_duration_in_seconds": 1,
"connecting_media_id": "",
"connecting_media_name": "",
"transferring_media_id": "",
"transferring_media_name": "",
"holding_media_id": "",
"holding_media_name": "",
"waiting_room_name": "",
"waiting_room_id": "",
"message_accept": "manual",
"engagement_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.call_control_unhold_call_executedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the executed call control unhold call.date_time_ms(required)string, format:date-time— The date and time when a held call was resumed by using the **Command Control of user** API, to the millisecond.engagement_id(required)string— The engagement's ID.request_id(required)string— The app request ID.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"request_id": "xqJE_cgERLyAJHYYL5LLeg",
"engagement_id": "u154t5-ASlK83fZb1YWqgw",
"user_id": "user_123456789",
"date_time_ms": "2025-12-30T06:36:27Z",
"division_id": "",
"division_name": ""
}
}
}Contact_center.user_skills_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the skills unassigned from the user.date_time_ms(required)string, format:date-time— The date and time when the skills were unassigned from the user, to the millisecond.display_name(required)string— The user's display name.role_id(required)string— The user's role ID.role_name(required)string— The user's role name.skills(required)array— The skills unassigned from the user.Items: skill_id(required)string— The skill's ID.
user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"skills": [
{
"skill_id": "s0pP7Z_AcR_6xUiAS2SLE1g"
}
],
"date_time_ms": ""
}
}
}Contact_center.task_reservation_rejectedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the rejected task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Contact_center.queue_disposition_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue disposition configuration change.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type this configuration change applies to.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when a queue's disposition configuration (default disposition, requirement, or enabled status) is updated, in milliseconds.division_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.updates(required)object— The disposition configuration fields that changed in this call. Fields that did not change are omitted.default_disposition_idstring— The new default disposition's ID. Present only if the default disposition changed in this call.default_disposition_namestring— The new default disposition's name. Present only if the default disposition changed in this call.disposition_requiredboolean— Whether disposition selection is mandatory (`true`) or optional (`false`) for this queue. Present only if this setting changed in this call.enable_dispositionboolean— Whether the disposition feature is now enabled (`true`) or disabled (`false`). Present only if this setting changed in this call.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"updates": {
"default_disposition_id": "",
"default_disposition_name": "",
"disposition_required": true,
"enable_disposition": true
}
}
}
}Contact_center.inbox_message_receivedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the received inbox message.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the message was received, to the millisecond.engagement_direction(required)string, possible values:"inbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.inbox_id(required)string— The inbox's ID.inbox_name(required)string— The inbox's name.message_id(required)string— The message's ID.cc_queue_idstring— The Contact Center queue's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"cc_queue_id": "",
"queue_name": "",
"teams": null,
"flow_id": "",
"flow_name": "",
"flow_number": "",
"consumer_number": "",
"inbox_id": "",
"inbox_name": "",
"message_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_transfer_canceledEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the canceled engagement transfer.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is canceled, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is canceled, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "did"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Contact_center.recording_permanently_deletedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement's permanently deleted recording.date_time_ms(required)string, format:date-time— The date and time when the recording was permanently deleted, to the millisecond.recording_id(required)string— The recording's unique ID.date_timestring, format:date-time— The date and time when the recording was permanently deleted, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"recording_id": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.queue_operating_hours_updatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queue operating hours.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the operating hours are updated, to the millisecond.updates(required)object— Information about the updated queue operating hours.account_default_business_hourboolean— Whether this is the account's default business hours.account_default_closure_setboolean— Whether this is the account's default closure set.business_hour_idstring— The business hour's ID.business_hour_namestring— The business hour's name.closure_set_idstring— The closure set's ID.closure_set_namestring— The closure set's name.
date_timestring, format:date-time— The date and time when the operating hours are updated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.queue_idstring— The queue's ID.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"date_time_ms": "",
"cc_queue_id": "",
"division_id": "",
"division_name": "",
"updates": {
"business_hour_id": "",
"business_hour_name": "",
"account_default_business_hour": true,
"closure_set_id": "",
"closure_set_name": "",
"account_default_closure_set": true
}
}
}
}Contact_center.engagement_transfer_initiatedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the initiated engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is initiated, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is initiated, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement's queue's ID.queue_namestring— The engagement's queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent", "flow", "inbox", "did"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center queue's ID.transfer_to_flow_idstring— The transfer's flow ID. This displays when the `transfer_level` is `flow`.transfer_to_flow_namestring— The transfer's flow name. This displays when the `transfer_level` is `flow`.transfer_to_inbox_idstring— The transfer's inbox ID. This displays when the `transfer_level` is `inbox`.transfer_to_inbox_namestring— The transfer's inbox name. This displays when the `transfer_level` is `inbox`.transfer_to_numberstring— The transfer's phone number. This displays when the `transfer_level` is `did`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"transfer_to_flow_id": "",
"transfer_to_flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"transfer_to_inbox_id": "",
"transfer_to_inbox_name": "",
"transfer_to_number": "",
"date_time_ms": ""
}
}
}Contact_center.engagement_takeover_startedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the started engagement takeover.channel(required)string, possible values:"voice"— The task's channel.date_time_ms(required)string, format:date-time— The monitor initiation time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.takeover_user_display_name(required)string— The takeover user's display name.takeover_user_id(required)string— The takeover user's ID.user_display_name(required)string— The assigned user's display name.user_id(required)string— The assigned user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.contact_center_numberstring— The user's contact center phone number.date_timestring, format:date-time— The monitor initiation time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"takeover_user_id": "",
"takeover_user_display_name": "",
"contact_center_number": "",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_conference_participant_leftEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant leaving the engagement conference.channel(required)string, possible values:"voice"— The task's channel.conference_id(required)string— The conference's ID.conference_participants(required)array— The participants currently in the engagement conference.Items: participant_display_namestring— The participant's display name.participant_phone_numberstring— The participant's phone number, only applies to phone number participant.participant_rolestring, possible values:"customer", "host", "invitee"— The participant's role.participant_user_idstring— The participant's user ID.
date_time_ms(required)string, format:date-time— The date and time when the participant left the engagement conference, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.flow_id(required)string— The flow ID.flow_number(required)string— The flow's phone number.leaving_participant(required)object— The participant who left the engagement conference.participant_phone_numberstring— The participant's phone number.participant_queue_idstring— The queue ID from which the participant was invited to the conference.participant_user_idstring— The participant's user ID.
division_idstring— The division's ID.division_namestring— The division's name.flow_namestring— The flow name.teamsarray— The user's teams.Items: team_idstring— The team's ID.team_namestring— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
],
"date_time_ms": "",
"conference_id": "",
"conference_participants": [
{
"participant_user_id": "",
"participant_display_name": "",
"participant_role": "customer",
"participant_phone_number": ""
}
],
"leaving_participant": {
"participant_user_id": "",
"participant_queue_id": "",
"participant_phone_number": ""
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}Contact_center.voicemail_transcript_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed voicemail transcript.date_time_ms(required)string, format:date-time— The date and time when the engagement ended, to the millisecond.engagement_id(required)string— The engagement ID.inbox_id(required)string— The inbox's unique ID.inbox_name(required)string— The inbox's name.message_id(required)string— The voicemail's unique ID.cc_queue_idstring— The Contact Center queue's ID.consumer_display_namestring— The consumer's display name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the engagement ended, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.message_durationinteger— The inbox message's duration, to the second.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.statusstring, possible values:"normal", "deleted"— The inbox message soft delete flag.teamsobjecttranscript_urlstring— The URL to the voicemail transcript.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"inbox_id": "",
"inbox_name": "",
"engagement_id": "",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"transcript_url": "",
"message_duration": 1,
"consumer_number": "",
"consumer_id": "",
"consumer_display_name": "",
"status": "normal"
}
}
}Contact_center.task_reservation_acceptedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the accepted task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` - Only applies to email channel. * `work_item_api` - Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": "",
"teams": null
}
}
}Contact_center.engagement_email_transcript_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the email engagement.channel(required)string, possible values:"email"— The task's channel. * `email`channel_source(required)string, possible values:"email_address"— The channel's source. * `email_address` - Only applies to email channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.date_time_msstring, format:date-time— The date and time when the email transcript was completed, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID where the engagement ended.flow_namestring— The engagement's flow name where the engagement ended.transcript_urlstring— The URL to download the recording transcript file. If a user has authorized and installed your OAuth app containing contact center recording scopes, use the user's [OAuth access token](/docs/integrations/oauth/) to download the file, and set the `access_token` as a Bearer token in the Authorization header. `curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://{{base-domain}}/rec/archive/download/xyz`
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "u1ASlK83fZb54t5-1YWqgw",
"engagement_direction": "inbound",
"channel": "email",
"channel_source": "email_address",
"flow_id": "ZWWC0A840C726C2CE3ACF01041CB8CFD8B9",
"flow_name": "Email Flow",
"division_id": "",
"division_name": "",
"transcript_url": "https://api.zoom.us/v2/contact_center/email/messages?engagement_id=u1ASlK83fZb54t5-1YWqgw&direction=forward&page_size=30",
"date_time_ms": "2023-05-15T09:27:15.987Z"
}
}
}Contact_center.user_phone_numbers_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user's unassigned phone numbers.date_time_ms(required)string, format:date-time— The date and time when the user phone numbers were unassigned from the user, to the millisecond.display_name(required)string— The user's display name.phone_numbers(required)array— The phone numbers unassigned from the user.Items: phone_number(required)string— The phone number, in E164 format.phone_number_id(required)string— The phone number's ID.
role_id(required)string— The user's role ID.role_name(required)string— The user's role name.user_email(required)string, format:email— The user's email address.user_id(required)string— The user's ID.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"teams": null,
"user_email": "",
"role_id": "",
"role_name": "",
"division_id": "",
"division_name": "",
"phone_numbers": [
{
"phone_number": "+12093412723",
"phone_number_id": "OlK7lczzT_e7h6p1Q6wGdg"
}
],
"date_time_ms": ""
}
}
}Contact_center.engagement_user_unholdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user that came off hold in the engagement.channel(required)string, possible values:"voice", "video"— The task's channel. * `voice` * `video`date_time_ms(required)string, format:date-time— The user's off-hold time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel.channel_typestring, possible values:"voice"— The task's channel type. * `voice`consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's off-hold time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"flow_id": "",
"flow_name": "",
"division_id": "",
"division_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"date_time_ms": ""
}
}
}Contact_center.user_logoutEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user logout.date_time_ms(required)string, format:date-time— The date and time when the user logged out of Contact Center, to the millisecond.display_name(required)string— The user's display name.user_id(required)string— The user's ID.date_timestring, format:date-time— The date and time when the user logged out of Contact Center, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.teamsobjectuser_emailstring— The user's email.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"user_id": "",
"display_name": "",
"user_email": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_video_participant_leftEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the participant who left the video engagement.channel(required)string, possible values:"video"— The engagement's channel.channel_source(required)string, possible values:"in_app_video", "kiosk_video", "web_video"— The video channel's source.date_time_ms(required)string, format:date-time— The date and time when the participant left the engagement, to the millisecond.engagement_id(required)string— The engagement's ID.leave_reason(required)string, possible values:"left", "transitioned", "removed", "ended_via_api", "network_failure", "system_terminated", "unknown"— The standardized reason why the participant left the engagement. * `left` - The participant left the engagement. * `transitioned` - The participant left because of a routing transition. * `removed` - The participant was removed from the engagement. * `ended_via_api` - The participation ended through an API request. * `network_failure` - The participant left because of a connection failure. * `system_terminated` - The participation was terminated by the system. * `unknown` - The leave reason could not be determined.leave_reason_detail(required)string, possible values:"end_clicked", "leave_clicked", "manual_leave", "signed_out", "routing_change", "host_removed", "api_request", "connection_lost", "session_ended", "flow_ended", "consumer_left", "customer_cancelled", "timeout", "workflow_completed", "session_cleanup", "page_closed", "engagement_end", "unknown"— Additional details about why the participant left the engagement. * `end_clicked` - The participant selected **End**. * `leave_clicked` - The participant selected **Leave**. * `manual_leave` - The participant manually left the engagement. * `signed_out` - The participant signed out. * `routing_change` - A routing change caused the participant to leave. * `host_removed` - The host removed the participant. * `api_request` - An API request ended the participation. * `connection_lost` - The participant's connection was lost. * `session_ended` - The video session ended. * `flow_ended` - The flow ended. * `consumer_left` - The consumer left the engagement. * `customer_cancelled` - The customer cancelled the engagement. * `timeout` - A timeout ended the participation. * `workflow_completed` - The workflow completed. * `session_cleanup` - Session cleanup removed the participant. * `page_closed` - The consumer closed or refreshed the page. * `engagement_end` - The engagement ended without a more specific reason. * `unknown` - The detailed leave reason could not be determined.participant_id(required)string— The participant's internal identifier.participant_type(required)string, possible values:"agent", "supervisor", "consumer", "unknown"— The participant's role in the engagement. * `agent` - The participant is an agent. * `supervisor` - The participant is a supervisor. * `consumer` - The participant is a consumer. * `unknown` - The participant type could not be determined.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.participant_namestring— The participant's display name.teamsarray— The teams associated with the agent or supervisor.Items: team_id(required)string— The team's ID.team_name(required)string— The team's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"channel": "video",
"channel_source": "web_video",
"participant_id": "",
"participant_name": "",
"participant_type": "agent",
"leave_reason": "left",
"leave_reason_detail": "end_clicked",
"date_time_ms": "",
"division_id": "",
"division_name": "",
"teams": [
{
"team_id": "",
"team_name": ""
}
]
}
}
}Contact_center.task_reservation_completedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the completed task reservation.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's channel type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `web_chat` - Only applies to messaging channel. * `in_app_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"engagement_direction": "inbound",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": ""
}
}
}Contact_center.queue_scheduled_callback_createdEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the created scheduled callback.attendees(required)objectcc_queue_id(required)objectqueue_channel(required)objectqueue_name(required)objectstart_time(required)objectdivision_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"start_time": null,
"cc_queue_id": null,
"queue_name": null,
"queue_channel": null,
"attendees": null,
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_survey_statusEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the engagement survey.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel. * `voice` * `video` * `messaging`date_time_ms(required)string, format:date-time— The date and time when the engagement survey's status is triggered, to the millisecond.engagement_id(required)string— The engagement's ID.survey_id(required)string— The survey's ID.survey_status(required)string, possible values:"sent", "question_submitted", "completed", "cancelled"— The engagement survey's status. * `sent` * `question_submitted` * `completed` * `cancelled`survey_trigger_from(required)string, possible values:"queue", "flow"— The triggered survey's source. * `queue` * `flow`user_id(required)string— The last agent's ID.cc_queue_idstring— The Contact Center queue's ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.consumer_display_namestring— The consumer's display name.consumer_emailstring— The consumer's email.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_namestring— The engagement queue's name.survey_question_idstring— The survey question's ID. Only has a value if the survey status is `question_submitted` and channel is `voice`.teamsobjectuser_display_namestring— The last agent's display name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"survey_status": "sent",
"survey_id": "",
"survey_question_id": "",
"survey_trigger_from": "queue",
"consumer_id": "",
"consumer_number": "",
"consumer_display_name": "",
"consumer_email": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.task_reservation_timeoutEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the task reservation's timeout.assigned_user_id(required)string— The task's assigned user's ID.channel(required)string, possible values:"voice", "video", "messaging", "email", "work_item"— The task's channel.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.task_reservation_id(required)string— The reservation's ID.auto_assignboolean— Whether the task gets manually assigned to a target.callee_numberstring— The callee's phone number.caller_numberstring— The caller's phone number.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The task's channel ID.channel_namestring, possible values:"voice", "sms", "chat", "video", "in_app_chat", "email", "work_item"— The task's type.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "web_chat", "in_app_chat", "sms", "facebook_messenger", "whatsapp", "email_address", "work_item_api"— The channel's source. * `in_app_video` — Only applies to video channel. * `kiosk_video` — Only applies to video channel. * `web_video` — Only applies to video channel. * `web_chat` — Only applies to messaging channel. * `in_app_chat` — Only applies to messaging channel. * `sms` — Only applies to messaging channel. * `facebook_messenger` — Only applies to messaging channel. * `whatsapp` — Only applies to messaging channel. * `email_address` — Only applies to email channel. * `work_item_api` — Only applies to work_item channel.created_timestring, format:date-time— The date and time when the task was created, to the second.created_time_msstring, format:date-time— The date and time when the task was created, to the millisecond.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The task's flow ID.flow_namestring— The flow's name.last_modified_timestring, format:date-time— The date and time when the task was last modified, to the second.last_modified_time_msstring, format:date-time— The date and time when the task was last modified, to the millisecond.queue_idstring— The task queue's ID.queue_namestring— The task queue's name.request_idstring— The app request ID when the task is created by using [**Command control of a user**](/docs/api/contact-center/#tag/call-control/post/contact_center/users/{userId}/commands).task_timeoutinteger— The task queue's timeout, to the second.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_reservation_id": "",
"task_id": "",
"flow_id": "",
"assigned_user_id": "",
"flow_name": "",
"channel": "voice",
"channel_source": "in_app_video",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"teams": null,
"created_time_ms": "",
"last_modified_time_ms": "",
"engagement_id": "",
"auto_assign": true,
"task_timeout": 1,
"caller_number": "",
"callee_number": "",
"request_id": ""
}
}
}Contact_center.queue_disposition_unassignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the disposition(s) unassigned from the queue.assign_type(required)string, possible values:"inbound", "outbound", "upgrade_to_voice", "upgrade_to_video"— The queue assignment type the disposition(s) were unassigned from.cc_queue_id(required)string— The Contact Center queue's ID.date_time_ms(required)string, format:date-time— The date and time when the disposition(s) were removed from the queue, in milliseconds.dispositions(required)objectdivision_id(required)string— The division's ID.division_name(required)string— The division's name.modified_by(required)string— The ID of the operator who made this change.queue_name(required)string— The queue's name.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"cc_queue_id": "",
"queue_name": "",
"dispositions": null,
"assign_type": "inbound",
"modified_by": "",
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_user_endedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-ended engagement.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's end time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address book contact display name.consumer_idstring— The consumer's address book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's end time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.engagement_user_answeredEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the user-answered engagement.channel(required)string, possible values:"voice", "video", "messaging"— The task's channel.date_time_ms(required)string, format:date-time— The user's answer time, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The engagement's ID.user_display_name(required)string— The user's display name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_idstring— The engagement's channel ID.channel_sourcestring, possible values:"in_app_video", "kiosk_video", "web_video", "in_app_chat", "web_chat", "sms", "facebook_messenger", "whatsapp"— The channel's source. * `in_app_video` - Only applies to video channel. * `kiosk_video` - Only applies to video channel. * `web_video` - Only applies to video channel. * `in_app_chat` - Only applies to messaging channel. * `web_chat` - Only applies to messaging channel. * `sms` - Only applies to messaging channel. * `facebook_messenger` - Only applies to messaging channel. * `whatsapp` - Only applies to messaging channel.channel_typestring, possible values:"voice"— The task's channel type.consumer_display_namestring— The consumer's address-book contact display name.consumer_idstring— The consumer's address-book contact ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The user's answer time, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The engagement's flow ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.teamsobject
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"channel_source": "in_app_video",
"date_time_ms": "",
"flow_id": "",
"flow_name": "",
"cc_queue_id": "",
"queue_name": "",
"consumer_number": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"flow_number": "",
"consumer_id": "",
"consumer_display_name": "",
"division_id": "",
"division_name": ""
}
}
}Contact_center.team_members_assignedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the assigned members.date_time_ms(required)string, format:date-time— The date and time when the user is assigned to the team.team_id(required)string— The team's ID.team_role(required)string, possible values:"supervisor", "agent"— The user's role in the team.user_ids(required)array— The user's ID list assigned to the team.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.
Example:
{
"event": "",
"event_ts": 1666595018546,
"payload": {
"account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
"object": {
"team_id": "2mDPBg3vSYC_l6crQgeCkA",
"user_ids": "[IGTRVt3gQ2i-WjoUIjeZxw,T_X0vrroQPO4UwXGNeBS8A]",
"team_role": "supervisor",
"division_id": "",
"division_name": "",
"date_time_ms": "2025-02-16T09:27:15.987Z"
}
}
}Contact_center.engagement_transfer_queuedEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the queued engagement transfer.channel(required)string, possible values:"voice", "messaging", "email", "work_item"— The task's channel.date_time_ms(required)string, format:date-time— The date and time when the transfer is queued, to the millisecond.engagement_direction(required)string, possible values:"inbound", "outbound"— The engagement's direction.engagement_id(required)string— The task queue's engagement ID.task_id(required)string— The task's ID.transfer_to_task_id(required)string— The transfer task's ID.user_display_name(required)string— The user's name.user_id(required)string— The user's ID.cc_queue_idstring— The Contact Center queue's ID.channel_namestring, possible values:"voice"— The channel type.consumer_display_namestring— The consumer's name.consumer_idstring— The consumer's ID.consumer_numberstring— The consumer's phone number.date_timestring, format:date-time— The date and time when the transfer is queued, to the second.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.flow_idstring— The flow's ID.flow_namestring— The flow's name.flow_numberstring— The flow's phone number.queue_idstring— The engagement queue's ID.queue_namestring— The engagement queue's name.task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The task's status.task_timeoutinteger— The task's timeout, to the second.teamsobjecttransfer_levelstring, possible values:"queue", "agent"— The transfer level.transfer_to_cc_queue_idstring— The Contact Center transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_idstring— The transfer queue's ID. This displays when the `transfer_level` is `queue`.transfer_to_queue_namestring— The transfer queue's name. This displays when the `transfer_level` is `queue`.transfer_to_task_statusstring, possible values:"pending", "reserved", "assigned", "canceled", "completed", "wrapping"— The transfer task's status.transfer_to_task_timeoutinteger— The transfer task's timeout, to the second.transfer_to_user_display_namestring— The transfer user's name. This displays when the `transfer_level` is `agent`.transfer_to_user_idstring— The transfer user's ID. This displays when the `transfer_level` is `agent`.transfer_typestring, possible values:"warm", "cold"— The transfer type.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"task_id": "",
"transfer_to_task_id": "",
"task_status": "pending",
"transfer_to_task_status": "pending",
"task_timeout": 1,
"transfer_to_task_timeout": 1,
"transfer_level": "queue",
"transfer_type": "warm",
"engagement_id": "",
"engagement_direction": "inbound",
"channel": "voice",
"flow_id": "",
"flow_name": "",
"flow_number": "",
"cc_queue_id": "",
"queue_name": "",
"division_id": "",
"division_name": "",
"transfer_to_cc_queue_id": "",
"transfer_to_queue_name": "",
"user_id": "",
"user_display_name": "",
"teams": null,
"transfer_to_user_id": "",
"transfer_to_user_display_name": "",
"consumer_id": "",
"consumer_display_name": "",
"consumer_number": "",
"date_time_ms": ""
}
}
}Contact_center.message_statusEvent
- Type:
object
event(required)string— The event's name.event_ts(required)integer, format:int64— The timestamp when the event occurred.payload(required)objectaccount_id(required)string— The account ID.object(required)object— Information about the message status.date_time_ms(required)string, format:date-time— The message status update time, to the millisecond.message_id(required)string— The unique message identifier returned when the message was sent using the [**Send a Message**](/docs/api/contact-center/messages) API.division_idstring— The Contact Center division's ID.division_namestring— The Contact Center division's name.engagement_idstring— The engagement ID associated with the message.fromstring— The sender's identifier. Different channels use platform-specific formats. For number-based channels, such as WhatsApp, the value must be in E.164 format.sms_messageobject— The SMS message status details.status(required)string, possible values:"delivered", "failed"— The SMS message status.reasonstring— If the SMS status is `failed`, provide the failure reason.
tostring— The recipient's identifier. Different channels use platform-specific formats. For number-based channels, such as WhatsApp, the value must be in E.164 format.whatsapp_messageobject— The WhatsApp message status details.status(required)string, possible values:"sent", "delivered", "read", "failed"— The WhatsApp message status.error_detailstring— Additional detailed information about the failure when the status is `failed`.reasonstring— A short description of the failure reason when the status is `failed`.
Example:
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"message_id": "",
"from": "",
"to": "",
"engagement_id": "",
"whatsapp_message": {
"status": "sent",
"reason": "",
"error_detail": ""
},
"sms_message": {
"status": "delivered",
"reason": ""
},
"date_time_ms": "",
"division_id": "",
"division_name": ""
}
}
}Teams
- Type:
Example:
DispositionSets
- Type:
Example:
Dispositions
- Type:
Example:
AssetId-Contact Center
- Type:
Example:
AssetName-Contact Center
- Type:
Example:
AssetDescription-Contact Center
- Type:
Example:
AssetType-Contact Center
- Type:
Example:
AssetLanguageCode-Contact Center
- Type:
Example:
AssetItemsResp-Contact Center
- Type:
Example:
CategoryId-Contact Center
- Type:
Example:
CategoryName-Contact Center
- Type:
Example:
ModifiedBy-Contact Center
- Type:
Example:
DateTimeMs-Contact Center
- Type:
Example:
Archived-Contact Center
- Type:
Example:
ArchivedTime-Contact Center
- Type:
Example:
AssetItemsAdded-Contact Center
- Type:
Example:
AssetItemsUpdated-Contact Center
- Type:
Example:
AssetItemsDeleted-Contact Center
- Type:
Example:
Restore-Contact Center
- Type:
Example:
StartTime-Contact Center
- Type:
Example:
QueueId-Contact Center
- Type:
Example:
QueueName-Contact Center
- Type:
Example:
Channel-Contact Center
- Type:
Example:
Attendees-Contact Center
- Type:
Example: