---
updatedAt: 2026-02-10T16:03:33.000Z
---

# Agent and Engagement Events

# Agent and Engagement Events 1.0.1 documentation

Contact Center Agent and Engagement events are available for the streaming needs of client applications via websockets. The Notification API facilitates subscribing to different families of events and transport protocols (Websockets and Webhooks). Agent & Engagement are one of these available families.\
This following focuses on the websocket implementation of Agent and Engagement events.

### Create Subscription

The example provided below will create a subscription for a WebSocket stream of Agent & Engagement events. Upon a successful response a transport endpoint URL will be provided for the WebSocket interface to connect and begin consuming events from.

```
  POST https://{{CCaaS_FQDN}}/api/notification/v1/accounts/{accountId}/subscriptions
  Content-Type: application/json
  Accept: application/json
  Header: Authorization: Bearer {{token}}
```

Request Body:

```json
    {
      "family": "AGENT_ENGAGEMENT",
      "events": ["ALL"],
      "transport": {
        "type": "WEBSOCKET"
      }
    }
```

Response:

```json
    {
      "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
      "createdAt": "2020-08-01T14:25:23.162Z",
      "expiresAt": "2020-08-01T15:25:23.177Z",
      "expiresIn": 900,
      "status": "ACTIVE",
      "family": "AGENT_ENGAGEMENT",
      "events": [
        "ALL"
      ],
      "transport": {
        "type": "WEBSOCKET",
        "endpoint": "wss://uk.cc.avayacloud.com/ws/notification/v1/agent-engagement",
        "pingInterval": 300
      }
    }
```

As you have seen above agent and engagement events are subscribed to via the Notification API. In choosing WEBSOCKET as the transport option these events are then consumed through a WebSocket connection. The events are contained within JSON that makes up the payload of the WebSocket messages.\
The following section shows how to use the Websocket interface.

## Table of Contents

