Skip to main content
Skip table of contents

People/BOTs Involved in a Conversation

From the business side, Sessions are added in the following ways:

  • A new Participant is added to the Conversation
  • An agent transfers a conversation to another agent, then gets transferred back to the first agent
  • An agent switches channels (i.e., responds to email then call customer)
  • An agent initiates a Screen Share with the customer

This data is important inside DCM for reporting purposes. For example, Spark NZ wants a report of all Email Conversations that involved multiple agents and how long each one spent working on it. 


Description

The table TBL_GEN_PARTICIPANT tracks the people/bots involved in a Conversation. In Genesys, this is the Conversation's "Participants" object.

This table tracks the piece of media (phone, chat, email, sms, ..) that the Participant used to communicate with other Participants. In most situations, every Participant will have one Session. But a Participant can have multiple Sessions if a customer gets transferred between multiple agents back and forth. It's also theoretically possible for a Customer to switch from chat to voice, creating two different Sessions on the same Conversation.

Generally, the following "participants" can be involved:

  • Participants considered by DCM

    • agent - Represents a Genesys Cloud agent on a contact center conversation
    • customer - Represents the customer on a contact center conversation
    • user - Represents an internal Genesys Cloud user on a business conversation
    • external - Represents a non-Genesys Cloud person in a business conversation
  • Participants DON'T considered by DCM
    • acd - Non-human participant that represents the ACD queue the conversation was routed through (DCM can ignore)
    • ivr - Non-human participant that represents the voice IVR that the conversation was routed through (DCM can ignore)
    • voicemail - Represents a Genesys Cloud user's voicemail (DCM can ignore it)
    • fax - Represents a non-human fax participant if the voice call is transmitting a fax document (DCM can ignore)
    • group - Represents a non-human participant that represents the Group that was used for a group-ring voice conversation (DCM can ignore)

For our use cases, we should only track the agent, customer, user, and external participants in the TBL_GEN_PARTICIPANT table. 

From the business side, participants are usually added in the following ways:

  • The conversation is routed to an agent
  • The agent transfers the Conversation to another agent
  • Agent adds another external contact or agent to the Conversation

Table Structure

ColumnPurposeHow it's populated
ConversationID

The COL_ID of the TBL_GEN_CONVERSATION record.

Should be known when the Participant is created by Genesys.
ParticipantID

The Genesys unique ID of this Participant record.

Should be known when the Participant is created by Genesys.
Purpose

The "type" of Participant. For now, we only care about "agent," "customer," "user," and "external."

Should be known when the Participant is created by Genesys.
UserId

The Genesys User ID of either the "agent" or the "user" participant. 

Should be known when the Participant is created by Genesys.
UserEmail

The Genesys User's username of either the "agent" or the "user." This is helpful for matching a Genesys User to an AppBase User.

Should be known when the Participant is created by Genesys.

Name


The Genesys User's or The Genesys External Contact or The Genesys Queue Name

Should be known when the Participant is created by Genesys.
ExtContactId

The Genesys External Contact ID of either the "customer" or the "external" participant.

Should be known when the Participant is created by Genesys. Genesys automatically creates an External Contact for every unknown "customer" or "external" participant.
ExtContactEmail

The Genesys External Contact email of either the "customer" or the "external" participant. This can be used by DCM to help find the match to an External Party. It can also be helpful for reporting.

If the External Contact ID is known, this information may be available with the Genesys External Contact APIs.
ExtContactPhone

The Genesys External Contact primary phone number of either the "customer" or the "external" participant. This can be used by DCM to help find the match to an External Party. It can also be helpful for reporting.

If the External Contact ID is known, this information may be available with the Genesys External Contact APIs.
MediaType

The type of communication device used by the Participant. Possible values are: callback, chat, co-browse, email, message, screenshare, unknown, video, voice.

Should be known from Genesys when this record is created.
SessionStart

When the session starts, for example, a customer's session starts when they call the company, but an agent's session starts when Genesys routes them the call.

Should be known from Genesys when this record is created.
SessionEnd

When the session ends, for example, a customer's session ends when they hang up the phone, but an agent's session may end later if they are still writing notes about the conversation.

Genesys should notify DCM when a session ends.
WrapUpCode

The unique ID of the wrap-up code. The Genesys Conversation Wrap-up Code is like a DCM Resolution Code. The Agent usually sets the Wrap-up Code manually right before they close/disconnect the Conversation. It's also possible for both Genesys and DCM to set the Conversation's Wrap-Up Code automatically.

The wrap-up code is stored in the Genesys Session's Segment array. There may be a Genesys event we can subscribe to that monitor for this.
UserId

The AppBase User ID of the matching Genesys "agent" or "user" participant. This allows DCM to find all Conversations the User was involved in quickly.

Usually, every Genesys User is also an AppBase User. The Genesys User's username is always a unique email address, so we can use it to match with the AppBase user.

Are there use-cases where the email addresses in AppBase are not unique? Do we need the ability to configure a custom rule?

ExternalPartyId

The AppBase External Party ID of the matching Genesys "customer" or "external" participant. This allows DCM to find all Conversations the EP was involved in quickly.

Settings in FR_INTEG_2 provide information of how DCM should identify inbound callers.

FR_INTEG_2 does not have settings for outbound calls. Do we need it?


JavaScript errors detected

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

If this problem persists, please contact our support.