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:
- 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.
- 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).
- AWS EventBridge: Genesys has the ability to send data through AWS EventBridge, which has fewer limitations.
- 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
Object | Description |
---|---|
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.
Event | How it's triggered | Input Data | Supported timing |
---|---|---|---|
Conversation created | When a Conversation record is created in DCM |
|
|
Participant added | When a Participant is added to a Conversation. |
|
|
Agent transfers conversation | When an agent transfers the Conversation to another agent. |
|
|
Agent disconnects | When the agent disconnects the Conversation |
|
|
Conversation ended | After CDM_CONVERSATION, the CalculatedStatus value is changed to "Ended" |
|
|