Skip to main content
Skip table of contents

Tracking Genesys Conversations

We often need status updates from Genesys on Conversations that DCM is involved in. For example, we want the Case Owner to automatically change when Genesys assigns the Conversation to an agent. There are a few mechanisms for Genesys to communicate with DCM:

  1. Architect Flow (Genesys Cloud → Admin → Architect): Create an "Architect Flow" that will execute a "Data Action" defined in FR_INTEG_5 when something happens to a Conversation. These Flows can also be executed programmatically. I don't know how this is configured.
  2. WebSocket Notifications: Genesys has a WebSocket implementation that can react to Conversation events: https://developer.genesys.cloud/notificationsalerts/notifications/. It needs to subscribe to relevant topics (https://developer.genesys.cloud/notificationsalerts/notifications/available-topics).
  3. AWS EventBridge: Genesys has the ability to send data through AWS EventBridge, which has fewer limitations.
  4. JavaScript SDK: Genesys provides a JavaScript SDK that should allow executing some Genesys APIs from the Client App iFrame: https://developer.genesys.cloud/devapps/sdk/javascript


How the Conversations Updates from Genesys are Saved in DCM

ObjectDescription
Conversation

The top-level object managing the conversation

It just has the ID, start time and end time.
Participants

The people and systems (IVR, ACD, ...)  that are involved in the conversation.

95% of the time, a Conversation has only 4 participants: IVR, ACD, Customer, and Agent. But this can grow if there are transfers.

Sessions

The individual communication channel that the participant used to interact.

For example: "voice," "chat," "SMS," and "email."  A participant can have multiple sessions on a single conversation if there are transfers or channel switching.

Segments

The individual steps and timestamps that were taken by the participant during communication.

For example: "alerting" means how long the call was ringing to the agent before they accepted it. "interact" means how long the agent spent talking to the customer.

Metrics

Similar to "Segments" except better aggregated for reporting. 

Surveys

Web-based surveys that an agent can optionally send a customer after a conversation.

The customer gets an email with a link to an online form.

Evaluations

Web-based form that supervisors can use to evaluate an agent's performance.

The supervisor is able to do this in Genesys Cloud.

Common Events for Conversations

To support extensibility and discourage PS from overriding our core implementation, we need to support Common Events.

EventHow it's triggeredInput DataSupported timing
Conversation created

When a Conversation record is created in DCM

  • ConversationId  - Guid of Conversation from Genesys
  • ConvesationJson
  • AFTER - ACTION
Participant added

When a Participant is added to a Conversation.

  • ConversationId  - Guid of Conversation  from Genesys
  • ParticipantId -  Guid of Participant from Genesys
  • ConvesationJson
  • AFTER - ACTION
Agent transfers conversation

When an agent transfers the Conversation to another agent.

  • ConversationId - Guid of Conversation  from Genesys
  • ActiveUserId - Guid of an active userId (Will be passed if it executes via premium app)
  • TransferType - consult or blind
  • TransferQueueId - Guid of Queue if transfer to queue
  • TransferUserId - Guid of UserId if transfer to user
  • WrapUpCode - Guid of Wrap-Up Code
  • ConvesationJson - (Json before action, we don't get a new data after action)
  • BEFORE - VALIDATION
  • BEFORE - ACTION
  • AFTER - ACTION
Agent disconnects

When the agent disconnects the Conversation

  • ConversationId, string - Guid of Conversation from Genesys
  • ActiveUserId - Guid of an active userId  (Will be passed if it executes via premium app)
  • WrapUpCode - Guid of Wrap-Up Code
  • ConvesationJson - (Json before action, we don't get a new data after action)
  • BEFORE - VALIDATION
  • BEFORE - ACTION
  • AFTER - ACTION
Conversation ended

After CDM_CONVERSATION, the CalculatedStatus value is changed to "Ended"

  • ConversationId  - Guid of Conversation from Genesys
  • ConvesationJson
  • AFTER - ACTION


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.