* [Servers](#servers)
* [Channels](#channels)

## Servers

### **production** Server

| URL                                    | Protocol | Description                                                 |
| -------------------------------------- | -------- | ----------------------------------------------------------- |
| wss\://{server}:{port}/ws/notification | wss      | After connection to the websocket a new session is created. |
|                                        |          |                                                             |

#### URL Variables

| Name   | Default value              | Possible values | Description                                            |
| ------ | -------------------------- | --------------- | ------------------------------------------------------ |
| server | HOST-REGION.avayacloud.com | Any             | -                                                      |
| port   | 443                        | 443             | Secure connection (TLS) is available through port 443. |

#### Security Requirements

| Type   | In | Name | Scheme | Format | Description |
| ------ | -- | ---- | ------ | ------ | ----------- |
| oauth2 | -  | -    | -      | -      | -           |

## Channels

### **/v1/agent-engagement** Channel

#### `publish` Operation

Upon creating a subscription and connecting to the WebSocket endpoint you will need to send a message to the server confirming you are authenticated before any notification events will be sent.  This token must be obtained from the A\&A service.

**NOTE:**  For further details and code examples please refer to: [How to Authenticate with  Avaya Experience Platform™ APIs](https://developers.avayacloud.com/avaya-experience-platform/docs/how-to-authenticate-with-ccaas-apis)

Accepts **one of** the following messages:

##### Message `authentication`

The first message the client should send to server after establishing the connection must be an authentication message.

###### Payload

| Name                          | Type   | Description                                                    | Accepted values |
| ----------------------------- | ------ | -------------------------------------------------------------- | --------------- |
| event **(required)**          | string | authentication - A constant parameter.                         | *Any*           |
| subscriptionId **(required)** | string | The unique id of the subscription.                             | *Any*           |
| token **(required)**          | string | The access token string as issued by the authorization server. | *Any*           |

> Examples of payload *(generated)*

```json
{
  "event": "authentication",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "token": "7e0cd42a22b451701fg29c3bde214…"
}
```

###### Tags

* Authentication

##### Message `ping`

Client must send ping to the server in order to determine whether connection is alive, server responds with pong.\
The ping is also used to keep the websocket connection alive, by keep sending *ping* messages every *pingInterval* time to the server.

It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.

###### Payload

| Name                 | Type   | Description                           | Accepted values |
| -------------------- | ------ | ------------------------------------- | --------------- |
| event **(required)** | string | ping - A constant parameter.          | *Any*           |
| subscriptionId       | string | Optional. The id of the subscription. | *Any*           |

> Examples of payload

**pingMessage**

Example of an ping message to server.

```json
{
  "event": "ping"
}
```

###### Tags

* Heartbeat

#### `subscribe` Operation

Notification messages that you receive from the server

Accepts **one of** the following messages:

##### Message `notification`

Notification event consumed over the WebSocket connection

###### Specification

<details open>
<summary>This Async Specification details all the Agent and Engagement Events and structure</summary>

```yaml
asyncapi: 2.1.0
info:
  title: Agent and Engagement Events
  version: 1.0.2
  description: >
    Contact Center Agent and Engagement events are available for the streaming needs of client applications via websockets. The Notification API facilitates subscribing to different families of events and transport protocols (Websockets and Webhooks). Agent & Engagement are one of these available families.

    This following focuses on the websocket implementation of Agent and Engagement events.

    ### Create Subscription

    The example provided below will create a subscription for a WebSocket
    stream of Agent & Engagement events. Upon a successful response a
    transport endpoint URL will be provided for the WebSocket interface to
    connect and begin consuming events from.

```

POST https\://{{CCaaS_FQDN}}/api/notification/v1/accounts/{accountId}/subscriptions
Content-Type: application/json
Accept: application/json
Header: Authorization: Bearer {{token}}

````
  Request Body:

```json
    {
      "family": "AGENT_ENGAGEMENT",
      "events": ["ALL"],
      "transport": {
        "type": "WEBSOCKET"
      }
    }
````

Response:

```json
    {
      "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
      "createdAt": "2020-08-01T14:25:23.162Z",
      "expiresAt": "2020-08-01T15:25:23.177Z",
      "expiresIn": 900,
      "status": "ACTIVE",
      "family": "AGENT_ENGAGEMENT",
      "events": [
        "ALL"
      ],
      "transport": {
        "type": "WEBSOCKET",
        "endpoint": "wss://uk.cc.avayacloud.com/ws/notification/v1/agent-engagement/DYNNUG/fdbec917-e76e-4645-8120-4eac46f29487",
        "pingInterval": 300
      }
    }
```

As you have seen above agent and engagement events are subscribed to via the
Notification API. In choosing WEBSOCKET as the transport option these
events are then consumed through a WebSocket connection. The events are
contained within JSON that makes up the payload of the WebSocket messages.

The following section shows how to use the Websocket interface.
contact:
name: Avaya API Team
url: '<https://developers.avayacloud.com/onecloud-ccaas>'
email: <apiteam@avaya.com>
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: '<http://support.avaya.com/css/P8/documents/101038288>'
tags:

* name: Agent and Engagement Data
  description: >
  Realtime notification events are subscribed to via the Agent and Engagement API. The events are contained within JSON that makes up the payload of the WebSocket messages.
* name: Heartbeat
  description: >
  Websocket messages used for heartbeat.
* name: Authentication
  description: >
  Authentication related messages.
  servers:
  production:
  url: wss\://{server}:{port}/ws/notification
  protocol: wss
  description: |
  After connection to the websocket a new session is created.
  security:
  * apiKey: \[]
    variables:
    server:
    default: HOST-REGION.avayacloud.com
    port:
    description: Secure connection (TLS) is available through port 443.
    default: '443'
    enum:

    * '443'
      defaultContentType: application/json
      channels:
      /v1/agent-engagement:
      publish:
      description: >
      Upon creating a subscription and connecting to the WebSocket endpoint
      you will need to send a message to the server confirming you are
      authenticated before any notification events will be sent.  This token
      must be obtained from the A\&A service.

    **NOTE:**  For further details and code examples please refer to:
    <https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis#acquiring-tokens>
    operationId: authenticationMessage
    message:
    oneOf:

    * $ref: '#/components/messages/authentication'
    * $ref: '#/components/messages/ping'
      subscribe:
      description: Notification messages that you receive from the server
      operationId: notificationMessage
      message:
      oneOf:
    * $ref: '#/components/messages/notification'
    * $ref: '#/components/messages/pong'
    * $ref: '#/components/messages/authenticationResponse'
      components:
      messages:
      authentication:
      name: authentication
      title: Authentication Message
      description: The first message the client should send to server after establishing the connection must be an authentication message.
      contentType: application/json
      tags:
    * name: Authentication
      payload:
      $ref: '#/components/schemas/Authentication'
      x-response:
      $ref: '#/components/schemas/AuthenticationResponse'
      notification:
      name: notification
      title: Agent and Engagement Message
      description: Notification event consumed over the WebSocket connection
      contentType: application/json
      tags:
    * name: Agent and Engagement Data
      payload:
      $ref: '#/components/schemas/Notification'
      ping:
      description: |
      Client must send ping to the server in order to determine whether connection is alive, server responds with pong.
      The ping is also used to keep the websocket connection alive, by keep sending *ping* messages every *pingInterval* time to the server.

    It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.
    tags:

    * name: Heartbeat
      payload:
      $ref: '#/components/schemas/Ping'
      examples:
    * name: pingMessage
      summary: Example of an ping message to server.
      payload:
      event: 'ping'
      pong:
      description: Server pong response to a ping message.
      tags:
    * name: Heartbeat
      payload:
      $ref: '#/components/schemas/Pong'
      examples:
    * name: pongMessage
      summary: Example of a pong message to client.
      payload:
      event: 'pong'
      authenticationResponse:
      description: Authentication response message sent to the client after websocket authentication.
      tags:
    * name: Authentication
      payload:
      $ref: '#/components/schemas/AuthenticationResponse'
      schemas:
      Authentication:
      type: object
      additionalProperties: false
      properties:
      event:
      description:  authentication - A constant parameter.
      type: string
      const: authentication
      subscriptionId:
      type: string
      description: The unique id of the subscription.
      token:
      type: string
      description: The access token string as issued by the authorization server.
      required:
    * event
    * subscriptionId
    * token
      example:
      event: authentication
      subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
      token: 7e0cd42a22b451701fg29c3bde214…
      AuthenticationResponse:
      type: object
      additionalProperties: false
      properties:
      event:
      description:  authenticationResponse - A constant parameter.
      type: string
      const: authenticationResponse
      status:
      type: string
      enum:

      * CONNECTION\_CONFIRMED
      * CONNECTION\_FAILED\_INVALID\_TOKEN
      * CONNECTION\_FAILED\_UNKNOWN\_SUBSCRIPTION
      * CONNECTION\_FAILED\_INTERNAL\_SERVER\_ERROR
      * CONNECTION\_FAILED\_CONSTRAINT\_VIOLATION
        description: |
        You will then receive 1 of 5 statuses:
        * CONNECTION\_CONFIRMED: Connection was confirmed
        * CONNECTION\_FAILED\_INVALID\_TOKEN: Authentication token is invalid
        * CONNECTION\_FAILED\_UNKNOWN\_SUBSCRIPTION: Unknown Subscription, can be for a subscription that never existed or one that is no longer active
        * CONNECTION\_FAILED\_INTERNAL\_SERVER\_ERROR: Server Error, client can retry later
        * CONNECTION\_FAILED\_CONSTRAINT\_VIOLATION: Client issue, malformed client request, client must update payload and rerty
          subscriptionId:
          type: string
          description: The unique id of the subscription.
          pingInterval:
          type: integer
          format: int64
          description: |
          The maximum interval (seconds) at which a ping is expected to be sent by the client before websocket is closed and subscription set to INACTIVE.

      It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection.
      expiresInterval:
      type: integer
      format: int64
      description: Expiration interval in seconds before the subscription is set to INACTIVE.
      example:
      event: authenticationResponse
      status: CONNECTION\_CONFIRMED
      subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
      pingInterval: 300
      expiresInterval: 900
      Notification:
      type: object
      additionalProperties: false
      properties:
      correlationId:
      type: string
      description: The unique ID of the notification being sent
      subscriptionId:
      type: string
      description: The unique ID of the Agent and Engagement subscription
      family:
      type: string
      description: The family of events the subscription is for
      sentAt:
      type: string
      description: Datetime (in ISO 8601 format) of when the notification event was sent
      format: datetime
      accountId:
      type: string
      description: >-
      The unique identifier for the Account.
      loginId:
      description: >
      The unique login handle for the Agent.

      *NOTE* Only present on Agent related events
      type: string
      initiatingLoginId:
      description: >
      The unique login handle for the Agent initiating a transfer.

      *NOTE* Only present on Single Step Transfer related events
      type: string
      destinationLoginId:
      description: >
      The unique login handle for the Agent the transfer is being made to.

      *NOTE* Only present on Single Step Transfer to User related events
      type: string
      observedLoginId:
      description: >
      The unique login handle for the observed Agent.

      *NOTE* Only present on Agent Participant Observing related events
      type: string
      observingLoginId:
      description: >
      The unique login handle for the observing Supervisor.

      *NOTE* Only present on Agent Participant Observing related events
      type: string
      coachedLoginId:
      description: >
      The unique login handle for the coached Agent.

      *NOTE* Only present on Agent Participant Coaching related events
      type: string
      coachingLoginId:
      description: >
      The unique login handle for the coaching Supervisor.

      *NOTE* Only present on Agent Participant Coaching related events
      type: string
      bargingLoginId:
      description: >
      The unique login handle for the barging Supervisor.

      *NOTE* Only present on Agent Participant Barged related events
      type: string
      body:
      $ref: '#/components/schemas/NotificationBody'
      example:
      correlationId: a425851d-5225-4b76-8ca0-4fa31ecfd5db
      subscriptionId: fdbec917-e76e-4645-8120-4eac46f29487
      family: AGENT\_ENGAGEMENT
      sentAt: "2020-08-24T08:20:23.395Z"
      accountId: DYNNUG
      loginId: <agent1@test.com>
      body:
      event: AgentState
      agentId: 4a785201-73b8-4842-abf7-36f5e572d310
      profileId: HomeProfile
      state: NOT\_READY
      reasonCode: 514
      cause: RONA
      id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
      timestamp: 9223372036854776000
      NotificationBody:
      type: object
      discriminator: event
      description: The raw event payload that will be different based on the event.
      properties:
      event:
      type: string
      description: The name of the specific event being sent. For instance AgentState, AgentParticipant, InboundEngagementCreated, etc...
      oneOf:
    * $ref: '#/components/schemas/AgentState'
    * $ref: '#/components/schemas/AgentParticipant'
    * $ref: '#/components/schemas/AutomationParticipant'
    * $ref: '#/components/schemas/ExternalParticipant'
    * $ref: '#/components/schemas/EngagementPrerouted'
    * $ref: '#/components/schemas/InboundEngagementCreated'
    * $ref: '#/components/schemas/MatchOffered'
    * $ref: '#/components/schemas/OutboundEngagementCreated'
    * $ref: '#/components/schemas/SingleStepTransfer'
    * $ref: '#/components/schemas/SingleStepTransferError'
    * $ref: '#/components/schemas/ChannelReady'
    * $ref: '#/components/schemas/AfterContactWorkActivated'
    * $ref: '#/components/schemas/AfterContactWorkCompleted'
      AgentState:
      type: object
      additionalProperties: false
      properties:
      agentId:
      $ref: '#/components/schemas/AgentId'
      profileId:
      type: string
      description: >-
      The profile ID used to login the agent.  The profile
      indicates what channels should be logged in.
      state:
      type: string
      description: >-
      The current state of the agent.
      enum:

      * LOGGED\_IN
      * LOGGED\_OUT
      * READY
      * NOT\_READY
        reasonCode:
        type: string
        description: The reason code for going not ready. Only for AGENT\_NOT\_READY state
        cause:
        type: string
        description: The cause of the agent not being ready. Only for AGENT\_NOT\_READY state
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        agentId: 4a785201-73b8-4842-abf7-36f5e572d310
        profileId: HomeProfile
        state: NOT\_READY
        reasonCode: 514
        cause: RONA
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        AgentParticipant:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        channelProviderId:
        $ref: '#/components/schemas/ChannelProviderId'
        connectionId:
        $ref: '#/components/schemas/ConnectionId'
        action:
        type: string
        description: >-
        The agent participant action
        enum:
      * ADDED
      * HELD
      * UNHELD
      * INVITED
      * REMOVED
      * MOVED
      * OBSERVING
      * COACHING
      * BARGEDIN
        agentId:
        $ref: '#/components/schemas/AgentId'
        previousDialogId:
        type: string
        description: The unique identifier for the previous dialog the agent was a part of. Only for MOVED action
        dialogId:
        $ref: '#/components/schemas/DialogId'
        extension:
        $ref: '#/components/schemas/Extension'
        channelId:
        $ref: '#/components/schemas/ChannelId'
        providerEngagementId:
        $ref: '#/components/schemas/ProviderEngagementId'
        agentInitiatedDisconnect:
        type: boolean
        description: An indication if the agent initiated disconnect from the dialog. Only for REMOVED action
        observedAgentId:
        type: string
        description: The unique identifier for the observed agent. Only for OBSERVING action
        observingAgentId:
        type: string
        description: The unique identifier for the observing agent. Only for OBSERVING action
        observingAgentConnectionId:
        type: string
        description: The unique identifier for this appearance of the observing participant on this engagement. Only for OBSERVING action
        observedAgentConnectionId:
        type: string
        description: The unique identifier for this appearance of the participant already on this engagement. Only for OBSERVING action
        coachingAgentId:
        type: string
        description: The unique identifier for the coaching agent. Only for COACHING action
        coachedAgentId:
        type: string
        description: The unique identifier for the coached agent. Only for COACHING action
        coachingAgentConnectionId:
        type: string
        description: The unique identifier for this appearance of the coaching participant on this engagement. Only for COACHING action
        coachedAgentConnectionId:
        type: string
        description: The unique identifier for this appearance of the participant already on this engagement. Only for COACHING action
        bargingAgentId:
        type: string
        description: The unique identifier for the barging in agent. Only for BARGEDIN action
        bargingAgentConnectionId:
        type: string
        description: the unique identifier for this appearance of the participant barging in to this engagement. Only for BARGEDIN action
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
        channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
        connectionId: b2bcbf1e-905b-4164-bab5-6efcde49933b
        action: ADDED
        agentId: 4a785201-73b8-4842-abf7-36f5e572d310
        dialogId: 01005000281645486013
        extension: 8010017
        channelId: Voice
        providerEngagementId: 00001084011532384922
        agentInitiatedDisconnect: false
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        AutomationParticipant:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        channelProviderId:
        $ref: '#/components/schemas/ChannelProviderId'
        automationParticipantId:
        $ref: '#/components/schemas/AutomationParticipantId'
        action:
        type: string
        description: >-
        The automation participant action
        enum:
      * ADDED
      * REMOVED
        dialogId:
        $ref: '#/components/schemas/DialogId'
        automationType:
        $ref: '#/components/schemas/AutomationType'
        connectionId:
        $ref: '#/components/schemas/ConnectionId'
        channelId:
        $ref: '#/components/schemas/ChannelId'
        providerEngagementId:
        $ref: '#/components/schemas/ProviderEngagementId'
        automationInitiatedDisconnect:
        $ref: '#/components/schemas/AutomationInitiatedDisconnect'
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
        channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
        automationParticipantId: AvayaVoiceIVR
        action: ADDED
        dialogId: 01005000281645486013
        automationType: SELF\_SERVICE
        connectionId: d2775626-66d4-459b-8147-09ea4b98c370
        channelId: Voice
        providerEngagementId: 00001084011532384922
        automationInitiatedDisconnect: false
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        ExternalParticipant:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        channelProviderId:
        $ref: '#/components/schemas/ChannelProviderId'
        externalParticipantId:
        $ref: '#/components/schemas/ExternalParticipantId'
        action:
        type: string
        description: >-
        The external participant action
        enum:
      * ADDED
      * REMOVED
      * INVITED
        connectionId:
        $ref: '#/components/schemas/ConnectionId'
        dialogId:
        $ref: '#/components/schemas/DialogId'
        channelId:
        $ref: '#/components/schemas/ChannelId'
        providerEngagementId:
        $ref: '#/components/schemas/ProviderEngagementId'
        externalParticipantInitiatedDisconnect:
        type: boolean
        description: An indication if the external participant (aka the Customer) initiated disconnect from the dialog
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
        channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
        externalParticipantId: +35395554321
        action: ADDED
        connectionId: b2bcbf1e-905b-4164-bab5-6efcde49933b
        dialogId: 01005000281645486013
        channelId: Voice
        providerEngagementId: 00001084011532384922
        externalParticipantInitiatedDisconnect: true
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        EngagementPrerouted:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        dialogId:
        $ref: '#/components/schemas/DialogId'
        orchestrationFlow:
        $ref: '#/components/schemas/OrchestrationFlow'
        attributes:
        $ref: '#/components/schemas/Attributes'
        attributeList:
        type: array
        description: >
        A simplified flat list of attributes

      *NOTE* this flat array of attributes will help to easily identify “System.Outbound” to represent a POM call
      items:
      type: string
      engagementParameters:
      $ref: '#/components/schemas/EngagementParameters'
      agentRoutingStrategy:
      $ref: '#/components/schemas/AgentRouting'
      adhocEmail:
      type: boolean
      description: Flag to determine if adhoc email or not (email routing only)
      autoResponse:
      type: string
      description: The auto response suggested to be used
      channelProviderId:
      $ref: '#/components/schemas/ChannelProviderId'
      channelId:
      $ref: '#/components/schemas/ChannelId'
      channelIdentifier:
      type: string
      description: The channel identifier of the engagement
      queue:
      type: object
      additionalProperties: false
      description: The queue details
      properties:
      queueId:
      type: string
      description: The unique identifier of the queue
      queueName:
      type: string
      description: The name of the queue
      priority:
      type: integer
      description: The priority of the queue
      proficiencyRangeMin:
      type: integer
      description: The minimum proficiency of the queue
      proficiencyRangeMax:
      type: integer
      description: The maximum proficiency of the queue
      customerIdentifiers:
      $ref: '#/components/schemas/CustomerIdentifiers'
      externalParticipantId:
      $ref: '#/components/schemas/ExternalParticipantId'
      sourceAddress:
      type: string
      description: The source address of the external participant, e.g. calling number or customer email
      destinationAddress:
      $ref: '#/components/schemas/DestinationAddress'
      subject:
      type: string
      description: The subject field of the incoming email
      id:
      $ref: '#/components/schemas/Id'
      timestamp:
      $ref: '#/components/schemas/Timestamp'
      example:
      engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
      dialogId: 01005000281645486013
      orchestrationFlow: OneCloud Voice Outbound
      attributes:
      category: Language
      values:

      * English
        attributeList:
      * System.Outbound
        engagementParameters:
        language: en
        adhocEmail: false
        channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
        channelId: Voice
        channelIdentifier: Voice
        queue:
        queueId: 6d1490d5-7886-417d-ac85-fb0825d53a93
        queueName: Default
        priority: 5
        proficiencyRangeMin: 1
        proficiencyRangeMax: 1
        externalParticipantId: +35395554321
        sourceAddress: +35395554321
        destinationAddress: +12125554321
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        InboundEngagementCreated:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        channelProviderId:
        $ref: '#/components/schemas/ChannelProviderId'
        connectionId:
        $ref: '#/components/schemas/ConnectionId'
        externalParticipantId:
        $ref: '#/components/schemas/ExternalParticipantId'
        dialogId:
        $ref: '#/components/schemas/DialogId'
        callingNumber:
        type: string
        description: The calling number of the external participant
        dialledNumber:
        type: string
        description: The original dialed number for the engagement
        channelId:
        $ref: '#/components/schemas/ChannelId'
        customerIdentifiers:
        $ref: '#/components/schemas/CustomerIdentifiers'
        providerEngagementId:
        $ref: '#/components/schemas/ProviderEngagementId'
        engagementParameters:
        $ref: '#/components/schemas/EngagementParameters'
        id:
        $ref: '#/components/schemas/Id'
        timestamp:
        $ref: '#/components/schemas/Timestamp'
        example:
        engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
        channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
        connectionId: d2775626-66d4-459b-8147-09ea4b98c370
        externalParticipantId: +35395554321
        dialogId: 01005000281645486013
        callingNumber: +15551235555
        dialledNumber: +18005555555
        channelId: Voice
        providerEngagementId: 00001084011532384922
        engagementParameters:
        language: en
        id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
        timestamp: 9223372036854776000
        MatchOffered:
        type: object
        additionalProperties: false
        properties:
        engagementId:
        $ref: '#/components/schemas/EngagementId'
        matchId:
        type: string
        description: The unique identifier for this match
        correlationId:
        type: string
        description: The correlation Id from the original match request (can be ignored)
        strategy:
        type: string
        description: >-
        The agent selection strategy used for this match (values include
        MOST\_IDLE or OCCUPANCY)
        enum:
        * MOST\_IDLE
        * OCCUPANCY
          offeredQueue:
          $ref: '#/components/schemas/OfferedQueue'
          offeredService:
          $ref: '#/components/schemas/OfferedService'
          offeredSpecifiedAgent:
          $ref: '#/components/schemas/OfferedSpecifiedAgent'
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          matchId: 43dc4b96-dfd6-438c-867e-a0d032e1e0a6
          correlationId: 1682f876-f7b7-4347-accd-495cae95f860
          strategy: MOST\_IDLE
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          OutboundEngagementCreated:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          agentId:
          $ref: '#/components/schemas/AgentId'
          dialogId:
          $ref: '#/components/schemas/DialogId'
          destinationAddress:
          $ref: '#/components/schemas/DestinationAddress'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          customerIdentifiers:
          $ref: '#/components/schemas/CustomerIdentifiers'
          engagementParameters:
          $ref: '#/components/schemas/EngagementParameters'
          id:
          $ref: '#/components/schemas/Id'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          agentId: zz3tDKfrQx-Mv78Q\_AIpGG
          dialogId: 01005000281645486013
          destinationAddress: +12125554321
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          channelId: Voice
          engagementParameters:
          language: en
          id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          SingleStepTransfer:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          initiatingAgentId:
          $ref: '#/components/schemas/InitiatingAgentId'
          transferTo:
          type: string
          description: >-
          The type of the transfer
          enum:
        * QUEUE
        * USER
        * AUTOMATION
        * EXTERNAL
          destination:
          type: string
          description: >-
          Contains different values accordingly to transferTo:
        * If transferTo is QUEUE, then returns the queueId
        * If transferTo is USER, then returns the destinationAgentId
        * If transferTo is AUTOMATION, then returns the ivrAddress
        * If transferTo is EXTERNAL, then returns the externalAddress
          queueId:
          $ref: '#/components/schemas/QueueId'
          queueName:
          $ref: '#/components/schemas/QueueName'
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          connectionId:
          $ref: '#/components/schemas/ConnectionId'
          dialogId:
          $ref: '#/components/schemas/DialogId'
          providerDialogId:
          $ref: '#/components/schemas/ProviderDialogId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          correlationId:
          $ref: '#/components/schemas/CorrelationId'
          timestamp:
          $ref: '#/components/schemas/Timestamp'
          example:
          engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
          initiatingAgentId: ab8f46f8-fd79-4380-8d0e-ce739ca481db
          transferTo: QUEUE
          destination: 16119117-7986-426e-bd3f-6f2e1d92ee1d
          queueId: 16119117-7986-426e-bd3f-6f2e1d92ee1d
          queueName: VoiceQ
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          connectionId: d2775626-66d4-459b-8147-09ea4b98c370
          dialogId: 01005000281645486013
          providerDialogId: 00001000321636990744
          channelId: Voice
          correlationId: d3c8400d-c44f-4451-8316-e75c4efb8bb2
          timestamp: 9223372036854776000
          SingleStepTransferError:
          type: object
          additionalProperties: false
          properties:
          engagementId:
          $ref: '#/components/schemas/EngagementId'
          initiatingAgentId:
          $ref: '#/components/schemas/InitiatingAgentId'
          transferTo:
          type: string
          description: >-
          The type of the transfer
          enum:
        * QUEUE
        * USER
        * AUTOMATION
        * EXTERNAL
          errorType:
          type: string
          description: >-
          The type of the error
          enum:
        * CANCELLED
        * FAILED
          destination:
          type: string
          description: >-
          Contains different values accordingly to transferTo:
          * If transferTo is QUEUE, then returns the queueId
          * If transferTo is USER, then returns the destinationAgentId
          * If transferTo is AUTOMATION, then returns the ivrAddress
          * If transferTo is EXTERNAL, then returns the externalAddress
            dialogId:
            $ref: '#/components/schemas/DialogId'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            correlationId:
            $ref: '#/components/schemas/CorrelationId'
            title:
            $ref: '#/components/schemas/ErrorTitle'
            detail:
            $ref: '#/components/schemas/ErrorDetail'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            initiatingAgentId: ab8f46f8-fd79-4380-8d0e-ce739ca481db
            transferTo: USER
            errorType: CANCELLED
            destination: db9c8c9b-cb3a-42c9-8078-7a347726f016
            dialogId: 01005000281645486013
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            correlationId: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            title: Engagement no longer active
            detail: The current engagement has terminated
            id: d433ef5c-7954-4b39-9d99-ab9ffeae725b
            timestamp: 9223372036854776000
            ChannelReady:
            type: object
            additionalProperties: false
            properties:
            agentId:
            $ref: '#/components/schemas/AgentId'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            agentId: zz3tDKfrQx-Mv78Q\_AIpGG
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            AfterContactWorkActivated:
            type: object
            additionalProperties: false
            properties:
            engagementId:
            $ref: '#/components/schemas/EngagementId'
            agentId:
            $ref: '#/components/schemas/AgentId'
            dialogId:
            $ref: '#/components/schemas/DialogId'
            connectionId:
            $ref: '#/components/schemas/ConnectionId'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            agentId: zz3tDKfrQx-Mv78Q\_AIpGG
            dialogId: 01005000281645486013
            connectionId: d2775626-66d4-459b-8147-09ea4b98c370
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            AfterContactWorkCompleted:
            type: object
            additionalProperties: false
            properties:
            engagementId:
            $ref: '#/components/schemas/EngagementId'
            agentId:
            $ref: '#/components/schemas/AgentId'
            dialogId:
            $ref: '#/components/schemas/DialogId'
            connectionId:
            $ref: '#/components/schemas/ConnectionId'
            channelProviderId:
            $ref: '#/components/schemas/ChannelProviderId'
            channelId:
            $ref: '#/components/schemas/ChannelId'
            id:
            $ref: '#/components/schemas/Id'
            timestamp:
            $ref: '#/components/schemas/Timestamp'
            example:
            engagementId: 15bcf682-3edf-4c79-b083-07864fa1fb55
            agentId: zz3tDKfrQx-Mv78Q\_AIpGG
            dialogId: 01005000281645486013
            connectionId: d2775626-66d4-459b-8147-09ea4b98c370
            channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
            channelId: Voice
            id: d3c8400d-c44f-4451-8316-e75c4efb8bb2
            timestamp: 9223372036854776000
            OfferedQueue:
            type: object
            additionalProperties: false
            description: The offered queue details including offered agent
            properties:
            queueId:
            type: string
            description: The unique identifier of this queue
            channelId:
            type: string
            description: The channel of this queue
            priority:
            type: integer
            description: The priority of this service
            rank:
            type: integer
            description: The rank of this service
            proficiencyRangeMin:
            type: integer
            description: The minimum proficiency of this service
            proficiencyRangeMax:
            type: integer
            description: The maximum proficiency of this service
            attributes:
            type: array
            description: >
            A simplified flat list of attributes
            items:
            type: string
            offeredAgentData:
            $ref: '#/components/schemas/OfferedAgentData'
            example:
            priority: 1
            rank: 1
            proficiencyRangeMin: 1
            proficiencyRangeMax: 1
            attributes:
            category: Language
            values:
        * English
          OfferedService:
          type: object
          additionalProperties: false
          description: Details about the service offered including the offered agent
          properties:
          priority:
          type: integer
          description: The priority of this service
          rank:
          type: integer
          description: The rank of this service
          proficiencyRangeMin:
          type: integer
          description: The minimum proficiency of this service
          proficiencyRangeMax:
          type: integer
          description: The maximum proficiency of this service
          attributes:
          $ref: '#/components/schemas/Attributes'
          offeredAgentData:
          $ref: '#/components/schemas/OfferedAgentData'
          example:
          priority: 1
          rank: 1
          proficiencyRangeMin: 1
          proficiencyRangeMax: 1
          attributes:
          category: Language
          values:
        * English
          OfferedAgentData:
          type: object
          additionalProperties: false
          description: Details about the agent
          properties:
          agentId:
          $ref: '#/components/schemas/AgentId'
          providerAgentId:
          type: string
          description: The provider agent id of the offered agent
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          channelProviderAddress:
          type: string
          description: The address of the engagement provider
          providerAgentAddress:
          type: string
          format: email
          description: The address of the agent
          example:
          agentId: 4a785201-73b8-4842-abf7-36f5e572d310
          providerAgentId: 8011001
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          channelId: Voice
          channelProviderAddress: +7775550113555
          providerAgentAddress: <8011001@org.com>
          OfferedSpecifiedAgent:
          type: object
          additionalProperties: false
          description: Details about the agent specified in the match request
          properties:
          rank:
          type: integer
          description: The rank of this agent
          offeredSpecifiedAgentData:
          $ref: '#/components/schemas/OfferedSpecifiedAgentData'
          OfferedSpecifiedAgentData:
          type: object
          additionalProperties: false
          properties:
          agentId:
          $ref: '#/components/schemas/AgentId'
          providerAgentId:
          type: string
          description: The provider agent id of the offered agent
          channelProviderId:
          $ref: '#/components/schemas/ChannelProviderId'
          channelId:
          $ref: '#/components/schemas/ChannelId'
          channelProviderAddress:
          type: string
          description: The address of the engagement provider
          providerAgentAddress:
          type: string
          format: email
          description: The address of the agent
          example:
          agentId: 4a785201-73b8-4842-abf7-36f5e572d310
          providerAgentId: 8011001
          channelProviderId: 4dc53692-e25c-4e8c-a780-0b2f05008478
          channelId: Voice
          channelProviderAddress: +7775550113555
          providerAgentAddress: <8011001@org.com>
          Attribute:
          type: object
          additionalProperties: false
          description: A Category and Values identified for routing the call
          properties:
          category:
          type: string
          description: A category for routing
          values:
          type: array
          description: A list of values specific to the category
          items:
          type: string
          Attributes:
          type: array
          description: A list of Category and Values identified for routing the call
          items:
          $ref: '#/components/schemas/Attribute'
          AgentId:
          type: string
          description: The unique identifier for the Agent
          AutomationType:
          type: string
          description: The type of automation being added
          AutomationInitiatedDisconnect:
          type: boolean
          description: >-
          An indication if the automation participant initiated disconnect from
          the dialog
          AutomationParticipantId:
          type: string
          description: The unique identifier for the automation participant
          ConnectionId:
          type: string
          description: >-
          The unique identifier for this appearance of this specific participant
          on the engagement
          ChannelId:
          type: string
          description: The channel ID which represents the media type
          ChannelProviderId:
          type: string
          description: The unique identifier for this engagement provider
          CustomerIdentifiers:
          type: object
          additionalProperties: false
          description: >
          A set of attributes used to identify the customer if any are known at
          engagement creation.

    *NOTE:* the list of Customer Identifiers is configurable per account so
    expect this to be dynamic per customer.  This will include all known
    customer identifiers, but some customers may have more or less collected
    than others.'
    properties:
    phoneNumbers:
    type: array
    items:
    type: string
    emailAddresses:
    type: array
    items:
    type: string
    accountIds:
    type: array
    items:
    type: string
    DialogId:
    type: string
    description: >
    The identifier for the dialog. *NOTE* this will equate to the UCID
    created by the ASBCE for an inbound call
    EngagementId:
    type: string
    description: The unique identifier for this engagement
    Extension:
    type: string
    description: The extension/line of the agent
    ExternalParticipantId:
    type: string
    description: >
    The Channel Provider's identifier for this external participant (aka the
    Customer)
    Id:
    type: string
    description: Each event has its own unique ID
    ProviderEngagementId:
    type: string
    description: The provider-native identifier for the engagement
    Timestamp:
    type: string
    description: Timestamp (milliseconds since epoch) when the event was generated
    format: long
    Ping:
    type: object
    additionalProperties: false
    properties:
    event:
    description:  ping - A constant parameter.
    type: string
    const: ping
    subscriptionId:
    description:  Optional. The id of the subscription.
    type: string
    required:

    * event
      Pong:
      type: object
      additionalProperties: false
      properties:
      event:
      description:  pong - A constant parameter.
      type: string
      const: pong
      required:
    * event
      DestinationAddress:
      type: string
      description: >
      Destination number or uri
      EngagementParameters:
      type: object
      additionalProperties: false
      description: >
      Additional information that could be tagged on an engagement
      OrchestrationFlow:
      type: string
      description: >
      The orchestration flow name that should be used for this engagement
      AgentRouting:
      type: object
      additionalProperties: false
      description: >
      Agent routing strategy configuration
      properties:
      type:
      type: string
      description: >
      LAR: last Agent routing, PAR: preferred Agent Routing
      enum:
      * LAR
      * PAR
        waitTime:
        type: integer
        description: >
        Wait time in minutes before default routing is applied
        InitiatingAgentId:
        type: string
        description: >
        The unique identifier for the agent that initiated the transfer
        QueueId:
        type: string
        description: >
        The destination queue identifier for the transfer or the fallback queue in the event destination agent is not available
        QueueName:
        type: string
        description: >
        The destination queue name of the transfer or the fallback queue in the event destination agent is not available
        CorrelationId:
        type: string
        description: >
        The correlationId for the request. This should be referenced when notifying a related error
        DestinationAgentId:
        type: string
        description: >
        A unique identifier for the destination agent of the transfer
        ErrorTitle:
        type: string
        description: The error description
        ErrorDetail:
        type: string
        description: The cause of the error
        ExternalAddress:
        type: string
        description: >
        The number or URI of the target external party
        IvrAddress:
        type: string
        description: >
        The number used to access the required automation (typically an IVR)
        ProviderDialogId:
        type: string
        description: >
        The unique identifier of the dialog generated by provider

securitySchemes:
apiKey:
type: oauth2
flows:
password:
tokenUrl: <https://localhost/auth/realms/ABCDEF/protocol/openid-connect/token>
scopes: {}

````
</details>

> AsyncAPI code generator

Please use the AsyncAPI code generator to build client SDK to interface with the Avaya Experience Platform™ Notification Agent and Engagement Async API.

https://www.asyncapi.com/tools/generator

The above specification can also be loaded into the AsyncAPI Studio for a user-friendly view similar to Swagger.

https://studio.asyncapi.com/

###### Payload
<details>
<summary>Payload details</summary>

| Name                                                                                                                                                                                                                                | Type        | Description                                                                                                                                                                                                                                                                                   | Accepted values                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| correlationId                                                                                                                                                                                                                       | string      | The unique ID of the notification being sent                                                                                                                                                                                                                                                  | _Any_                                   |
| subscriptionId                                                                                                                                                                                                                      | string      | The unique ID of the Agent and Engagement subscription                                                                                                                                                                                                                                        | _Any_                                   |
| family                                                                                                                                                                                                                              | string      | The family of events the subscription is for                                                                                                                                                                                                                                                  | _Any_                                   |
| sentAt                                                                                                                                                                                                                              | string      | Datetime (in ISO 8601 format) of when the notification event was sent                                                                                                                                                                                                                         | _Any_                                   |
| accountId                                                                                                                                                                                                                           | string      | The unique identifier for the Account.                                                                                                                                                                                                                                                        | _Any_                                   |
| loginId                                                                                                                                                                                                                             | string      | The unique login handle for the Agent.                                                                                                                                                                                                                                                        |                                         |
| _NOTE_ Only present on Agent related events                                                                                                                                                                                         | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| initiatingLoginId                                                                                                                                                                                                                   | string      | The unique login handle for the Agent initiating a transfer.                                                                                                                                                                                                                                  |                                         |
| _NOTE_ Only present on Single Step Transfer related events                                                                                                                                                                          | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| destinationLoginId                                                                                                                                                                                                                  | string      | The unique login handle for the Agent the transfer is being made to.                                                                                                                                                                                                                          |                                         |
| _NOTE_ Only present on Single Step Transfer to User related events                                                                                                                                                                  | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body                                                                                                                                                                                                                                | objectoneOf | The raw event payload that will be different based on the event.                                                                                                                                                                                                                              | _Any_                                   |
| body.0                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.0.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.0.profileId                                                                                                                                                                                                                    | string      | The profile ID used to login the agent.  The profile indicates what channels should be logged in.                                                                                                                                                                                             | _Any_                                   |
| body.0.state                                                                                                                                                                                                                        | string      | The current state of the agent.                                                                                                                                                                                                                                                               | LOGGED_IN, LOGGED_OUT, READY, NOT_READY |
| body.0.reasonCode                                                                                                                                                                                                                   | string      | The reason code for going not ready. Only for AGENT_NOT_READY state                                                                                                                                                                                                                           | _Any_                                   |
| body.0.cause                                                                                                                                                                                                                        | string      | The cause of the agent not being ready. Only for AGENT_NOT_READY state                                                                                                                                                                                                                        | _Any_                                   |
| body.0.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.0.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.1                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.1.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.1.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.1.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.1.action                                                                                                                                                                                                                       | string      | The agent participant action                                                                                                                                                                                                                                                                  | ADDED, HELD, UNHELD, INVITED, REMOVED   |
| body.1.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.1.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.1.extension                                                                                                                                                                                                                    | string      | The extension/line of the agent                                                                                                                                                                                                                                                               | _Any_                                   |
| body.1.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.1.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.1.agentInitiatedDisconnect                                                                                                                                                                                                     | boolean     | An indication if the agent initiated disconnect from the dialog. Only for REMOVED action                                                                                                                                                                                                      | _Any_                                   |
| body.1.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.1.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.2                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.2.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.2.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.2.automationParticipantId                                                                                                                                                                                                      | string      | The unique identifier for the automation participant                                                                                                                                                                                                                                          | _Any_                                   |
| body.2.action                                                                                                                                                                                                                       | string      | The automation participant action                                                                                                                                                                                                                                                             | ADDED, REMOVED                          |
| body.2.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.2.automationType                                                                                                                                                                                                               | string      | The type of automation being added                                                                                                                                                                                                                                                            | _Any_                                   |
| body.2.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.2.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.2.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.2.automationInitiatedDisconnect                                                                                                                                                                                                | boolean     | An indication if the automation participant initiated disconnect from the dialog                                                                                                                                                                                                              | _Any_                                   |
| body.2.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.2.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.3                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.3.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.3.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.3.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.3.action                                                                                                                                                                                                                       | string      | The external participant action                                                                                                                                                                                                                                                               | ADDED, REMOVED, INVITED                 |
| body.3.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.3.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.3.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.3.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.3.externalParticipantInitiatedDisconnect                                                                                                                                                                                       | boolean     | An indication if the external participant (aka the Customer) initiated disconnect from the dialog                                                                                                                                                                                             | _Any_                                   |
| body.3.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.3.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.4                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.4.orchestrationFlow                                                                                                                                                                                                            | string      | The orchestration flow name that should be used for this engagement                                                                                                                                                                                                                           | _Any_                                   |
| body.4.attributes                                                                                                                                                                                                                   | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.4.attributes.category                                                                                                                                                                                                          | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.attributes.values                                                                                                                                                                                                            | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.attributeList                                                                                                                                                                                                                | arraystring | A simplified flat list of attributes                                                                                                                                                                                                                                                          |                                         |
| _NOTE_ this flat array of attributes will help to easily identify “System.Outbound” to represent a POM call                                                                                                                         | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.4.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.4.agentRoutingStrategy                                                                                                                                                                                                         | object      | Agent routing strategy configuration                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.agentRoutingStrategy.type                                                                                                                                                                                                    | string      | LAR: last Agent routing, PAR: preferred Agent Routing                                                                                                                                                                                                                                         | LAR, PAR                                |
| body.4.agentRoutingStrategy.waitTime                                                                                                                                                                                                | integer     | Wait time in minutes before default routing is applied                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.adhocEmail                                                                                                                                                                                                                   | boolean     | Flag to determine if adhoc email or not (email routing only)                                                                                                                                                                                                                                  | _Any_                                   |
| body.4.autoResponse                                                                                                                                                                                                                 | string      | The auto response suggested to be used                                                                                                                                                                                                                                                        | _Any_                                   |
| body.4.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.4.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.4.channelIdentifier                                                                                                                                                                                                            | string      | The channel identifier of the engagement                                                                                                                                                                                                                                                      | _Any_                                   |
| body.4.queue                                                                                                                                                                                                                        | object      | The queue details                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.queue.queueId                                                                                                                                                                                                                | integer     | The unique identifier of the queue                                                                                                                                                                                                                                                            | _Any_                                   |
| body.4.queue.queueName                                                                                                                                                                                                              | integer     | The name of the queue                                                                                                                                                                                                                                                                         | _Any_                                   |
| body.4.queue.priority                                                                                                                                                                                                               | integer     | The priority of the queue                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.queue.proficiencyRangeMin                                                                                                                                                                                                    | integer     | The minimum proficiency of the queue                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.queue.proficiencyRangeMax                                                                                                                                                                                                    | integer     | The maximum proficiency of the queue                                                                                                                                                                                                                                                          | _Any_                                   |
| body.4.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.4.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.4.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.4.sourceAddress                                                                                                                                                                                                                | string      | The source address of the external participant, e.g. calling number or customer email                                                                                                                                                                                                         | _Any_                                   |
| body.4.destinationAddress                                                                                                                                                                                                           | string      | Destination number or uri                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.4.subject                                                                                                                                                                                                                      | string      | The subject field of the incoming email                                                                                                                                                                                                                                                       | _Any_                                   |
| body.4.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.4.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.5                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.5.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.5.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.5.externalParticipantId                                                                                                                                                                                                        | string      | The Channel Provider's identifier for this external participant (aka the Customer)                                                                                                                                                                                                            | _Any_                                   |
| body.5.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.5.callingNumber                                                                                                                                                                                                                | string      | The calling number of the external participant                                                                                                                                                                                                                                                | _Any_                                   |
| body.5.dialledNumber                                                                                                                                                                                                                | string      | The original dialed number for the engagement                                                                                                                                                                                                                                                 | _Any_                                   |
| body.5.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.5.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.5.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.providerEngagementId                                                                                                                                                                                                         | string      | The provider-native identifier for the engagement                                                                                                                                                                                                                                             | _Any_                                   |
| body.5.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.5.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.5.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.6                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.matchId                                                                                                                                                                                                                      | string      | The unique identifier for this match                                                                                                                                                                                                                                                          | _Any_                                   |
| body.6.correlationId                                                                                                                                                                                                                | string      | The correlation Id from the original match request (can be ignored)                                                                                                                                                                                                                           | _Any_                                   |
| body.6.strategy                                                                                                                                                                                                                     | string      | The agent selection strategy used for this match (values include MOST_IDLE or OCCUPANCY)                                                                                                                                                                                                      | MOST_IDLE, OCCUPANCY                    |
| body.6.offeredQueue                                                                                                                                                                                                                 | object      | The offered queue details including offered agent                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.offeredQueue.queueId                                                                                                                                                                                                         | integer     | The unique identifier of this queue                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredQueue.channelId                                                                                                                                                                                                       | integer     | The channel of this queue                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredQueue.priority                                                                                                                                                                                                        | integer     | The priority of this service                                                                                                                                                                                                                                                                  | _Any_                                   |
| body.6.offeredQueue.rank                                                                                                                                                                                                            | integer     | The rank of this service                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredQueue.proficiencyRangeMin                                                                                                                                                                                             | integer     | The minimum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.proficiencyRangeMax                                                                                                                                                                                             | integer     | The maximum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.attributes                                                                                                                                                                                                      | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredQueue.attributes.category                                                                                                                                                                                             | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredQueue.attributes.values                                                                                                                                                                                               | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredQueue.offeredAgentData                                                                                                                                                                                                | object      | Details about the agent                                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.agentId                                                                                                                                                                                        | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.providerAgentId                                                                                                                                                                                | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelProviderId                                                                                                                                                                              | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelId                                                                                                                                                                                      | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.channelProviderAddress                                                                                                                                                                         | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredQueue.offeredAgentData.providerAgentAddress                                                                                                                                                                           | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredService                                                                                                                                                                                                               | object      | Details about the service offered including the offered agent                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredService.priority                                                                                                                                                                                                      | integer     | The priority of this service                                                                                                                                                                                                                                                                  | _Any_                                   |
| body.6.offeredService.rank                                                                                                                                                                                                          | integer     | The rank of this service                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredService.proficiencyRangeMin                                                                                                                                                                                           | integer     | The minimum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.proficiencyRangeMax                                                                                                                                                                                           | integer     | The maximum proficiency of this service                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.attributes                                                                                                                                                                                                    | arrayobject | A list of Category and Values identified for routing the call                                                                                                                                                                                                                                 | _Any_                                   |
| body.6.offeredService.attributes.category                                                                                                                                                                                           | string      | A category for routing                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredService.attributes.values                                                                                                                                                                                             | arraystring | A list of values specific to the category                                                                                                                                                                                                                                                     | _Any_                                   |
| body.6.offeredService.offeredAgentData                                                                                                                                                                                              | object      | Details about the agent                                                                                                                                                                                                                                                                       | _Any_                                   |
| body.6.offeredService.offeredAgentData.agentId                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredService.offeredAgentData.providerAgentId                                                                                                                                                                              | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelProviderId                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelId                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredService.offeredAgentData.channelProviderAddress                                                                                                                                                                       | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredService.offeredAgentData.providerAgentAddress                                                                                                                                                                         | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.offeredSpecifiedAgent                                                                                                                                                                                                        | object      | Details about the agent specified in the match request                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.rank                                                                                                                                                                                                   | integer     | The rank of this agent                                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.agentId                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.providerAgentId                                                                                                                                                              | string      | The provider agent id of the offered agent                                                                                                                                                                                                                                                    | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelProviderId                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelId                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.channelProviderAddress                                                                                                                                                       | string      | The address of the engagement provider                                                                                                                                                                                                                                                        | _Any_                                   |
| body.6.offeredSpecifiedAgent.offeredSpecifiedAgentData.providerAgentAddress                                                                                                                                                         | string      | The address of the agent                                                                                                                                                                                                                                                                      | _Any_                                   |
| body.6.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.6.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.7                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.7.agentId                                                                                                                                                                                                                      | string      | The unique identifier for the Agent                                                                                                                                                                                                                                                           | _Any_                                   |
| body.7.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.7.destinationAddress                                                                                                                                                                                                           | string      | Destination number or uri                                                                                                                                                                                                                                                                     | _Any_                                   |
| body.7.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.7.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.7.customerIdentifiers                                                                                                                                                                                                          | object      | A set of attributes used to identify the customer if any are known at engagement creation.                                                                                                                                                                                                    |                                         |
| _NOTE:_ the list of Customer Identifiers is configurable per account so expect this to be dynamic per customer.  This will include all known customer identifiers, but some customers may have more or less collected than others.' | _Any_       |                                                                                                                                                                                                                                                                                               |                                         |
| body.7.customerIdentifiers.phoneNumbers                                                                                                                                                                                             | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.customerIdentifiers.emailAddresses                                                                                                                                                                                           | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.customerIdentifiers.accountIds                                                                                                                                                                                               | arraystring | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.7.engagementParameters                                                                                                                                                                                                         | object      | Additional information that could be tagged on an engagement                                                                                                                                                                                                                                  | _Any_                                   |
| body.7.id                                                                                                                                                                                                                           | string      | Each event has its own unique ID                                                                                                                                                                                                                                                              | _Any_                                   |
| body.7.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.8                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.8.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.8.initiatingAgentId                                                                                                                                                                                                            | string      | The unique identifier for the agent that initiated the transfer                                                                                                                                                                                                                               | _Any_                                   |
| body.8.transferTo                                                                                                                                                                                                                   | string      | The type of the transfer                                                                                                                                                                                                                                                                      | QUEUE, USER, AUTOMATION, EXTERNAL       |
| body.8.destination                                                                                                                                                                                                                  | string      | Contains different values accordingly to transferTo: - If transferTo is QUEUE, then returns the queueId - If transferTo is USER, then returns the destinationAgentId - If transferTo is AUTOMATION, then returns the ivrAddress - If transferTo is EXTERNAL, then returns the externalAddress | _Any_                                   |
| body.8.queueId                                                                                                                                                                                                                      | string      | The destination queue identifier for the transfer or the fallback queue in the event destination agent is not available                                                                                                                                                                       | _Any_                                   |
| body.8.queueName                                                                                                                                                                                                                    | string      | The destination queue name of the transfer or the fallback queue in the event destination agent is not available                                                                                                                                                                              | _Any_                                   |
| body.8.channelProviderId                                                                                                                                                                                                            | string      | The unique identifier for this engagement provider                                                                                                                                                                                                                                            | _Any_                                   |
| body.8.connectionId                                                                                                                                                                                                                 | string      | The unique identifier for this appearance of this specific participant on the engagement                                                                                                                                                                                                      | _Any_                                   |
| body.8.dialogId                                                                                                                                                                                                                     | string      | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call                                                                                                                                                                                   | _Any_                                   |
| body.8.providerDialogId                                                                                                                                                                                                             | string      | The unique identifier of the dialog generated by provider                                                                                                                                                                                                                                     | _Any_                                   |
| body.8.channelId                                                                                                                                                                                                                    | string      | The channel ID which represents the media type                                                                                                                                                                                                                                                | _Any_                                   |
| body.8.correlationId                                                                                                                                                                                                                | string      | The correlationId for the request. This should be referenced when notifying a related error                                                                                                                                                                                                   | _Any_                                   |
| body.8.timestamp                                                                                                                                                                                                                    | string      | Timestamp (milliseconds since epoch) when the event was generated                                                                                                                                                                                                                             | _Any_                                   |
| body.9                                                                                                                                                                                                                              | object      | -                                                                                                                                                                                                                                                                                             | _Any_                                   |
| body.9.engagementId                                                                                                                                                                                                                 | string      | The unique identifier for this engagement                                                                                                                                                                                                                                                     | _Any_                                   |
| body.9.initiatingAgentId                                                                                                                                                                                                            | string      | The unique identifier for the agent that initiated the transfer                                                                                                                                                                                                                               | _Any_                                   |
| body.9.transferTo                                                                                                                                                                                                                   | string      | The type of the transfer                                                                                                                                                                                                                                                                      | QUEUE, USER, AUTOMATION, EXTERNAL       |
| body.9.errorType                                                                                                                                                                                                                    | string      | The type of the error                                                                                                                                                                                                                                                                         | CANCELLED, FAILED                       |
| body.9.destination                                                                                                                                                                                                                  | string      | Contains different values accordingly to transferTo:                                                                                                                                                                                                                                          |                                         |

</details>

- If transferTo is QUEUE, then returns the queueId
- If transferTo is USER, then returns the destinationAgentId
- If transferTo is AUTOMATION, then returns the ivrAddress
- If transferTo is EXTERNAL, then returns the externalAddress | _Any_ \|  
  | body.9.dialogId | string | The identifier for the dialog. _NOTE_ this will equate to the UCID created by the ASBCE for an inbound call | _Any_ \|  
  | body.9.channelProviderId | string | The unique identifier for this engagement provider | _Any_ \|  
  | body.9.channelId | string | The channel ID which represents the media type | _Any_ \|  
  | body.9.correlationId | string | The correlationId for the request. This should be referenced when notifying a related error | _Any_ \|  
  | body.9.title | string | The error description | _Any_ \|  
  | body.9.detail | string | The cause of the error | _Any_ \|  
  | body.9.id | string | Each event has its own unique ID | _Any_ \|  
  | body.9.timestamp | string | Timestamp (milliseconds since epoch) when the event was generated | _Any_ \|  
  | body.event | string | The name of the specific event being sent. For instance AgentState, AgentParticipant, InboundEngagementCreated, etc... | _Any_ \|

> Examples of payload _(generated)_

```json
{
  "correlationId": "a425851d-5225-4b76-8ca0-4fa31ecfd5db",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "family": "AGENT_ENGAGEMENT",
  "sentAt": "2020-08-24T08:20:23.395Z",
  "accountId": "DYNNUG",
  "loginId": "agent1@test.com",
  "body": {
    "event": "AgentState",
    "agentId": "4a785201-73b8-4842-abf7-36f5e572d310",
    "profileId": "HomeProfile",
    "state": "NOT_READY",
    "reasonCode": 514,
    "cause": "RONA",
    "id": "d3c8400d-c44f-4451-8316-e75c4efb8bb2",
    "timestamp": 9223372036854776000
  }
}
````

###### Tags

* Agent and Engagement Data

##### Message `pong`

Server pong response to a ping message.

###### Payload

| Name                 | Type   | Description                  | Accepted values |
| -------------------- | ------ | ---------------------------- | --------------- |
| event **(required)** | string | pong - A constant parameter. | *Any*           |

> Examples of payload

**pongMessage**

Example of a pong message to client.

```json
{
  "event": "pong"
}
```

###### Tags

* Heartbeat

##### Message `authenticationResponse`

Authentication response message sent to the client after websocket authentication.

###### Payload

| Name   | Type   | Description                                    | Accepted values |
| ------ | ------ | ---------------------------------------------- | --------------- |
| event  | string | authenticationResponse - A constant parameter. | *Any*           |
| status | string | You will then receive 1 of 5 statuses:         |                 |

* CONNECTION\_CONFIRMED: Connection was confirmed
* CONNECTION\_FAILED\_INVALID\_TOKEN: Authentication token is invalid
* CONNECTION\_FAILED\_UNKNOWN\_SUBSCRIPTION: Unknown Subscription, can be for a subscription that never existed or one that is no longer active
* CONNECTION\_FAILED\_INTERNAL\_SERVER\_ERROR: Server Error, client can retry later
* CONNECTION *FAILED\_CONSTRAINT\_VIOLATION: Client issue, malformed client request, client must update payload and rerty | CONNECTION\_CONFIRMED, CONNECTION\_FAILED\_INVALID\_TOKEN, CONNECTION\_FAILED\_UNKNOWN\_SUBSCRIPTION, CONNECTION\_FAILED\_INTERNAL\_SERVER\_ERROR, CONNECTION\_FAILED\_CONSTRAINT\_VIOLATION |\
  \| subscriptionId | string | The unique id of the subscription. |*&#x41;ny\_ |\
  \| pingInterval | integer | The maximum interval (seconds) at which a ping is expected to be sent by the client before websocket is closed and subscription set to INACTIVE.

It is recommended the client send ping more frequently (every 30 seconds) to preclude any proxies from closing the connection. | *Any* |\
\| expiresInterval | integer | Expiration interval in seconds before the subscription is set to INACTIVE. | *Any* |

> Examples of payload *(generated)*

```json
{
  "event": "authenticationResponse",
  "status": "CONNECTION_CONFIRMED",
  "subscriptionId": "fdbec917-e76e-4645-8120-4eac46f29487",
  "pingInterval": 300,
  "expiresInterval": 900
}
```

###### Tags

* Authentication