Skip to main content

Engagement

Engagement data is a core data set containing all customer engagements organized into conversations and linked to important attributes that enable to filter and segment them.

PropertyTypeDescription
EngagementPIDUnique identifier of this engagement.
AgentReference to AgentThe agent who engaged with the customer.
ContactReference to CustomerThe [Problem Internal Link] the customer used during this engagement. Contact is a specific phone number, email, username, or other identifier.
The original contact information is replaced by an anonymized identifier and is not visible in analytics.
Start TimeDate and TimeThe time when the engagement started including a preparation phase if there is any. Start time is available for all engagements.
End TimeDate and TimeThe time when the engagement ended including a wrap-up phase if there is any. End time is not available for engagements that are in progress.
CampaignEntityCampaign this engagement is part of. This can be for example outbound call campaign, emailing campaign or marketing campaign with a dedicated company contact that enables to categorize engagements.
CaseEntityThe case is associated with the current engagement. Cases are units that can span many engagements, conversations, and even customers. Thus cases are no directly part of a customer journey as they may touch multiple customers. However, cases might be useful to calculate aggregated metrics to associate effort, costs, etc. with them.
ChannelEntityChannel is a granular channel identifier.
Channel TypeEnumeration
Email, Chat, SMS, Task, Video, Voice
High level category of a channel which enables you to distinguish between engagements that may have very different expected metrics and attributes.
Channel VendorEntityThe vendor used for handling this engagement. This enables you to understand what applications and service customers use or preffer.
Company ContactEntityThe company contact that the customer reached or your agents used to reach the customer.
ConversationAttributeConversation group together multiple Engagements into one conversation.
DirectionEnumeration
Inbound, Outbound, Internal, Unknown
The direction of the conversation. Direction should be the same for all engagements in the conversation based on the direction of the first engagement.
Engaged TeamEntityThe team in which the agent when engaged in this engagement.
LanguageEntityThe predominant language is associated with the engagement. In a multi-lingual contact center. This enables you to segment engagements by the language you are serving.
LocationEntityLocation in which the engagement happened.
Menu PathEntityThe menu path the customer went through during the last menu engagement.
OutcomeEntityOutcome of the engagement. How outcome is determined depends on the engagement type.
Outcome CategoryEntityHigher level of outcome that enables to categorize them for example by kind of conversations they are related, by failure/success or categorize by other criteria.
PlatformEntityThe platform name in which this engagement happened.
PriorityEntityThe priority of the engagement represented by a category.
QueueEntityThe queue with which the engagement is associated with. The meaning differs by the type of the engagement.
ReasonEntityThe reason why the customers contact the company. This may be based on customer input, agent input or automatically detected based on the environment.
Service LevelEnumeration
Within SLA, Out of SLA, Ignore
Information whether this engagement was handled according to set service level standards.
SourceEntityThe account identifier in the platform in which this engagement happened. You can have multiple accounts in a single platform connected to one Salted CX account. This attribute enables you to show the engagements by this account.
StatusEnumeration
Completed, Corrupted, Deleted, In Progress, On Hold
Engagement state represents the current state of the engagement. The state can change over time as engagements may be long-running. In this case, they may appear as in progress and later be completed.
Terminated ByEnumeration
Agent, Customer, System, Technical, Unknown
Tells who has terminated the engagement. Typically a person who left the conversation. For example, during a phone call, this is when the participant hangs up.
TypeEnumeration
Agent, Agent Activity, Flow, Invitation, Menu, Queue, Technical
High-level type of the engagement. This categorizes engagements into very different kinds of categories that typically do not show in the single reporting.
CostFactThe cost of engaging in this conversation. This includes all costs that are possible to attribute in a given environment including agent salaries, technology stack costs, used services, etc.
Engagement TimeFactThe time from the moment when agent and a customer start talking together until they disconnect.
Focus TimeFactThe time the agent spent focused on the engagement. In a multitasking environment when agents can be engaged in multiple conversations at the same time the focus time tries to isolate the time when the agent’s attention is focused solely on this engagement.
Hold TimeFactThe time the customer spent waiting without the ability to talk to an agent during the engagement. Note that engagement time includes the hold time.
Invitation TimeFactThe time the agent was invited to join the conversation.
Preparation TimeFactThe time the agent spent before an engagement with a customer to prepare for it. This can be for example a research on customer history before reaching to them to ensure they better understand the customer.
TimeFactTechnical timestamp representing Start time. As fact this can be used for sorting and arithmetics.
Wait TimeFactThe time the customer or an agent spent in waiting to be connected to an agent. The meaning of wait time differs by engagement type.
Wrap Up TimeFactThe time the agent spent wrapping up the conversation after the customer is disconnected.

Cases

Cases enable you to connect engagements by case if the conversations are grouped by cases and tickets or other high-level requests.

Channel Type

Channel type is a high-level way of categorizing channels.

Channel TypeDescription
EmailThe engagement is an email conversation that has its specifics. It can have longer messages.
ChatThe engagement represents a chat where users communicate using messages instantly.
SMSThe engagement represents SMS or a similar short message system engagement.
TaskThe engagement represents a generic task.
VideoThe engagement represents a video call.
VoiceThe engagement represents a voice call.

