This is the complete list of filters and conditions for all metrics available on our datasets.
You can feed this document to an LLM to generate SQL for your custom queries by using the following prompt:
"You are an expert SQL query generator. You have access to the following datasets and their fields
(see attached document). Given a user's plain English request, generate a SQL query that computes the requested metric. Use the correct table, date field, filters, and aggregation as described.
If the user does not specify a date range, default to the last 30 days."
Teammate status period dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Teammate time active | admin_status_change | 'period' within selected date range | 'status' IN ["active"] | Scripted of 'time_on_status' |
Teammate time away | admin_status_change | 'period' within selected date range | 'status' IN ["away"] | Scripted of 'time_on_status' |
Teammate time away & reassign | admin_status_change | 'period' within selected date range | 'status' IN ["away_reassign"] | Scripted of 'time_on_status' |
Calls dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
New calls | call | 'initiated_at' within selected date range |
| Count of 'call_id' |
Call duration | call | 'initiated_at' within selected date range | 'duration' EXISTS | Mean, median, percentile, min, max, sum, range of 'duration' |
Inbound calls | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] | Count of 'call_id' |
Completed inbound calls | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'state' IN ["answered"] | Count of 'call_id' |
Abandoned inbound calls | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'state' IN ["abandoned_routing", "abandoned_in_queue", "abandoned_on_hold", "abandoned_in_voicemail"] | Count of 'call_id' |
Voicemail calls | call | 'initiated_at' within selected date range | 'state' IN ["voicemail_left"] | Count of 'call_id' |
Out of office calls | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'in_office_hours' IN [false] | Count of 'call_id' |
Call answer time | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'answer_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'answer_time' |
Call in queue time | call | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'queue_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'queue_time' |
Call talk time | call | 'initiated_at' within selected date range | 'talk_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'talk_time' |
Outbound calls | call | 'initiated_at' within selected date range | 'direction' IN ["outbound"] | Count of 'call_id' |
Calls team stats dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Team call in queue time | call_team_stats | 'initiated_at' within selected date range | 'direction' IN ["inbound"] AND 'team.queue_times' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.queue_times' |
Team call talk time | call_team_stats | 'initiated_at' within selected date range | 'team.talk_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.talk_time' |
Teammate call talk time | call_teammate_stats | 'initiated_at' within selected date range | 'teammate.talk_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'teammate.talk_time' |
Conversation actions dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Conversations replied to | consolidated_conversation_part | 'first_user_conversation_part_created_at' within selected date range | 'is_reply' IN [true] AND 'conversation_has_user_reply' IN [true] AND 'is_bot' IN [false] | Cardinality of 'conversation_id' |
Team assignment to first response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.first_response_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.first_response_time' |
Team assignment to first response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.first_response_time_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.first_response_time_in_office_hours' |
Team assignment to subsequent response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.subsequent_response_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.subsequent_response_time' |
Team assignment to subsequent response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.subsequent_response_time_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'team.subsequent_response_time_in_office_hours' |
Team assignment to close | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.time_to_close' EXISTS AND 'is_bot' NOT IN [true] | Mean, median, percentile, min, max, sum, range of 'team.time_to_close' |
Team assignment to close | consolidated_conversation_part | 'comment_created_at' within selected date range | 'team.time_to_close_in_office_hours' EXISTS AND 'is_bot' NOT IN [true] | Mean, median, percentile, min, max, sum, range of 'team.time_to_close_in_office_hours' |
Conversations assigned | consolidated_conversation_part | 'comment_created_at' within selected date range | 'comment_admin_assignee_id' > "0" AND 'conversation_has_user_reply' NOT IN [false] | Cardinality of 'conversation_id' |
Closed conversations | consolidated_conversation_part | 'comment_created_at' within selected date range | 'new_conversation_state' IN ["closed"] AND 'teammate_id' EXISTS AND 'conversation_has_user_reply' NOT IN [false] | Cardinality of 'conversation_id' |
Closed conversations by teammates | consolidated_conversation_part | 'comment_created_at' within selected date range | 'new_conversation_state' IN ["closed"] AND 'teammate_id' EXISTS AND 'is_bot' NOT IN [true] AND 'conversation_has_user_reply' NOT IN [false] | Cardinality of 'conversation_id' |
Reopened conversations | consolidated_conversation_part | 'comment_created_at' within selected date range | 'new_conversation_state' IN ["opened"] AND 'previous_conversation_state' IN ["closed"] AND 'conversation_has_user_reply' NOT IN [false] | Cardinality of 'conversation_id' |
Conversations replied to | consolidated_conversation_part | 'comment_created_at' within selected date range | 'is_reply' NOT IN [false] AND 'is_bot' NOT IN [true] AND 'teammate_id' EXISTS | Cardinality of 'conversation_id' |
Mentions | consolidated_conversation_part | 'comment_created_at' within selected date range | 'mentions' EXISTS AND 'conversation_has_user_reply' NOT IN [false] | Count of 'comment_created_at' |
Notes created | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate_id' EXISTS AND 'is_note' IN [true] AND 'conversation_has_user_reply' NOT IN [false] | Count of 'comment_created_at' |
Notes created by teammates | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate_id' EXISTS AND 'is_note' IN [true] AND 'is_bot' NOT IN [true] AND 'conversation_has_user_reply' NOT IN [false] | Count of 'comment_created_at' |
Conversations closed per active hour | consolidated_conversation_part |
|
| conversations.closed.count' / 'teammate.time_active' |
Conversations assigned per active hour | consolidated_conversation_part |
|
| conversations.assigned.count' / 'teammate.time_active' |
Conversations participated per active hour | consolidated_conversation_part |
|
| teammate.conversations_participated.count' / 'teammate.time_active' |
Conversations replied to per active hour | consolidated_conversation_part |
|
| conversations.participated.count' / 'teammate.time_active' |
Teammate replies sent per active hour | consolidated_conversation_part |
|
| v1.replies_sent' / 'teammate.time_active' |
Teammate assignment to first response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.first_response_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'teammate.first_response_time' |
Teammate assignment to first response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.first_response_time_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'teammate.first_response_time_in_office_hours' |
Teammate assignment to subsequent response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.subsequent_response_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'teammate.subsequent_response_time' |
Teammate assignment to subsequent response | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.subsequent_response_time_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'teammate.subsequent_response_time_in_office_hours' |
Teammate assignment to close | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.time_to_close' EXISTS AND 'is_bot' NOT IN [true] | Mean, median, percentile, min, max, sum, range of 'teammate.time_to_close' |
Teammate assignment to close | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate.time_to_close_in_office_hours' EXISTS AND 'is_bot' NOT IN [true] | Mean, median, percentile, min, max, sum, range of 'teammate.time_to_close_in_office_hours' |
Conversations participated | consolidated_conversation_part | 'comment_created_at' within selected date range | 'is_participation' NOT IN [false] AND 'is_close' IN [false] AND 'teammate_id' EXISTS AND 'conversation_has_user_reply' NOT IN [false] AND 'is_bot' NOT IN [true] | Cardinality of 'conversation_id' |
Conversations with notes | consolidated_conversation_part | 'comment_created_at' within selected date range | 'teammate_id' EXISTS AND 'is_note' IN [true] AND 'conversation_has_user_reply' NOT IN [false] AND 'is_bot' NOT IN [true] | Cardinality of 'conversation_id' |
Response time | consolidated_conversation_part | 'comment_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time' exists | Mean, median, percentile, min, max, sum, range of 'response_time' |
Response time | consolidated_conversation_part | 'comment_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'response_time_in_office_hours' |
Replies sent | consolidated_conversation_part | 'comment_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] | Count of 'comment_id' |
Response time | consolidated_conversation_part | 'first_user_conversation_part_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time' exists | Mean, median, percentile, min, max, sum, range of 'response_time' |
Response time | consolidated_conversation_part | 'first_user_conversation_part_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'response_time_in_office_hours' |
Response time | consolidated_conversation_part | 'first_user_conversation_part_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time_excluding_bot_inbox' exists | Mean, median, percentile, min, max, sum, range of 'response_time_excluding_bot_inbox' |
Response time | consolidated_conversation_part | 'first_user_conversation_part_created_at' within selected date range | 'is_reply' IS NOT IN [false] AND 'conversation_has_user_reply' IS NOT IN [false] AND 'is_bot' IS NOT IN [true] AND 'response_time_excluding_bot_inbox_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'response_time_excluding_bot_inbox_in_office_hours' |
Conversations Dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Conversations with any Customer Experience (CX) rating | conversation | 'last_closed_at' within selected date range | 'ai_generated_metrics.csat' EXISTS | Count of 'conversation_id' |
Conversations with any Customer Experience (CX) rating | conversation | 'first_user_conversation_part_created_at' within selected date range | 'ai_generated_metrics.csat' EXISTS | Count of 'conversation_id' |
Conversations with a positive Customer Experience (CX) rating | conversation | 'last_closed_at' within selected date range | 'ai_generated_metrics.csat' IN ["4", "5"] | Count of 'conversation_id' |
Conversations with a positive Customer Experience (CX) rating | conversation | 'first_user_conversation_part_created_at' within selected date range | 'ai_generated_metrics.csat' IN ["4", "5"] | Count of 'conversation_id' |
Customer Experience (CX) score | conversation | 'last_closed_at' within selected date range |
| ('conversation.ai_generated_metrics.csat.positively_rated.count' / 'conversation.ai_generated_metrics.csat.count') * 100 |
Customer Experience (CX) score | conversation | 'first_user_conversation_part_created_at' within selected date range |
| ('conversation.ai_generated_metrics.csat.positively_rated.count.first_user_conversation_part_created_at' / 'conversation.ai_generated_metrics.csat.count.first_user_conversation_part_created_at') * 100 |
Chatbot replied conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [false] AND 'replied.workflow_ids' EXISTS | Count of 'conversation_id' |
Teammate replied conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [false] AND 'replied.workflow_ids' DOES NOT EXIST AND 'admin_participant_ids' EXISTS | Count of 'conversation_id' |
Chatbot replied conversations rate | conversation |
|
| ('conversation.chatbot_replied_conversations.count' / 'v1.new_conversations') * 100 |
Teammate replied conversations rate | conversation |
|
| ('conversation.teammate_replied_conversations.count' / 'v1.new_conversations') * 100 |
Closed conversations on first contact | conversation | 'first_user_conversation_part_created_at' within selected date range | 'is_resolved_first_contact' IN [true] | Count of 'is_resolved_first_contact' |
Closed conversations on first contact rate | conversation |
|
| ('conversations.resolved_on_first_contact.count' / 'v1.new_conversations') * 100 |
Conversations reassigned | conversation | 'first_user_conversation_part_created_at' within selected date range | 'reassignments_count_after_admin_reply' > 0 | Count of 'first_user_conversation_part_created_at' |
Time to first assignment | conversation | 'first_user_conversation_part_created_at' within selected date range | 'assignment_before_first_admin_reply_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'assignment_before_first_admin_reply_time' |
Time to first assignment | conversation | 'first_user_conversation_part_created_at' within selected date range | 'assignment_before_first_admin_reply_time_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'assignment_before_first_admin_reply_time_in_office_hours' |
Fin AI Agent resolved conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.resolution_state' IN ["confirmed_resolved", "assumed_resolved"] | Count of 'conversation_id' |
Fin AI Agent answered conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [true] AND 'resolution_bot_conversation_coverage' IN ["covered"] | Count of 'conversation_id' |
Fin AI Agent involved conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [true] | Count of 'conversation_id' |
Fin AI Agent involvement rate | conversation |
|
| ('fin.conversations_participated.count' / 'v1.new_conversations') * 100 |
Fin AI Agent resolution rate | conversation |
|
| ('fin.conversations_resolved.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent deflected conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.deflected' IN [true] | Count of 'conversation_id' |
Fin AI Agent deflection rate | conversation |
|
| ('fin.conversations_deflected.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent abandoned conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [true] AND 'resolution_bot_conversation_coverage' IN ["covered", "not_covered_customer_left"] AND 'fin.resolution_state' NOT IN ["assumed_resolved", "confirmed_resolved", "routed_to_team"] | Count of 'conversation_id' |
Fin AI Agent abandonment rate | conversation |
|
| ('fin.conversations_abandoned.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent answer rate | conversation |
|
| ('fin.conversations_answered.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent confirmed resolutions | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.resolution_state' IN ["confirmed_resolved"] | Count of 'conversation_id' |
Fin AI Agent assumed resolutions | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.resolution_state' IN ["assumed_resolved"] | Count of 'conversation_id' |
Fin AI Agent routed to team conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.deflected' IN [false] | Count of 'conversation_id' |
Fin AI Agent routed to team rate | conversation |
|
| ('fin.conversations_routed_to_team.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent unanswered conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [true] AND 'resolution_bot_conversation_coverage' NOT IN ["covered"] | Count of 'conversation_id' |
Fin AI Agent unresolved conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.participated' IN [true] AND 'fin.resolution_state' NOT IN ["assumed_resolved", "confirmed_resolved"] | Count of 'conversation_id' |
AI Answer resolutions | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.resolution_state' IN ["assumed_resolved", "confirmed_resolved"] AND 'fin.last_sent_answer_type' IN ["ai_answer"] | Count of 'conversation_id' |
Custom Answer resolutions | conversation | 'first_user_conversation_part_created_at' within selected date range | 'fin.resolution_state' IN ["confirmed_resolved", "assumed_resolved"] AND 'fin.last_sent_answer_type' IN ["custom_answer"] | Count of 'conversation_id' |
AI Answer resolution rate | conversation |
|
| ('fin.ai_answer.count' / 'fin.conversations_participated.count') * 100 |
Custom Answer resolution rate | conversation |
|
| ('fin.custom_answer.count' / 'fin.conversations_participated.count') * 100 |
Fin AI Agent assumed resolution rate | conversation |
|
| ('fin.conversations_assumed_resolved.count' / 'fin.conversations_resolved.count') * 100 |
Fin AI Agent confirmed resolution rate | conversation |
|
| ('fin.conversations_confirmed_resolved.count' / 'fin.conversations_resolved.count') * 100 |
Tagged conversations | conversation | 'first_user_conversation_part_created_at' within selected date range | 'conversation_tag_ids' EXISTS | Count of 'conversation_id' |
Time to first close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_first_human_close_from_initial_user_part' EXISTS | Mean, median, percentile, min, max, sum, range of 'time_to_first_human_close_from_initial_user_part' |
Time to first close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_first_human_close_from_initial_user_part_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'time_to_first_human_close_from_initial_user_part_in_office_hours' |
Time to first close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_first_human_close_excluding_bot_inbox' EXISTS | Mean, median, percentile, min, max, sum, range of 'time_to_first_human_close_excluding_bot_inbox' |
Time to first close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_first_human_close_excluding_bot_inbox_in_office_hours' EXISTS | Mean, median, percentile, min, max, sum, range of 'time_to_first_human_close_excluding_bot_inbox_in_office_hours' |
First closed conversations | conversation | 'first_closed_at' within selected date range |
| Count of 'conversation_id' |
Conversations first replied to | conversation | 'first_admin_reply_at' within selected date range |
| Count of 'conversation_id' |
First response time | conversation | 'first_admin_reply_at' within selected date range | 'first_response_time_excluding_bot_inbox' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_excluding_bot_inbox' |
First response time | conversation | 'first_admin_reply_at' within selected date range | 'first_response_time_excluding_bot_inbox_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_excluding_bot_inbox_in_office_hours' |
First response time | conversation | 'first_admin_reply_at' within selected date range | 'first_response_time' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time' |
First response time | conversation | 'first_admin_reply_at' within selected date range | 'first_response_time_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_in_office_hours' |
First response time | conversation | 'first_user_conversation_part_created_at' within selected date range | 'first_response_time_excluding_bot_inbox' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_excluding_bot_inbox' |
First response time | conversation | 'first_user_conversation_part_created_at' within selected date range | 'first_response_time_excluding_bot_inbox_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_excluding_bot_inbox_in_office_hours' |
First response time | conversation | 'first_user_conversation_part_created_at' within selected date range | 'first_response_time' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time' |
First response time | conversation | 'first_user_conversation_part_created_at' within selected date range | 'first_response_time_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'first_response_time_in_office_hours' |
Conversation handling time | conversation | 'first_user_conversation_part_created_at' within selected date range | 'handling_time' exists | Mean, median, percentile, min, max, sum, range of 'handling_time' |
New conversations | conversation | 'first_user_conversation_part_created_at' within selected date range |
| Count of 'conversation_id' |
Reassignments per conversation | conversation | 'first_user_conversation_part_created_at' within selected date range |
| Mean, median, percentile, min, max, sum of 'reassignments_count_after_admin_reply' |
Replies per conversation | conversation | 'first_user_conversation_part_created_at' within selected date range |
| Mean, median, percentile, min, max, sum of 'teammate_replies_count' |
Replies to close a conversation | conversation | 'first_user_conversation_part_created_at' within selected date range | 'unknown filter type: | Mean, median, percentile, min, max, sum of 'clustered_teammate_replies_count' |
Time from first assignment to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'last_assignment_to_close_time' exists | Mean, median, percentile, min, max, sum, range of 'last_assignment_to_close_time' |
Time from first assignment to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'last_assignment_to_close_time_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'last_assignment_to_close_time_in_office_hours' |
Time to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_close_excluding_bot_inbox' exists | Mean, median, percentile, min, max, sum, range of 'time_to_close_excluding_bot_inbox' |
Time to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_close_excluding_bot_inbox_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'time_to_close_excluding_bot_inbox_in_office_hours' |
Time to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_close_from_initial_user_part' exists | Mean, median, percentile, min, max, sum, range of 'time_to_close_from_initial_user_part' |
Time to close | conversation | 'first_user_conversation_part_created_at' within selected date range | 'time_to_close_from_initial_user_part_in_office_hours' exists | Mean, median, percentile, min, max, sum, range of 'time_to_close_from_initial_user_part_in_office_hours' |
Conversation rating dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Teammate negative conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["human"] AND 'rating_index.number' IN ["1", "2", "3"] | Count of 'conversation_id' |
Teammate positive conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["human"] AND 'rating_index.number' IN ["4", "5"] | Count of 'conversation_rating_id' |
Teammate positive conversation ratings | conversation_rating_sent | 'first_user_conversation_part_created_at' within selected date range | 'rated_actor_type' IN ["human"] AND 'rating_index.number' IN ["4", "5"] | Count of 'conversation_rating_id' |
Teammate conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["human"] AND 'rating_index.number' EXISTS | Count of 'conversation_id' |
Teammate conversation ratings | conversation_rating_sent | 'first_user_conversation_part_created_at' within selected date range | 'rated_actor_type' IN ["human"] AND 'rating_index.number' EXISTS | Count of 'conversation_id' |
Teammate CSAT score | conversation_rating_sent |
|
| ('conversation_rating.human.positively_rated.count' / 'conversation_rating.human.count') * 100 |
Teammate CSAT score | conversation_rating_sent |
|
| ('conversation_rating.human.positively_rated.count.first_user_conversation_part_created_at' / 'conversation_rating.human.count.first_user_conversation_part_created_at') * 100 |
Teammate DSAT score | conversation_rating_sent |
|
| ('conversation_rating.human.negatively_rated.count' / 'conversation_rating.human.count') * 100 |
Fin AI Agent CSAT score | conversation_rating_sent |
|
| ('conversation_rating.ai_agent.positively_rated.count' / 'conversation_rating.ai_agent.count') * 100 |
Fin AI Agent positive conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["ai-agent"] AND 'rating_index.number' IN ["4", "5"] | Count of 'conversation_rating_id' |
Fin AI Agent negative conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rating_index.number' IN ["1", "2", "3"] AND 'rated_actor_type' IN ["ai-agent"] | Count of 'conversation_rating_id' |
Fin AI Agent conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["ai-agent"] AND 'rating_index.number' EXISTS | Count of 'conversation_rating_id' |
Fin AI Agent DSAT score | conversation_rating_sent |
|
| ('conversation_rating.ai_agent.negatively_rated.count' / 'conversation_rating.ai_agent.count') * 100 |
Chatbot CSAT score | conversation_rating_sent |
|
| ('conversation_rating.workflows.positively_rated.count' / 'conversation_rating.workflows.count') * 100 |
Chatbot positive conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["workflow"] AND 'rating_index.number' IN ["4", "5"] | Count of 'conversation_rating_id' |
Chatbot negative conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rating_index.number' IN ["1", "2", "3"] AND 'rated_actor_type' IN ["workflow"] | Count of 'conversation_rating_id' |
Chatbot conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rated_actor_type' IN ["workflow"] AND 'rating_index.number' EXISTS | Count of 'conversation_rating_id' |
Chatbot DSAT score | conversation_rating_sent |
|
| ('conversation_rating.workflows.negatively_rated.count' / 'conversation_rating.workflows.count') * 100 |
Conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rating_index.number' EXISTS | Count of 'conversation_rating_id' |
Positive conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rating_index.number' IN ["4", "5"] | Count of 'conversation_rating_id' |
Negative conversation ratings | conversation_rating_sent | 'updated_at' within selected date range | 'rating_index.number' IN ["1", "2", "3"] | Count of 'conversation_rating_id' |
Conversations with a conversation rating request | conversation_rating_sent | 'first_user_conversation_part_created_at' within selected date range |
| Cardinality of 'conversation_id' |
Conversations with a conversation rating response | conversation_rating_sent | 'first_user_conversation_part_created_at' within selected date range | 'rating_index.number' EXISTS | Cardinality of 'conversation_id' |
Conversation ratings requested | conversation_rating_sent | 'updated_at' within selected date range |
| Count of 'conversation_rating_id' |
CSAT request rate | conversation_rating_sent |
|
| ('conversation_rating.conversations_with_a_conversation_rating_request.count' / 'v1.new_conversations') * 100 |
CSAT response rate | conversation_rating_sent |
|
| ('conversation_rating.conversations_with_a_conversation_rating_response.count' / 'v1.new_conversations') * 100 |
CSAT score | conversation_rating_sent |
|
| ('conversation_rating.any_agent.positively_rated.count' / 'conversation_rating.any_agent.count') * 100 |
DSAT score | conversation_rating_sent |
|
| ('conversation_rating.any_agent.negatively_rated.count' / 'conversation_rating.any_agent.count') * 100 |
SLA Dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Conversations and tickets with SLA | conversation_sla_status_log | 'started_at' within selected date range |
| Cardinality of 'conversation_id' |
Conversation and ticket SLA miss rate | conversation_sla_status_log |
|
| ('conversations.sla_missed.count' / 'conversations.sla_evaluated.count') * 100 |
Conversations and tickets with missed SLA | conversation_sla_status_log | 'started_at' within selected date range | 'sla_status' IN ["missed", "fixed"] | Cardinality of 'conversation_id' |
SLAs applied | conversation_sla_status_log | 'started_at' within selected date range |
| Count of 'conversation_sla_id' |
SLAs hit | conversation_sla_status_log | 'started_at' within selected date range | 'sla_status' IN ["hit"] | Count of 'conversation_sla_id' |
SLA hit rate | conversation_sla_status_log |
|
| ('sla_hit.count' / 'sla_applied.count') * 100 |
SLAs missed | conversation_sla_status_log | 'started_at' within selected date range | 'sla_status' IN ["missed", "fixed"] | Count of 'conversation_sla_id' |
SLAs missed | conversation_sla_status_log | 'missed_at' within selected date range | 'sla_status' IN ["missed", "fixed"] | Count of 'conversation_sla_id' |
SLA miss rate | conversation_sla_status_log |
|
| ('sla_missed.count.started_at' / 'sla_applied.count') * 100 |
Time to response after SLA miss | conversation_sla_status_log | 'started_at' within selected date range | 'sla_status' IN ["fixed"] AND 'sla_target_type' IN ["first_reply_time", "next_reply_time"] | Mean, median, percentile, min, max, sum, range of 'breach_time' |
Conversation state dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Open conversations | conversation_state | 'state' within selected date range | 'new_conversation_state' IN ["opened"] AND 'conversation_has_user_reply' IN [true] | Count of 'new_conversation_state' |
Snoozed conversations | conversation_state | 'state' within selected date range | 'new_conversation_state' IN ["snoozed"] AND 'conversation_has_user_reply' IN [true] | Count of 'new_conversation_state' |
Copilot dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Teammates using Copilot | copilot_prompt_response_pair | 'prompt_part_created_at' within selected date range |
| Cardinality of 'admin_id' |
Conversations using Copilot | copilot_prompt_response_pair | 'first_user_conversation_part_created_at' within selected date range | 'first_user_conversation_part_created_at' EXISTS AND 'first_admin_reply_at' EXISTS AND 'admin_has_replied_to_conversation' IN [true] AND any of: ('ticket_category' DOES NOT EXIST OR 'ticket_category' IN [1]) | Cardinality of 'conversation_id' |
Copilot conversation usage rate | copilot_prompt_response_pair |
|
| ('copilot.conversations_involved' / 'copilot.conversations_with_human_reply') * 100 |
Copilot questions | copilot_prompt_response_pair | 'prompt_part_created_at' within selected date range |
| Cardinality of 'prompt_part_id' |
Replied conversations with at least one Copilot answer | copilot_prompt_response_pair | 'first_user_conversation_part_created_at' within selected date range | 'first_user_conversation_part_created_at' EXISTS AND 'first_admin_reply_at' EXISTS AND 'admin_has_replied_to_conversation' IN [true] AND any of: ('ticket_category' DOES NOT EXIST OR 'ticket_category' IN [1]) AND 'response_part_status' IN [0] | Cardinality of 'conversation_id' |
Conversations with one Copilot answer copied | copilot_prompt_response_pair | 'first_user_conversation_part_created_at' within selected date range | 'first_user_conversation_part_created_at' EXISTS AND 'first_admin_reply_at' EXISTS AND 'admin_has_replied_to_conversation' IN [true] AND any of: ('ticket_category' DOES NOT EXIST OR 'ticket_category' IN [1]) AND 'response_part_status' IN [0] AND 'response_part_interaction_events' EXISTS | Cardinality of 'conversation_id' |
Copilot copied answer rate | copilot_prompt_response_pair |
|
| ('copilot.conversations_with_interaction' / 'copilot.conversations_with_successful_response') * 100 |
Teammate handling time | teammate_handling_conversation | 'first_user_conversation_part_created_at' within selected date range | 'teammate_id' EXISTS AND 'handling_time' EXISTS | Mean, median, percentile, min, max, sum, range of 'handling_time' |
Teammate handling time | teammate_handling_conversation | 'first_user_conversation_part_created_at' within selected date range | 'teammate_id' EXISTS AND 'handling_time_ooo' EXISTS | Mean, median, percentile, min, max, sum, range of 'handling_time_ooo' |
Ticket time in state dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Ticket time spent in all states | ticket_time_in_state | 'submitted_at' within selected date range |
| Mean, median, percentile, min, max, sum, range of 'time_in_state' |
Ticket time spent in submitted | ticket_time_in_state | 'submitted_at' within selected date range | 'ticket_state_category' IN [0] | Mean, median, percentile, min, max, sum, range of 'time_in_state' |
Ticket time spent in progress | ticket_time_in_state | 'submitted_at' within selected date range | 'ticket_state_category' IN [32] | Mean, median, percentile, min, max, sum, range of 'time_in_state' |
Ticket time spent in waiting on customer | ticket_time_in_state | 'submitted_at' within selected date range | 'ticket_state_category' IN [64] | Mean, median, percentile, min, max, sum, range of 'time_in_state' |
Tickets dataset
Metric Name | Dataset | Date Filter | Conditions | Aggregation Method |
Ticket time to resolve | tickets | 'last_resolved_at' within selected date range | 'time_to_resolve' EXISTS | Mean, median, percentile, min, max, sum, range of 'time_to_resolve' |
New tickets | tickets | 'submitted_at' within selected date range |
| Count of 'submitted_at' |
Resolved tickets | tickets | 'last_resolved_at' within selected date range |
| Count of 'last_resolved_at' |
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts
