All Conversational AI data is flagged on the Call Reporting Object within Salesforce and can be reported on.
Conversational AI introduces the following new fields:
Field Name | Field Definition |
|---|---|
Agent Type | Determines whether the call was connected to an AI and/or human agent, can be one of four values: ‘No agents’, ‘AI agents only’, ‘Human agents only’, ‘Human and AI agents’ |
AI Agent Invocations | A count of how many times the Assistant was executed |
AI Agent Seconds | The total talk time seconds of the Assistants |
AI Agent Human Escalation | This a boolean flag on whether an escalation request was made or not |
AI Agent Human Escalation Instance | This will be the name of the Assistant which the escalation was requested on |
AI Agent Human Escalation Reason | A short summary of the reason for the customer requested an escalation, this is sourced from the AI itself querying the customer as to why |
AI Agent Agent Knowledge Bases | If a Knowledge Base was used as part of the escalation it will be populated here |
Channels
These fields will be available for both the To and From channels, but as Conversational AI is predominantly a feature for your inbound calls all reporting can be solely focused on the From channel fields - see here for more on Channel Identification.
Reports and Dashboards
With this update we introduce the following Reports that can be used out of the box or duplicated and tweaked to fit your needs, they’re all available from the Conversation AI folder:

The Dashboard Conversational AI then pulls all these reports together to give you quick oversight of the performance of the Assistants:

Here you can view how many of your businesses’s calls are being serviced by the AI Assistants and of those calls serviced how many were fully serviced versus how many had to be escalated to a human agent (the AI Containment Rate).
You can copy and expand out these existing reports, otherwise here’s a run down on how to filter for your Conversational AI calls:
Show me all calls which involved AI
Field | Operator | Value(s) |
|---|---|---|
Agent Type | equals | ‘AI agents only’, ‘Human and AI agents’ |
Show me all calls which which were exclusively handled by AI
Field | Operator | Value(s) |
|---|---|---|
Agent Type | equals | ‘AI agents only’ |
Show me all calls which which were exclusively handled by a human
Field | Operator | Value(s) |
|---|---|---|
Agent Type | equals | ‘Human agents only’ |
Show me all calls which connected to AI and then were escalated/handed over
Field | Operator | Value(s) |
|---|---|---|
From AI Agent Human Escalation | equals | True |
Note: this field will automatically populate for calls to AI Assistants, but for AI Agents the ‘FromAIAgentHumanEscalation’ field will need to be conditionally set via the Routing Policy.
Show me all calls which connected to AI and then were successfully connected to a human after an escalation/handover
Field | Operator | Value(s) |
|---|---|---|
From AI Agent Human Escalation | equals | True |
Agent Type | equals | ‘Human and AI agents’ |
Alternatively
Field | Operator | Value(s) |
|---|---|---|
From AI Agent Human Escalation | equals | True |
To Natterbox User | does not equals | Empty |
Show me all calls which connected to AI but didn’t successfully connected to a human after an escalation/handover
Field | Operator | Value(s) |
|---|---|---|
From AI Agent Human Escalation | equals | True |
Agent Type | equals | ‘AI agents only’ |
Alternatively
Field | Operator | Value(s) |
|---|---|---|
From AI Agent Human Escalation | equals | True |
To Natterbox User | equals | Empty |
Show me all calls where the customer abandoned the call before connecting to the AI
Field | Operator | Value(s) |
|---|---|---|
From Hangup Initiator | equals | ‘CUSTOMER’ |
From AI Agent Seconds | equals | Empty |
Show me all calls where the customer hung up on the AI
Field | Operator | Value(s) |
|---|---|---|
From Hangup Initiator | equals | ‘CUSTOMER’ |
From AI Agent Seconds | greater than | 0 |
Agent Type | equals | ‘AI agents only’ |
Show me all calls where the AI hung up on the customer
Field | Operator | Value(s) |
|---|---|---|
From Hangup Initiator | equals | ‘AGENT’ |
From AI Agent Seconds | greater than | 0 |
Agent Type | equals | ‘AI agents only’ |
Reporting on Agents and Assistants
The above fields and reports apply to all Assistants and Agents, if you wish to report on the calls which apply to specific Assistants and/or Agents you will need to create dedicated fields on the Call Reporting Object.
In order to do this do the following:
Navigate Setup → Objects → Call Reporting → Fields & Relationships
Click ‘New’ field
Set the Data Type to Number
Set the Name, API Name and Description exactly as follows based upon the field you wish to report on:
Name | API Name | Description | Field Definition |
|---|---|---|---|
AI Router Invocation | AI_Router_Invocation | <<fromConversationalAiStatistics.agentTypes.AIRouter.invocations>> | A count of how many times the Router Assistant was executed |
AI Router Seconds | AI_Router_Seconds | <<fromConversationalAiStatistics.agentTypes.AIRouter.invocationsSeconds>> | The total talk time seconds of the Router Assistant |
AI Knowledge Invocation | AI_Knowledge_Invocation | <<fromConversationalAiStatistics.agentTypes.AIKnowledge.invocations>> | A count of how many times the Knowledge Assistant was executed |
AI Knowledge Seconds | AI_Knowledge_Seconds | <<fromConversationalAiStatistics.agentTypes.AIKnowledge.invocationsSeconds>> | The total talk time seconds of the Knowledge Assistant |
AI Skills Invocation | AI_Skills_Invocation | <<fromConversationalAiStatistics.agentTypes.AISkills.invocations>> | A count of how many times the Skills Assistant was executed |
AI Skills Seconds | AI_Skills_Seconds | <<fromConversationalAiStatistics.agentTypes.AISkills.invocationsSeconds>> | The total talk time seconds of the Skills Assistant |
AI GetInfo Invocation * | AI_GetInfo_Invocation | <<fromConversationalAiStatistics.agentTypes.AIGetInfo.invocations>> | A count of how many times the Get Info Assistant was executed |
AI GetInfo Seconds * | AI_GetInfo_Seconds | <<fromConversationalAiStatistics.agentTypes.AIGetInfo.invocationsSeconds>> | The total talk time seconds of the Get Info Assistant |
AI Voicemail Invocation | AI_Voicemail_Invocation | <<fromConversationalAiStatistics.agentTypes.AIVoicemail.invocations>> | A count of how many times the Voicemail Assistant was executed |
AI Voicemail Seconds | AI_Voicemail_Seconds | <<fromConversationalAiStatistics.agentTypes.AIVoicemail.invocationsSeconds>> | The total talk time seconds of the Voicemail Assistant |
AI Agent Invocation | AI_Agent_Invocation | <<fromConversationalAiStatistics.agentTypes.AIAgent.invocations>> | A count of how many times the AI Agent was executed |
AI Agent Seconds | AI_Agent_Seconds | <<fromConversationalAiStatistics.agentTypes.AIAgent.invocationsSeconds>> | The total talk time seconds of the AI Agent |
*Please note that ‘AI GetInfo Invocation’ and ‘AI GetInfo Seconds’ are slightly different than the rest. Make sure to enter exactly as written above.
FAQ
Why can’t I see the new fields on the Call Reporting Object?
The new fields will not appear automatically on existing Salesforce layouts, they will have to be manually added to the layouts by going to the Salesforce settings.
Does the time hunting include time spend talking to Assistants and Agents?
Yes currently time hunting, which determines the time before a call is connected through to a person, will include the time spent talking with Assistants and Agents.
If you need to exclude the the Assistants and Agents from this statistic, you will need to subtract Time Hunting by AI Agent Seconds.