Conversation

Conversation is an attribute that groups multiple Engagements into a single Conversation. There is an explicit data set containing individual conversations. In Logical Model the conversation is just a container for Engagements linked with the same permanent identifier.

Direction

Direction is the same for every engagement in a conversation and it is based on the first engagement. So even when agents consult during an inbound conversation with other agents the engagement representing the consulting part is still Inbound (not Internal). Keeping the direction the same for all engagements is intended to simplify reporting and remove unclarities.

DirectionDescription
InboundThe conversation was initiated by the customer.
InternalThe conversation was initiated by an agent in the contact center and led to another agent in the contact center.
OutboundThe conversation was initiated by an agent (or dialer) in the contact center and led to a customer outside of the contact center.

Outcome

Available outcomes depend on your business needs. This is typically called wrap code or disposition code based on the platform.

Service Level

Service Level indicates whether the engagement was handled within a required SLA policy.

Service LevelDescription
Within SLAThe engagement was handled according to service level requirements.
Out of SLAThe engagement was not handled within the service level requirements.
IgnoreThe engagement should be excluded from any calculation of SLA-based metrics.

Status

Engagement status represents the current state of the engagement. The status can change over time as engagements may be long-running. In this case, they may appear as in progress and lated be completed.

StatusDescription
CompletedThe Engagement is over. The agent handling that Engagement has no further work associated with the given engagement. After this, the engagement metrics and attributes should not change unless updated by loading custom data.
CorruptedSalted CX has not received all the data necessary to calculate some key metrics or attributes. These engagements may be the result of incomplete data received from a source platform. Corrupted engagements may appear when there is a problem with the underlying platform and it fails to deliver all the events it should, when there is a network issue between the source platform and Salted CX, or when there is an issue in Salted CX directly. Corrupted engagements are available for transparency and for being excluded from reporting when necessary.
DeletedThe Engagement was flagged as deleted. This means it should be excluded from most of the reporting unless the reporting is not specifically targeted deleted engagements.
In ProgressThe Engagement has started but has not yet been completed.
On HoldThe Engagement is in progress technically but has a hold state to indicate no agent is busy working on the engagement.

Engagement Type

Engagement type splits engagements into very different categories of engagements that have very different meanings. In the vast majority of metrics and reports you will want to filter by this attribute to get expected results.

TypeDescription
AgentSingle agent’s engagement in a conversation. The agent can be either a human or a service such as bot, voicemail, etc.
Agent ActivityThis engagement is a technical engagement that represents an agents in a given status.
FlowThis engagement is an engagement when customer was in a flow.
InvitationInvitation that asks an agent to join the conversation.
MenuEngagement in which the agent went through a process of picking options in a menu. This can be IVR for phone calls.
QueueCustomer or an agent waiting in a queue.
TechnicalItem in Engagement Data Set that is stored there only for technical reasons. Typically to make reporting easier to use.

Agent Engagements

Agent engagements are engagements in which the customer and agent talk together.

note

Agent does not always have to be a person. There might be bots and other services that handle the customer. If you are interested in human only engagements you should make sure you use Agent Type to filter the data.

Invitation Engagements

Invitation Engagements represent an invitation of an agent to a conversation.

PropertyTypeDescription
EngagementPIDUnique identifier of this engagement.
AgentReference to AgentThe agent who was invited to join the conversation.
Start TimeDate and timeThe time when the invitation was created.
End TimeDate and timeThe time when the invitation was accepted by an agent, was rejected and timed out.
CampaignAttributeCampaign this engagement is part of. This can be for example outbound call campaign, emailing campaign or marketing campaign with a dedicated company contact that enables to categorize engagements.
CaseAttributeCase associated with the current engagement. Cases are units that can span many engagements, conversations and even customers. Thus cases are no directly part of a customer journey as they may touch multiple customers. However cases might be useful to calculate aggregated metrics to associate effort, costs, etc. with them.
ChannelEntityChannel is a granular channel identifier.
Channel TypeAttributeHigh level category of a channel which enables you to distinguish between engagements that may have very different expected metrics and attributes.
Channel VendorAttributeThe vendor used for handling this engagement. This enables you to understand what applications and service customers use or prefer.
Company ContactEntityThe company contact that the customer reached or your agents used to reach the customer.
ConversationAttributeConversation group together multiple Engagements into one conversation.
DirectionAttributeThe direction of the conversation. Direction should be the same for all engagements in the conversation based on the direction of the first engagement.
Engaged TeamEntityThe team in which the agent when engaged in this engagement.
LanguageAttributeThe predominant language associated with the engagement. In a multi-lingual contact center this enables you to segment engagements by the language you are serving.
Menu PathEntityThe menu path the customer went through during the last menu engagement.
OutcomeEntityAccepted for invitations that the agent accepted
Rejected for invitations that the agent explicitly rejected
Time Out for invitations that the agent did not respond to a given time-out
Revoked for invitations that were revoked before the time out and before the agent had any chance to respond
Outcome CategoryEntityInvitation
PlatformAttributeThe platform name in which this engagement happened.
PriorityAttributeThe priority of the engagement.
QueueEntityThe queue with which the engagement is associated with. The meaning differs by the type of the engagement.
Service LevelAttribute
SourceAttributeThe account identifier in the platform in which this engagement happened. You can have multiple accounts in a single platform connected to one Salted CX account. This attribute enables you to show the engagements by this account.
StatusAttributeCompleted for invitations that are accepted, rejected or timed out
In Progress for invitations that are created but were not yet accepted/rejected/timed out
TypeAttributeInvitation
CostFact
Engagement TimeFact
Focus TimeFact
Hold TimeFact
Invitation TimeFactThe time the agent was invited to join the conversation.
Preparation TimeFact
TimeFactTechnical timestamp representing Start time. As fact this can be used for sorting and arithmetics.
Wait TimeFact
Wrap Up TimeFact

