OData Feed Documentation
This article describes the Buzzeasy OData feed schema, our means of publishing detailed statistical information of the performance of your Buzzeasy tenant. While the primary user of this data feed is the Microsoft Power BI template file we publish, developers can also use it to craft their own reports in their own 3rd party or bespoke BI applications.
The data feed consists of data tables (statistical details and lookup tables) with logical relations between them. Data in these tables are purged as per the retention period set for your tenant.
Technical definitions of the various Buzzeasy entities and objects are explained in the Technical Glossary.
See the BI Reports documentation for the BI report template details.
Using the OData feed
To begin using the data feed, you must use Microsoft Power BI or similar tool that supports OData as data source with Microsoft's organizational authentication.
Obtain data from our feed by clicking the Get Data button in Microsoft Power BI, then select OData feed.
Provide the Buzzeasy OData url.
Login with your organization account used with Buzzeasy.
The first time you login with an organization account, you will be asked to consent to Power BI access policies. Approve the request. This might require administrator permissions in your corporate domain.
Select the tables you are interested in, see the tables below.
Lookup tables
Some tables in the data feed are not providing statistical information, but are there to offer human readability. These are typically used to perform id-to-name translation.
Important
Lookup tables are updated once a day (midnight 00:00 UTC). As such, e.g. the deletedAt
timestamp in many such tables are populated at this time, they will not show the exact date when a corresponding object is removed. Likewise, any new records generated during the day won't show up until this update is done. These tables are not meant for and should not be used for audit purposes.
Agent Business Unit Changes
This table offers insight into how long agents contributed to various Business Units.
Field | Description |
---|---|
agentId |
The unique ID of the agent. Pair this with the ID from Agents table to obtain the name of the agent. |
assigned |
A binary (true/false, 0/1) flag representing whether the given agent joined or withdrew from the given business unit in the marked tenant. |
businessUnitId |
The unique ID of the business unit. |
tenantId |
The unique ID of the tenant. |
timestampUtc |
UTC timestamp of when the business unit to agent relationship changed. |
Agents
A lookup table containing the unique ID of the agent, the name, the customID set through the portal and the deletedAt timestamp.
Pair the ID with the agentID from other tables in order to create humanly readable reports for agent performance.
Agent States
The agent states table contains historical data for the states of all the agents within the tenant. The following columns are available:
Field | Description |
---|---|
agentID |
The unique ID of the agent. Pair this with the ID from Agents table to obtain the name of the agent. |
breakName |
The break name selected by the agent. Break names can be configured by an administrator on a per tenant basis. |
durationInSeconds |
Calculated duration of a particular state. |
id |
The id of the reporting entry. |
isLogin |
True/False flag to highlight if the break state is the result of a login. |
isLogout |
True/False flag to highlight if the state is the result of a logout. |
logoutReason |
Reason why an agent was logged out, this can be AgentLogout when the agent logs out, ConnectionTimeout if the agent was logged out due to network issues or ForceLogout if the agent was forcibly logged out by a supervisor. |
startTimeUtc |
The start time of a particular state in UTC. |
startTime |
The start time of a particular state in the tenant's timezone. |
state |
The state of the agent |
Available agent states are:
Idle
(available): The agent is available and awaiting tasksBusy
: The agent is busy with at least 1 task.Break
(with break code or without break code): The agent is on break and cannot receive tasks.Logged out
: The agent is logged out.
Bot Segments
A bot segment is started when a conversation enters one of the bot nodes of a workflow; e.g. QnA bot, Custom bot nodes, but also Menu selection or Custom question are considered bots. It finishes when the customer participant is leaving the given node. A single customer can interact with multiple bots in sequence, as such, a single conversation ID can be part of multiple bot segments. When creating reports, we recommend aggregating bot segments to identify the total time a customer spent with bots.
Field | Description |
---|---|
id |
Unique identifier of the Bot Segment itself. |
conversationID |
ID of the conversation. |
botStepId |
ID of the given bot step. Pair this with the ID column of the Bot steps table to identify the bot step name. |
botFinishedInfo |
Various values depending on the type of bot used in a given bot step. It refers to any data collected. |
botFinishedResult |
Represents the workflow output of a given bot step. In some cases, this is identical as the botFinishedInfo , see below for values. |
botInfo |
This is filled only by the QnA bot with QNA Config ID, see below for details. |
durationInSeconds |
Elapsed time since bot segment started until it ended. This is calculated based on startedAt and endedAt . |
startedAt |
Timestamp of a bot segment start time. |
endedAt |
Timestamp of a bot segment end time. |
result |
Values reflecting the customer activity, see below. |
channelId |
The ID of the channel the conversation assigned to a bot came through. |
The botFinishedInfo
field can take these values:
auto-attendant
: Digit pressed by the customer.custom-question
: Digit pressed (in case of voice) or the customer answer (in case of chat).custom bots
: Custom text (passed by the custom bot itself).menu selection bot
: Selected menu option (text).qna
:exitQuestion
(QnA could not answer this question)identify customer
:byEmail
|byPhone
|invalid
|created
|external
customer intent evaluator
(email): This represents the category it matched, either subject or content and the keyword it matched. Example:subject:<keyword>
matchAni
: This represents the rule it matched.
The botInfo
field can take these values:
auto-attendant
: Digit pressed by the customer or retry exhausted when the user reached the repeat count.custom bot
: null (finished)menu selection
: selected menu optioncustom question
: success, invalid (in case of chat), success or retry exhausted in case of voice.qna
: No Answeridentify customer
: success, invalidcustomer intent evaluator
: This represents the keyword group matched or no match. In other words, this is the node's output.matchAni
: This represents the rule it matched.
The result
field can be one of these:
Success
: Customer passed through the Bot step.CustomerDisconnect
: Customer left the conversation during the bot segment. This is also known as Abandoned.Failed
: System error. Useful for custom bots for debugging purposes.
Bot Steps (lookup)
A bot step is a bot node in a workflow. This table is a lookup table containing names, types and media groups.
Field | Description |
---|---|
deletedAt |
Timestamp when the synchronizer service detected the bot step as deleted. |
id |
Unique ID of the bot step. Pair this with bot step ID from Bot segments. |
mediaGroup |
Chat or Email or Voice . Represents the media group of the channel the corresponding workflow is associated to. |
name |
The name of the bot step, as defined in the workflow. |
type |
This is the type of the bot. |
The type
field can be:
announcement
autoAttendant
customBot
customerIntentEvaluator
identifyCustomer
matchAni
menuSelection
qna
question
sendEmailReply
A relationship between the id
column of Bot Steps with the botStepId
column of Bot Segments should be created to provide more clarity to the bot segments reports.
Business Units (lookup)
Business units act as a filter for various other entities and operations within an organization. Organizations with multiple business units may find themselves in a position where they wish to restrict which customers, channels, customers, templates agents can see in the context of a conversation. These entities have a business unit ID associated, and this table allows pairing that with the name of the business unit.
Calls (Voice conversation level data)
The Calls table represents the conversation level data for voice media. A new conversation starts when a customer participant engages with a voice workflow. Agent may also start a new conversation in preview campaigns and ad-hoc outbound call scenarios. Finally, the system itself can also launch outbound calls in predictive campaigns. Additionally, a new conversation is created when the agent transfers the voice conversation to another or the same channel, or when the workflow redirects it to a different channel or external phone number. The conversation ends when the workflow terminates the conversation or the customer disconnects. Workflow terminates the conversation when the agent disconnects the call and an End conversation output is set, when a transfer to channel node is used or a redirect to external is used.
Field | Description |
---|---|
businessUnitId |
The ID of the business unit the conversation belongs to. |
channelId |
ID of the channel for a particular conversation. Can be used with Channels table. |
channelPhoneNumber |
The phone number of the channel used for a particular conversations. As voice channels support multiple inbound numbers, this will allow identifier which number the customer used to engage with the channel. |
channelType |
Type of the channel. For voice calls, this is only Voice. |
conversationEndedReason |
Reason why the conversation ended. |
customerFirstName |
The first name of the customer. |
customerId |
The unique identifier of the customer. |
customerJoinedAt |
When the customer joined the conversation in local time. |
customerJoinedAtUTC |
When the customer joined the conversation in UTC. |
customerLastName |
The last name of the customer. |
customerPhoneNumber |
The customer's phone number. |
customerRingDuration |
The customer ring time. For how long was the customer dialed. |
durationInSeconds |
Total duration of the conversation. This is a calculation based on startedAt and endedAt timestamps, rounded up or down depending the value. |
endedAt |
Timestamp of when the conversation was ended. Uses your tenant timezone settings. |
endedAtUTC |
UTC Timestamp of when the conversation was ended. |
holdCount |
Number of times the customer was placed on hold. |
holdDurationInSeconds |
Total duration the customer spent on hold in seconds. |
id |
The unique ID of the conversation. Pair this with conversationId from other tables. |
isChannelClosed |
Total amount of time in seconds elapsed for a given conversation while the channel was closed (out of business hours). |
isChannelOpen |
Total amount of time in seconds elapsed for a given conversation while the channel was open. |
isConsult |
True or false, true when the call was a consult call to another agent or channel as these create a new conversation as well. |
isOutbound |
True or False, True when the call was an outbound call. |
nextConversationID |
Reference to the next conversation in case of a transfer. |
openingCheckResult |
Open or Holiday or Closed depending on the result of the openingCheckNode of the workflow. |
startedAt |
Timestamp of when the conversation was started. Uses your tenant timezone settings. |
startedAtUTC |
UTC Timestamp of when the conversation was started. |
TransferInitiatedBy |
|
TransferToExternalDestinationPhoneNumber |
Target phone number for an external transfer. |
The conversationEndedReason
field can take these values:
Abandoned
: The conversation was abandoned in a queue. Customer dropped the call while waiting in a queue. Workitems, Bot Segments and QueueSegments may offer additional information.AgentJoinFailed
: Outbound calls only. The agent failed to answer the call in Teams.CallbackRequested
: The customer requested a callback in one of the queues and left the queue.CustomerDisconnected
: Also known as Abandoned, applied to a conversation when the customer disconnects from a voice call at any point during the conversation.CustomerJoinFailed
: Outbound calls only. The customer did not answer the outbound call.Default
: Workflow reaches an End Conversation. This can happen when the agent closes the task and there's no survey afterwards, a bot exits conversation and so on. Default is applied whenever END is specified in the flow and the customer reaches point.IdleTimeout
: This is applied whenever the conversation times out due to workflow timeout. Workflow timeout is 24 hours by default for voice conversations.InternalError
: The server returned an internal error during a conversation. (debugging, has no reporting value)TransferToAgentFailed
: A transfer to an agent was attempted, but failed. This can happen if the destination agent rejects the call or the preview timeout is reached.TransferToChannel
: The conversation was transferred to a Buzzeasy channel.TransferToExternal
: The conversation was transferred outside of Buzzeasy, to an external number.TransferToExternalFailed
: Transfer to external was attempted, but failed. This can happen when the external party rejects the call or the 30 seconds ring timeout is reached.
The TransferInitiatedBy
field can be:
agent
: The agent initiated the transfer.workflow
: The workflow initiated the transfer.- empty: No transfer was initiated.
Campaign Record Additional Phone number
This table contains the campaign record ID and the additional phone numbers of those given records.
Campaign Record Custom Fields
This table contains the campaign record ID along with the customFieldName
and customFieldValues
.
Campaign Record Registrations
This table contains data about uploaded records, their campaign ID, customer first name, customer last name and primary phone number.
Campaign Records
This table contains various data about the current state of the records of a campaign.
Field | Description |
---|---|
campaignID |
The ID of the campaign. |
closedAt |
Local timestamp of when the record was closed/completed. |
CreatedAt |
Local timestamp of when the record was created. |
customerFirstName |
First name of the customer. |
customerLastName |
Last name of the customer. |
customerPhone |
Primary phone number of the customer. |
id |
ID of the record. |
newStatusDuration |
Duration of the record in the "Newly Added" state. |
queuedStatusDuration |
Duration of the record in the "Processing" state. |
rescheduledStatusDuration |
Duration of the record in the "Rescheduled" state. |
status |
Current status of the record. |
totalCustomerRingTimeInSeconds |
Customer ring duration in seconds for a given record. Calculated based on all dial attempts of a record. |
totalTalkTimeInSeconds |
Represents the talk time with a customer for a particular record. Calculated based on all dial attempts of a record. |
Campaigns (lookup)
Contains data about campaigns and can be used to provide a humanly readable name for the campaigns.
Field | Description |
---|---|
campaignType |
The type of the campaign. Can be Preview or Callback. |
deletedAt |
When the campaign was deleted. |
id |
ID of the campaign. |
name |
Name of the campaign. |
See the Lookup tables section for important details.
Captured Data
The Captured Data table refers to data collected from the workflow variables specified at the tenant level and filled in the workflows.
Field | Description |
---|---|
TimestampUtc |
UTC timestamp the field was filled in this conversation. |
name |
The name of the custom tenant level workflow variable. |
value |
The value of the custom tenant level workflow variable. |
ConversationId |
The id of the conversation through which data was collected and stored. |
Channels (lookup)
Applies to: Chat, Voice, Email.
Channels table is used for filtering purposes and to provide additional data to tables where channelID
is present. As with all lookup tables, this gets updated regularly by the system.
Field | Description |
---|---|
businessUnitId |
The ID of the business unit associated to this channel. |
channelType |
Media type of the channel. |
name |
The name of the channel, as displayed on the portal. |
deletedAt |
The time the system updated this record past the actual deletion. |
id |
The channel ID. Can be paired with channelID column of other tables. |
See the Lookup tables section for important details.
Chats (Conversation data)
Applies to: Webchat, Viber, Facebook
Chats table refer to Chat conversation level data. A new conversation starts when a customer participant engages with a chat workflow, as such, the conversation is not initiated in case of welcome or invitation messages used for chat, until the customer sends a message. The conversation ends when either the customer terminates it (webchat), or the workflow terminates it. Workflow terminates a conversation when it reaches an End node in the flow or due to Idle timeout.
Field | Description |
---|---|
averageAgentAnswerSpeedInSeconds |
Average time it took the agents to respond to the customer messages per conversation. |
averageBotAnswerSpeedInSeconds |
Average time it took the bots to respond to the customer messages per conversation. |
averageCustomerAnswerSpeedInSeconds |
Average time it took the customer to respond to the the agent or bot messages per conversation. |
businessUnitId |
The ID of the business unit this conversation was associated with. |
channelID |
ID of the channel for a particular conversation. Can be used with Channels table. |
channelType |
Type of the channel. Facebook, Viber, Webchat types are currently available. |
conversationEndedReason |
Reason why the conversation ended. |
durationInSeconds |
Total duration of the conversation. This is a calculation based on startedAt and endedAt timestamps, rounded up or down depending the value. |
customerFirstName |
The first name of the customer. |
customerId |
The unique identifier of the customer. |
customerLastName |
The last name of the customer. |
id |
The unique ID of the conversation. Pair this with conversationId from other tables. |
isChannelClosed |
Total amount of time in seconds elapsed for a given conversation while the channel was closed (out of business hours). |
isChannelOpen |
Total amount of time in seconds elapsed for a given conversation while the channel was open. |
firstCustomerAnswerSpeedInSeconds |
Time it took the customer to respond to an outbound chat conversation. |
openingCheckResult |
Open or Holiday or Closed depending on the result of the openingCheckNode of the workflow. |
nextConversationID |
Reference to the next conversation in case of a transfer. |
startedAt |
Timestamp of when the conversation was started. Uses your tenant timezone settings. Conversation is started when the customer participant sends his first message, or when the agent transfers an existing conversation to another or the same queue. |
endedAt |
Timestamp of when the conversation was ended. Uses your tenant timezone settings. A conversation ends when the customer participant explicitly clicks the Terminate conversation button, the agent terminates the conversation button and there is no survey configured in the workflow or when the agent transfers the conversation to another queue. |
startedAtUTC |
UTC Timestamp of when the conversation was started. |
endedAtUTC |
UTC Timestamp of when the conversation was ended. |
The conversationEndedReason
field can be:
CustomerDisconnected
: Also known as Abandoned, applied to a conversation when the customer disconnects from a chat (Webchat only).Default
: Workflow reaches the end of the conversation, in other words the conversation reaches an End output in a node. This can happen when the agent closes the task and there's no survey afterwards, a bot exits conversation and so on.IdleTimeout
: This is applied whenever the conversation times out due to workflow timeout.TransferredToQueue
: The conversation was transferred to another queue.
Collected Data
The Collected Data table refers to data collected through Scripting. Data is stored in Buzzeasy only if the Persist Collected Data is set to true in the Agent Workspace.
Field | Description |
---|---|
createdAtUtc |
UTC timestamp of the entry creation. |
name |
The name of the scripting variable or field that was set. |
value |
The value of the scripting variable or field. Value is added by the agent or system. |
workitemId |
The id of the agent workitem through which data was collected and stored. |
Conversations
Similar to Calls, Chats, emails, but without any filtering applied.
Emails (Conversation data)
Emails table refer to Email conversation level data. A new conversation starts when a customer participant engages with an email workflow. Additionally, a new conversation is created when the agent transfers the email conversation to another or the same channel. The agent may initiate conversations through the Outbound email functionality, in such cases, the conversation is initiated when the agent clicks the compose button. The conversation ends when the workflow terminates the conversation. Workflow terminates the conversation when an End output is reached on a node or when the idle timeout is reached.
Field | Description |
---|---|
businessUnitId |
The business unit ID associated to a particular email conversation. |
channelID |
ID of the channel for a particular conversation. Can be used with Channels table. |
channelType |
Type of the channel. In the case of email, this will always be Email, however, you may use the channelType for filtering purposes when building generic reports. |
conversationEndedReason |
Reason why the conversation ended. |
customerEmailAddress |
The email address of the customer. |
customerFirstName |
The first name of the customer. |
customerId |
The unique identifier of the customer. |
customerLastName |
The last name of the customer. |
durationInSeconds |
Total duration of the conversation. This is calculated based on startedAt and endedAt timestamps rounded. |
firstReplyTimeInSeconds |
Time elapsed until the customer received a first reply. Subsequent replies are not calculated here. |
id |
conversationID, the unique identifier of the conversation. |
inChannelClosedDurationInSeconds |
Total duration of the conversation outside of business hours. |
inChannelOpenDurationInSeconds |
Total duration of the conversation during business hours. |
isOutbound |
True or False, determine if the conversation was an outbound email. |
nextConversationId |
Populated in case of transfers, allows to tracking the customer journey. |
subject |
The subject line of the email conversation. |
threadID |
Multiple conversation may belong to the same thread. It changes when the subject of the email changes and remains the same otherwise (e.g. the customer and agent engage in multiple back and forth responses under the same subject, or the customer sends multiple followup emails with the same subject, etc). |
startedAt |
Timestamp of when the conversation was started. Uses your tenant timezone settings. |
endedAt |
Timestamp of when the conversation was ended. Uses your tenant timezone settings. |
startedAtUTC |
UTC Timestamp of when the conversation was started. |
endedAtUTC |
UTC Timestamp of when the conversation was ended. |
The conversationEndedReason
field can take the following values:
TransferToChannel
: Conversation was transferred to a channel.Default
: Standard reason when a conversation ends normally when an End node is reached in the workflow, such as AgentDisconnect.IdleTimeout
: Conversation was terminated due to workflow idle timeout.
Queues (lookup)
Applies to: Voice, Chat, Email
Queues table is another lookup table, it brings the name of the queue ID. Pair ID of this table with the queueId found in other tables.
Field | Description |
---|---|
Name | The name of the queue. |
id | The unique ID of the queue. |
deletedAt | UTC timestamp of when our refresh service detected the queue as deleted. This timestamp should not be used for audit purposes. |
channelID | Originating channel ID, pair this with channel lookup to discover the media type of a given queue. |
routing mode | Can be Automatic or Manual . Reflects the queue node setting for routing conversations. |
See the Lookup tables section for important details.
Queue Segments
Applies to: Voice, Chat, Email
A queue segment is created when a participant enters a queue node in the workflow. It ends when the participant leaves the queue, a dequeuedReason
is provided to identify the reason of leaving the queue segment.
A single conversation may be part of multiple queue segments, e.g. during a timeout when the conversation gets sent to another queue.
Field | Description |
---|---|
channelId |
ID of the channel through which a conversation reached a particular queue segment. |
queueId |
Unique ID of a given queue node. Pair with ID of the Queues (lookup) table. |
conversationId |
Unique ID of a given conversation. |
queuedAt |
Local timestamp of when the segment was created. A segment is created when a user enters the queue. Local timestamp is based on your Buzzeasy Teams' timezone settings. Learn more about setting your Teams timezone. |
queuedAtUTC |
UTC timestamp of when the segment was created. A segment is created when a user enters the queue. |
dequeuedAt |
Local timestamp of when the user left the queue and the segment ended. |
dequeuedAtUTC |
UTC timestamp of when the user left the queue and the segment ended. |
durationInSeconds |
Total duration of the queue segment. This is calculated based on queuedAtUTC and dequeuedAtUTC. |
dequeuedReason |
System reason of why the user was dequeued. |
The dequeuedReason
can be one of the followings:
AgentConnected
: The participant is now connected and engaged in a conversation with a human agent no longer in the queue.CallbackRequested
: The participant requested a callback and is no longer in the queue.CustomerDisconnected
: Also known as Abandoned, the participant disconnected during the queue segment.QueueTimedOut
: Queue Timeout threshold has been reached and the participant is no longer in the queue.
Rejected Enqueue Attempts
Applies to: Webchat, Voice, Email, Viber, Facebook
Whenever a user cannot enter the queue due to no agent being logged in across the tenant, no skilled agent being logged in across the tenant, or the maximum queued conversation threshold has been reached, an attempt record is created within this table.
A single conversation may have multiple rejected enqueue entries, depending on the workflow configuration. For example when multiple queue nodes are linked together and the participant cannot enter any of them.
Field | Description |
---|---|
channelId |
The ID of the channel through which a conversation attempted to reach a queue but was rejected. |
conversationId |
Unique ID of the conversation. |
id |
unique ID of the attempt. |
queueId |
Unique ID of the queue rejecting the user's entry. Can be paired with Queue (lookup) table. |
rejectedAt |
Local timestamp of when the conversation was rejected. |
rejectedAtUTC |
UTC timestamp of when the conversation was rejected. |
rejectReason |
Reason why the conversation was rejected. |
The rejectedReason
field can be:
NoAgentLoggedIn
NoStaffedAgentLoggedIn
NoAvailableStaffedAgent
EstimatedWaitTimeLimitReached
QueueSizeLimitReached
Users (lookup)
The users table is very similar to the Agents table as Agents are users as well.
Field | Description |
---|---|
customId |
Custom ID set through the portal for a user. |
deletedAt |
When the system detected the user as deleted. |
emailAddress |
The email address of the user. |
id |
The Unique ID of the user. |
Name |
The name of the user. |
userType |
Type of the user. This can take the values Agent , Supervisor or User . |
See the Lookup tables section for important details.
Workitem Conversation Sessions
This table contains additional details about a particular workitem such as hold count, duration, and calculated values for those.
Field | Description |
---|---|
conversationID |
ID of the conversation. |
endedReason |
The reason why the workitem has ended. Can take values such as AgentFailedToJoin, ConversationEnded, Transferred or default. |
holdCount |
How many times the agent placed the customer on hold. |
id |
Entry Id. |
lastHoldDuration |
The duration of the last time the customer was on hold in the context of this workitem. |
totalHoldDuration |
Total duration of the customer being on hold in the context of a workitem. |
workitemId |
The ID of the workitem. |
Workitem Evaluation Data
This table contains data about the result of quality management task evaluations carried through the portal by users with proper rights.
Field | Description |
---|---|
createdAt |
When the evaluation was done in local time. |
createdAtUTC |
When the evaluation was done in UTC time. |
createdBy |
The ID of the user creating that did the evaluation. |
evaluationID |
Unique ID of an evaluation. |
id |
Entry ID. |
name |
The KEY from a script. |
scriptID |
ID of the script used for evaluation. |
value |
The key value of a script. |
workitemId |
The ID of the workitem that was evaluated. |
Workitem Evaluations
This table contains the individual evaluations and can be used to calculate the evaluation duration. See the previous table for the data.
Field | Description |
---|---|
createdBy |
The ID of the user that created the evaluation. |
endedAt |
When the evaluation ended in local time. |
endedAtUTC |
When the evaluation ended in UTC time. |
id |
Entry ID. |
scriptID |
The ID of the script used for evaluation. |
startedAt |
When the evaluation was started in local time. |
startedAtUtc |
When the evaluation was started in UTC time. |
workitemID |
The ID of the evaluated workitem. |
Workitem
Applies to: Webchat, Viber, Facebook, Email, Voice
Workitems represent agent tasks. Data in this table offers insight into the output of a given task and the agent performance on it.
A task/workitem is created when an eligible agent has been found for a given conversation and the system began routing the conversation to that agent. It ends when the agent clicks the Close Task button or, when the wrap up timer is reached (if used). A workitem may end if the preview timeout is reached and the task is automatically closed (preview timeout is also known as RONA). Agents may also create workitems through the outbound functionality. A workitem may contain multiple conversations depending on the agent's action.
Field | Description |
---|---|
activeDurationInSeconds |
Active time of a task. This does not include preview or wrap up times, rounded to seconds. |
agentId |
ID of the agent that handled the task. |
agentPhoneNumber |
The agent's phone number set in the portal & used for this workitem. |
businessUnitId |
ID of the business unit associated to the conversation that triggered a workitem. |
completionCode |
System added or agent added completion code of the task. |
customerId |
ID of the customer. |
durationInSeconds |
Total duration of the task, from the moment the agent receives it until the agent closes it. Rounded to seconds. |
endTime |
When the task was closed. |
endTimeUTC |
Same as endTime but timestamp is in UTC instead of local time. |
id |
ID of the workitem. |
lookupDuration |
Time spent in Lookup state (outbound or contact lookup only) |
mediaType |
Media type of the task. Can be webchat, email, instagram, voice, webchat, whatsapp, viber, lookup or messenger. |
notes |
Nodes added by the agent through the agent UI. |
previewDuration |
Time elapsed while waiting for an agent to accept the task. For non-voice channels, this is usually <2 seconds as the system automatically accept these tasks. |
primaryChannelId |
ID of the first channel used for a workitem. |
primaryConversationID |
Original conversation ID. |
queueID |
ID of the queue from which the workitem was created. In case of outbound, this field is empty. |
result |
Result of the workitem. |
scriptId |
The ID of the script that was ran against a particular workitem. |
startTime |
When the workitem was created. |
startTimeUTC |
Same as startTime, but timestamp is in UTC. |
wrapUpDuration |
Time elapsed while the task was in wrap up. Does not include active time or preview time. Rounded to seconds. |
The result
field can be:
Handled
: Agent handled the task and closed it normally.Missed
: Agent missed the task and RONA timeout kicked in moving the agent to RONA break.Cancelled
: Outbound only. Agent closed the outbound task without initiating a conversation.Abandoned
: Customer dropped the call while the task was being previewed to the agent.Rejected
: Agent explicitly rejected the task, by clicking the reject button.
Note
Due to automatic conversion to seconds and to rounding, Active
+ Wrap Up
will not necessarily and precisely equal Duration
. Preview time is also rounded, but for the current supported media types, this is generally <2 seconds.