Buzzeasy OData Stream Definition
Note
This document is for developers who wish to create reports directly from the OData feed. You may consider updating the Power Bi Report pages.
Note
This document uses specific terms to refer to time
Time in upper or lower case, refers to a specific time or timestamp
Datetime is used in the Type columns to indicate the DATETIME datatype
Duration in upper or lower case refers to elapsed time
Where Duration appears in a column name, the description 'duration, or elapsed time' is used
Calls
Column | Type | Description |
---|---|---|
ConversationId | Text | The unique identifier of the conversation that the call is related to |
TenantId | Text | The unique identifier to the tenant that the call is related to |
ChatServiceId | Number | The unique identifier to which channel this relates The channel is configurable within the Buzzeasy administration portal You can find the id in the summary view of your channels |
StartTime | Datetime | The date time in UTC at the call location, at the point it was created |
QueueTime | Number | Inbound call The duration in milliseconds the call was waiting in the queue The QueueTime timer starts as soon as the workflow requests to route for an agent The QueueTime timer stops when the agent has established connection to the customer |
AgentRingTime | Number | The duration in milliseconds the call takes from dialing the agent, to the point the agent connects/disconnects This value is populated regardless of the dial result |
ConnectedTime | Number | The duration in milliseconds the call is connected between customer and agent |
CustomerPhoneNumber | Text | The phone number of the customer This is the CLI for inbound calls and the dialed number for outbound calls |
AgentId | Text | The Agent resource identifier for the call For inbound calls, the AgentId of the agent the call is routed to For outbound calls, the AgentId of the agent that has initiated the outbound call |
AgentPhoneNumber | Text | The Telephone number of the agent This is normally the TelUri of the Teams user This is populated if the conversation related to the call has been routed to an agent |
CallResult | Text | Abandoned - Inbound call The Customer disconnected the call before reaching an Agent CallbackRequested - The Customer requested a callback Failed - Outbound call Call could not reach the customer Failed to Connect HandledByAgent - Inbound call Customer was successfully handled by an agent IdleTimeout - Workflow terminated the conversation as per specified workflow timeout (default 24 hours) LoopDetected - Call could not exit a loop within a workflow three times in a row resulting in the conversation being terminated Normal - Conversation was normally handled as per workflow settings For example Out of hours > Send messages > End conversation will result in Normal call result Out of hours - Call arrived outside of business hours and no openingcheck was configured, resulting in the call being ended Redirected - Customer encountered a workflow redirect and was correctly redirected to the target number RedirectFailed - Customer encountered a workflow redirect, but the target number did not answer the call within 30 seconds Successful - Outbound call Customer was reached successfully TransferFailed - Could not perform transfer due to agent not accepting the call TransferredToQueue - The call was transferred to queue (blind transfer) Unmatched Workflow Event - An event that is not handled within the workflow has been triggered for this call Examples include: NoAgentLoggedIn event is triggered, but the workflow does not have a NoAgentLoggedIn event and action configured Queue timeout occurred, but there is no queue timeout handling BotFailed occurred, but there is no BotFailed event and action specified |
CustomerRingTime | Number | The duration in milliseconds the call takes from the dial to the customer to the point the customer connects/disconnects This value is populated regardless of dial result |
Direction | Text | Inbound - An inbound call Outbound - An outbound call |
ChannelNameIdPair
Column | Type | Description |
---|---|---|
ChannelName | Text | The friendly name of the channel May be set in the Buzzeasy Administration Portal |
TenantId | Text | The unique identifier of the tenant that the call is related to |
ChatServiceId | Number | The unique identifier of the channel this relates to The channel is configurable in the Buzzeasy administration portal Find the id in the summary view of your channels |
Conversations
Column | Type | Description |
---|---|---|
ConversationId | Text | The unique identifier of the conversation |
StartTime | Datetime | The date time in UTC at the conversation location, at the point the conversation started This is the time when the workflow is triggered for a customer conversation from the selected first entity |
EndTime | Datetime | The date time in UTC the conversation ended This is the time when the workflow declares the conversation ended It can happen as an action or when no further actions are set for a given workflow |
AssistTime | Number | The duration in seconds a customer is without an agent For example, when talking to a chat bot, voice bot or waiting in the queue |
AgentTime | Number | The duration in seconds a conversation is with an agent or agents |
Result | Text | Completed - Conversation has successfully completed its workflow In Progress - Conversation is in the middle of workflow Note: For historic reporting, this status may not always appearTimed out - The conversation has timed out based on the workflow idle timeout settings |
ConversationEscalated | Boolean | True if the conversation has been escalated to a live customer service agent False if handled by self-service and chatbot only |
CustomerId | Text | The unique customer identifier for the customer |
ChannelId | Text | voice (teams) directline (for example webchat) nexmo.whatsapp nexmo.viber sms msteams (chat) |
ConsultOriginalConversationId | Text | For a consult call, the original customer ConversationId If not a consult call, this column is not populated |
TenantId | Text | The unique identifier of the tenant the conversation relates to |
Closed | Boolean | States whether the conversation arrived during out of business hours, or not |
DataCollectorResults
Column | Type | Description |
---|---|---|
ChatServiceId | Text | The unique identifier that this channel relates to The channel is configurable in the Buzzeasy administration portal Find the id in the summary view of your channels |
ConversationId | Text | The unique identifier to the conversation the data collector result relates to |
QuestionTemplateId | Text | The template identifier for the configuration of the question Available in the buzzeasy portal |
FieldName | Text | The name of the field defined as part of the question in buzzeasy portal For example SurveyResult |
FieldValue | Text | The collected response from the question For example 1,2,3,4,5 |
CreateTime | Datetime | The timestamp in UTC when the result of the question was collected |
CustomerId | Text | The unique customer identifier for the customer |
TenantId | Text | The unique identifier of the tenant the data collector result is related to |
ResourceStates
Column | Type | Description |
---|---|---|
ResourceId | Text | The unique identifier of the agent resource |
ResourceName | Text | The friendly name of the agent This is defined in Buzzeasy Portal |
StartTime | Datetime | The date time in UTC at the agent location, when the agent changed to the current state |
State | Text | Idle - The agent does not have any workitems assigned Busy - The agent has a workitem assigned The workitem can also be in AfterWork state Break - The agent is currently on a selected break, or forced on break due to RONA PendingBreak - The agent has requested a break while a Workitem is still assigned No more workitems are assigned and break happens when all workitems are closed LoggedOut - Agent logged-out PendingLogout - Agent has selected logout while workitems are still assigned The agent will logout once all workitems are completed |
BreakCode | Text | No longer used |
BreakName | Text | If the agent goes on break, whether it is pending or on break, the name of the break selected appears here The names of the breaks are configurable in the Buzzeasy Portal |
Duration | Number | The duration, or elapsed time, in milliseconds the agent has been in the state |
TenantId | Text | The unique identifier of the tenant the data collector result is related to |
Segments
Column | Type | Description |
---|---|---|
ConversationId | Text | The unique identifier of the conversation the segment is related to |
ChatServiceId | Text | The unique identifier of the channel this relates to The channel is configurable within the Buzzeasy administration portal Find the id in the summary view of your channels |
StartTime | Datetime | The date time in UTC at the segment location, when the segment started |
EndTime | Datetime | The date time in UTC when the segment ended |
Result | Text | Succeeded - The segment successfully performs the steps required to the customer Reset - This value is caused by a technical support engagement Timed out - Marked when the idle timeout has exceeded within the workflow Failed - Segment failed to handle the customer conversation as requested |
SegmentType | Text | Agent, bot |
Destination | Text | If Bot, this is the bot name For example Data Collector Bot, QnA Bot or custom bot name If Agent, this is the name of the destination field that is supplied as part of the workflow routing configuration |
CompletionCode | Text | Not used |
CustomerId | Text | The unique identifier of the customer |
ResourceId | Text | The unique identifier of the agent This is only populated when the conversation has reached a buzzeasy agent |
TenantId | Text | The unique identifier of the tenant the segment is related to |
UnansweredQnAQuestions
Column | Type | Description |
---|---|---|
Question | Text | The question asked by the customer during an FAQ dialog |
QnAMakerConfigurationId | Text | The unique identifier of the FAQ dialog used |
KnowledegeBaseId | Text | The identifier of the Azure QnAMaker knowledge base |
Confidence | Double | The confidence score returned back by QnAMaker |
ChatServiceId | Text | The unique identifier of the channel that this relates to The channel is configurable in the Buzzeasy administration portal Find the id in the summary view of your channels |
ConversationId | Text | The unique identifier of the conversation the unanswered question is related to |
CreateTime | Datetime | The date time in UTC at the point the question was answered |
TenantId | Text | The unique identifier of the tenant the unanswered question is related to |
WorkItems v2 (Current)
Column | Type | Description |
---|---|---|
WorkItemId | Text | The unique identifier of the Workitem |
ResourceId | Text | The identifier of the agent the workitem was assigned to |
ClosureCode | Text | System Defined RONA - The agent did not manage to answer the incoming call from Teams and the workitem has been automatically closed note - a new workitem is created when the next agent has been matched Transferred - The agent has performed a blind transfer to another party to continue the conversation with the customer The workitem is automatically closed Abandoned - The customer has disconnected while the Workitem is in preview For example assigned to an agent, but not yet connected LoggedOut - The agent has logged out while workitems were still assigned to them ConsultCompleted - The agent has performed a consultative transfer to another party to continue the conversation with the customer The workitem is automatically closed User Defined The closure code selected by the agent when closing down the workitem during wrap-up This code can be set on a per channel basis in the buzzeasy portal |
Notes | Text | The free text notes supplied by the agent when in wrap up state |
CustomerId | Text | The unique identifier of the customer for the scoped conversation For consult calls this value is the original customer's CustomerId |
ConversationId | Text | The unique identifier of the conversation the workitem is related to |
StartTime | Datetime | The date time in UTC at the workitem location at the point it was created The workitem is created when the conversation has been routed to an available agent |
EndTime | Datetime | The date time in UTC where the workitem was closed The workitem is closed when the agent closes it down from the agent UI or when a transfer has occurred |
PreviewTime | Datetime | The duration in milliseconds that the workitem has been assigned to the agent but not yet connected to customer |
ActiveTime | Datetime | The duration in milliseconds that the workitem is connected with customer and agent |
WrapupTime | Datetime | The duration in milliseconds that the workitem is no longer connected to a customer conversation and the agent is wrapping up the workitem with a closure code and notes |
WorkItems V3
Column | Type | Description |
---|---|---|
WorkItemId | Text | The unique identifier of the Workitem |
ResourceId | Text | The identifier of the agent the workitem was assigned to |
ClosureCode | Text | System Defined RONA - The agent did not manage to answer the incoming call from Teams and the workitem has been automatically closed note - a new workitem is created when the next agent has been matched Transferred - The agent has performed a blind transfer to another party to continue the conversation with the customer The workitem is automatically closed Abandoned - The customer has disconnected while the Workitem is in preview For example assigned to an agent but not yet connected LoggedOut - The agent has logged out while workitems were still assigned to them ConsultCompleted - The agent has performed a consultative transfer to another party to continue the conversation with the customer The workitem is automatically closed User Defined The closure code selected by the agent when closing down the workitem during wrap-up This code can be set on a per channel basis in the buzzeasy portal |
Notes | Text | The free text of notes that are supplied by the agent when in wrap up state |
CustomerId | Text | The unique identifier of the customer for the scoped conversation For consult calls this value is the original customer's CustomerId |
PrimaryConversationId | Text | The unique identifier of the conversation the workitem is related to |
Duration | Number | The duration, or elapsed time, in milliseconds that the overall workitem was active This is calculated from the time a workitem is created, when matched up with an agent, to the point when the workitem is completed by the agent by closing the task, or an action where the closure of the task is not needed For example transfer, RONA, abandon |
StartTime | Datetime | The date time in UTC where the workitem was created The workitem is created when the conversation has been routed to an available agent |
WorkitemStates V3
Column | Type | Description |
---|---|---|
WorkItemId | Text | The unique identifier of the Workitem |
StartTime | Datetime | The start time in UTC when the state change of the workitem happened |
Duration | Number | The duration, or elapsed time, in milliseconds that the workitem was in this state |
State | Text | The value of the state Preview - The Workitem has been assigned to the agent, but the agent has not been connected yet Connected - The agent is successfully connected to the conversation within the Workitem In the voice scenario, this is the call into Teams being connected Lookup - The agent has selected to make an outbound call and is searching for the contact to dial AfterWork - The conversation with the customer has ended The agent completes the administrative tasks such as closure code and notes, before closing the task down |
WorkitemsV3Conversation
Column | Type | Description |
---|---|---|
WorkItemId | Text | The unique identifier of the Workitem |
StartTime | Datetime | The date time when the conversation was assigned to the workitem |
Duration | Number | The duration, or elapsed time, in seconds that the conversation is assigned |
ConversationId | Text | The unique identifier of the conversation the workitem is related to |
AgentNames V4
Column | Type | Description |
---|---|---|
AgentId | Text | The unique identifier of the agent |
Name | Text | The friendly name of the agent This may be defined in Buzzeasy Portal |
TenantId | Text | The unique identifier of the tenant the agent is related to |
Removed | Boolean | True - If the agent has been deleted False - If the agent has not been deleted |
AgentState V4
Column | Type | Description |
---|---|---|
AgentId | Text | The unique identifier of the agent |
TenantId | Text | The unique identifier of the tenant the agent is related to |
State | Text | Idle - The agent does not have any workitems assigned Busy - The agent has a workitem assigned This workitem can also be in AfterWork state Break - The agent is currently on a selected break, or forced on break due to RONA PendingBreak - The agent has requested a break while a Workitem is still assigned No more workitems are assigned and break happens when all workitems are closed LoggedOut - The Agent logged out PendingLogout - The agent has selected logout while workitems are still assigned The agent will logout once all workitems are completed |
BreakName | Text | If the agent goes on break, whether it is pending or on break, the name of the break selected appears here The names of the breaks are configurable in the Buzzeasy Portal |
StartTime | Datetime | The date time in UTC when the agent entered the given state |
Duration | Number | The duration, or elapsed time, in milliseconds the agent has been in the state |
Conversations V4
Column | Type | Description |
---|---|---|
ConversationId | Text | The unique identifier of the conversation |
StartTime | Datetime | The date time in UTC the conversation started This is the time when the workflow is triggered for a customer conversation from the selected first entity |
EndTime | Datetime | The date time in UTC the conversation ended This is the time when the workflow declares the conversation ended This can happen as an action or when no further actions are set for a given workflow |
TenantId | Text | The unique identifier of the tenant the conversation is related to |
ChannelId | Text | The unique identifier of the channel this relates to The channel is configurable in the Buzzeasy administration portal Find the id in the summary view of your channels |
CustomerId | Text | The unique customer identifier of the customer |
OriginalConversationId | Text | This field is not currently populated |
Closed | Boolean | False - The conversation is ongoing True - The conversation has ended |
Result | Text | This field is not currently populated Possible values: Unknown, InboundHandledByAgent, CustomerAbandoned, OutboundFailed, OutboundSuccessful, CallbackRequested |
Direction | Text | The direction of the conversation Possible values: Inbound, Outbound |
Type | Text | The type of the conversation Possible values: Callback = For conversations created when a customer requests a callback A new conversation is generated when the agent calls-back a customer Preview - For conversations that are generated as part of an outbound call campaign Normal - for every other conversation |
ChannelType | Text | The type of channel the conversation is conducted on Possible values: Voice - For voice calls Virtual - For callback and preview type conversations Email - For email based conversations Additional channel types are to be added soon |