Queue Engagements

Queue engagement represents a customer (which can be of type agent) in a queue. Waiting in queue happens when you have limited number of people (eventually other resources) that can handle the customer request and you have nobody (or no resources) available for a given customer. Queues enable to overcome unavailability time period.

There might be multiple queue engagement when the customer moves from one queue to another.

PropertyTypeDescription
EngagementPIDUnique identifier of this engagement.
AgentReference to Agent
ContactReference to CustomerThe [Problem Internal Link] the customer used during this engagement. Contact is a specific phone number, email, username or other identifier.
The original contact information is replaced by an anonymized identifier and is not visible in analytics.
Start TimeDate and timeThe time when the customer started to wait in the queue.
End TimeDate and timeThe time when the customer left the queue for any reason.
CampaignAttributeCampaign this engagement is part of. This can be for example outbound call campaign, emailing campaign or marketing campaign with a dedicated company contact that enables to categorize engagements.
CaseAttributeCase associated with the current engagement. Cases are units that can span many engagements, conversations and even customers. Thus cases are no directly part of a customer journey as they may touch multiple customers. However cases might be useful to calculate aggregated metrics to associate effort, costs, etc. with them.
ChannelEntityChannel is a granular channel identifier.
Channel TypeAttributeHigh level category of a channel which enables you to distinguish between engagements that may have very different expected metrics and attributes.
Channel VendorAttributeThe vendor used for handling this engagement. This enables you to understand what applications and services customers use or prefer.
Company ContactEntityThe company contact that the customer reached or your agents used to reach the customer.
ConversationAttributeConversation group together multiple Engagements into one conversation.
DirectionAttributeThe direction of the conversation. Direction should be the same for all engagements in the conversation based on the direction of the first engagement.
Engaged TeamEntity
LanguageAttributeThe predominant language is associated with the engagement. In a multi-lingual contact center, this enables you to segment engagements by the language you are serving.
Menu PathEntityThe menu path the customer went through during the last menu engagement.
OutcomeEntityAccepted when the
Outcome CategoryEntityQueue
PlatformAttributeThe platform name in which this engagement happened.
PriorityAttributeThe priority of the engagement.
QueueEntityThe queue in which the customer is waiting.
Service LevelAttributeWithin SLA if the customer waited within the range defined in the SLA.
Out of SLA if the customer waited longer than defined in the SLA.
SourceAttributeThe account identifier in the platform in which this engagement happened. You can have multiple accounts in a single platform connected to one Salted CX account. This attribute enables you to show the engagements by this account.
StatusAttributeCompleted if the customer already left the queue
TypeAttributeHigh level type of the engagement. This categorizes engagements into very different kind of categories.
CostFactThe cost for engaging in this conversation. This includes all costs that are possible to attribute in a given environment including agent salaries, technology stack costs, used services, etc.
Engagement TimeFactThe time from the moment when agent and a customer start talking together until they disconnect.
Focus TimeFactThe time the agent spent focused on the engagement. In multitasking environment when agent can be engaged in multiple conversations in the same time the focus time tries to isolate the time when the agent’s attention is focused solely on this engagement.
Hold TimeFactThe time the customer spent waiting without the ability to talk to agent during the engagement. Note that engagement time includes the hold time.
Invitation TimeFactThe time the agent was invited to join the conversation.
Preparation TimeFactThe time the agent spent before an engagement with a customer to prepare for it. This can be for example a research on customer history before reaching to them to ensure they better understand the customer.
TimeFactTechnical timestamp representing Start time. As fact this can be used for sorting and arithmetics.
Wait TimeFactThe time the customer or an agent spent in waiting to be connected to an agent. The meaning of wait time differs by engagement type.
Wrap Up TimeFactThe time the agent spent wrapping up the conversation after the customer is disconnected.

Terminated By

Indicates how the engagement was terminated and by whom.

Terminated ByDescription
AgentThe agent left the engagement while the customer was still in the engagement.
CustomerThe customer left before the agent.
SystemThe engagement was terminated by the system as expected. This is for example the case when a customer arrives at the end of an IVR.
OtherThe connection reason is none of the others.
TechnicalThe connection was terminated due to technical reasons.