Use this article to discover the metrics and attributes you can use to build Explore reports based on your usage of Zendesk messaging. These datasets are also used for the messaging prebuilt dashboard (see Overview of the Zendesk Messaging dashboard).
For more information about how to create reports with Explore, see Creating reports.
Messaging tickets dataset
The Messaging tickets dataset contains metrics and attributes that relate to all messaging channels, including web, mobile, and social messaging channels.
This section lists all the available elements for the dataset. It contains the following topics:
Messaging tickets metrics
This section lists and defines all the Messaging tickets metrics available.
Metric | Definition | Calculation |
Messaging tickets | The total number of tickets created from messaging channels. | [Ticket ID] |
Solved messaging tickets | The number of solved or closed messaging tickets. | IF ([Ticket status - Unsorted] = "Solved" OR [Ticket status - Unsorted] = "Closed") THEN [Ticket ID] ENDIF |
One-touch messaging tickets | The number of messaging tickets that were solved in the first interaction, indicated by transitioning from Open to Solved, without going through Pending and On-hold. | IF ([Ticket status - Unsorted] = "Solved" OR [Ticket status - Unsorted] = "Closed") AND VALUE(Agent replies) > 0 AND NOT([Wait status changed]) AND [Reopens] = 0 THEN [Ticket ID] ENDIF |
% One-touch messaging tickets | The percentage of messaging tickets that were solved in the first interaction, indicated by transitioning from Open to Solved, without going through Pending and On-hold. | COUNT(One-touch messaging tickets) / COUNT(Solved messaging tickets) |
Unsolved messaging tickets | The number of unsolved messaging tickets. This includes tickets in every status, except Solved and Closed. | IF [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN [Ticket ID] ENDIF |
Unassigned unsolved messaging tickets | The number of unsolved messaging tickets currently not assigned. | IF [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" AND [Assignee ID] = NULL THEN [Ticket ID] ENDIF |
Assigned unsolved messaging tickets | The number of unsolved messaging tickets that are assigned. This includes tickets in every status except Solved and Closed. | IF [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" AND [Assignee ID] != NULL THEN [Ticket ID] ENDIF |
Unreplied unsolved messaging tickets | The number of unsolved messaging tickets that currently have no agent replies. | IF [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" AND VALUE(Agent replies) = 0 THEN [Ticket ID] ENDIF |
Agent messages | The number of messages sent by an agent. | |
Agent replies | The total number of messaging conversations an agent had with an end user and the number of replies they sent via email. | |
Requester messages | The number of messages sent by the requester. | |
Requester replies | The number of replies sent by the requester. Replies are messages sent by the end user in response to an agent message. | |
Good satisfaction tickets | The number of messaging tickets with a good satisfaction rating. | IF [Ticket satisfaction rating] = "Good" THEN [Ticket ID] ENDIF |
Bad satisfaction tickets | The number of messaging tickets with a bad satisfaction rating. | IF [Ticket satisfaction rating] = "Bad" THEN [Ticket ID] ENDIF |
Rated satisfaction tickets | Messaging tickets that were rated either bad or good by the requester. | IF [Ticket satisfaction rating] = "Good" OR [Ticket satisfaction rating] = "Bad" THEN [Ticket ID] ENDIF |
% Satisfaction score | The percentage of satisfaction surveys rated good. | COUNT(Good satisfaction tickets) / COUNT(Rated satisfaction tickets) |
First reply time (sec) | The duration in seconds between when the messaging ticket was created and the first agent reply on the ticket. | |
First reply time (min) | The duration in minutes between when the messaging ticket was created and the first agent reply on the ticket. | VALUE(First reply time (sec))/60 |
First reply time (hrs) | The duration in hours between when the messaging ticket was created and the first agent reply on the ticket. | VALUE(First reply time (sec))/3600 |
First reply time (days) | The duration in days between when the messaging ticket was created and the first agent reply on the ticket. | VALUE(First reply time (sec))/86400 |
First reply time - Business hours (sec) | The time in seconds between when the messaging ticket was created and the first agent reply on the ticket, excluding out-of-business hours. | |
First reply time - Business hours (min) | The time in minutes between when the messaging ticket was created and the first agent reply on the ticket, excluding out-of-business hours. | VALUE(First reply time - Business hours (sec))/60 |
First reply time - Business hours (hrs) | The time in hours between when the messaging ticket was created and the first agent reply on the ticket, excluding out-of-business hours. | VALUE(First reply time - Business hours (sec))/3600 |
First reply time - Business hours (days) | The duration in hours between when the messaging ticket was created and the first agent reply on the ticket, excluding out-of-business hours. | VALUE(First reply time - Business hours (sec))/86400 |
Requester wait time (sec) | The time in seconds from the end user sending a message and the agent’s response. | |
Requester wait time (min) | The time in minutes from the end user sending a message and the agent’s response. | VALUE(Requester wait time (sec))/60 |
Requester wait time (hrs) | The time in hours from the end user sending a message and the agent’s response. | VALUE(Requester wait time (sec))/3600 |
Requester wait time (days) | The time in days from the end user sending a message and the agent’s response. | VALUE(Requester wait time (sec))/86400 |
Requester wait time - Business hours (sec) | The time in seconds from the end user sending a message and the agent’s response, excluding out-of-business hours. It measures how long requesters were waiting for agents' replies. | |
Requester wait time - Business hours (min) | The time in minutes from the end user sending a message and the agent’s response, excluding out-of-business hours. It measures how long requesters were waiting for agents' replies. | VALUE(Requester wait time - Business hours (sec))/60 |
Requester wait time - Business hours (hrs) | The time in hours from the end user sending a message and the agent’s response, excluding out-of-business hours. It measures how long requesters were waiting for agents' replies. | VALUE(Requester wait time - Business hours (sec))/3600 |
Requester wait time - Business hours (days) | The time in hours from the end user sending a message and the agent’s response, excluding out-of-business hours. It measures how long requesters were waiting for agents' replies. | VALUE(Requester wait time - Business hours (sec))/86400 |
Requester wait time average (sec) | The average time in seconds from the end user sending a message and agent’s response. | VALUE(Requester wait time (sec)) / VALUE(Agent replies) |
Requester wait time average (min) | The average time in minutes from the end user sending a message and the agent’s response. | VALUE(Requester wait time average (sec))/60 |
Requester wait time average (hrs) | The average time in hours from the end user sending a message and the agent’s response. | VALUE(Requester wait time average (sec))/3600 |
Requester wait time average (days) | The average time in days from the end user sending a message and the agent’s response. | VALUE(Requester wait time average (sec))/86400 |
Requester wait time average - Business hours (sec) | The average time in seconds from the end user sending a message and agent’s response, excluding out-of-business hours. | VALUE(Requester wait time - Business hours (sec)) / VALUE(Agent replies) |
Requester wait time average - Business hours (min) | The average time in minutes from the end user sending a message and the agent’s response, excluding out-of-business hours. | VALUE(Requester wait time average - Business hours (sec))/60 |
Requester wait time average - Business hours (hrs) | The average time in hours from the end user sending a message and the agent’s response, excluding out-of-business hours. | VALUE(Requester wait time average - Business hours (sec))/3600 |
Requester wait time average - Business hours (days) | The average time in hours from the end user sending a message and the agent’s response, excluding out-of-business hours. | VALUE(Requester wait time average - Business hours (sec))/86400 |
Agent wait time (sec) | The time in seconds from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | |
Agent wait time (min) | The time in minutes from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time (sec))/60 |
Agent wait time (hrs) | The time in hours from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time (sec))/3600 |
Agent wait time (days) | The time in days from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time (sec))/86400 |
Agent wait time - Business hours (sec) | The time in seconds from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | |
Agent wait time - Business hours (min) | The time in minutes from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time - Business hours (sec))/60 |
Agent wait time - Business hours (hrs) | The time in hours from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time - Business hours (sec))/3600 |
Agent wait time - Business hours (days) | The time in hours from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time - Business hours (sec))/86400 |
Agent wait time average (sec) | The average time in seconds from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time (sec)) / VALUE(Requester replies) |
Agent wait time average (min) | The average time in minutes from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average (sec))/60 |
Agent wait time average (hrs) | The average time in hours from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average (sec))/3600 |
Agent wait time average (days) | The average time in days from the agent sending a message and the end user’s response. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average (sec))/86400 |
Agent wait time average - Business hours (sec) | The average time in seconds from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time - Business hours (sec)) / VALUE(Requester replies) |
Agent wait time average - Business hours (min) | The average time in minutes from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average - Business hours (sec))/60 |
Agent wait time average (hrs) | The average time in hours from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average - Business hours (sec))/3600 |
Agent wait time average - Business hours (days) | The average time in days from the agent sending a message and the end user’s response, excluding out-of-business hours. It measures how long agents were waiting for end user replies. | VALUE(Agent wait time average - Business hours (sec))/86400 |
Assignment to first reply (sec) | The time in seconds from last assignment to the first agent reply. | |
Assignment to first reply (min) | The time in minutes from the last assignment to the first agent reply. | VALUE(Assignment to first reply (sec))/60 |
Assignment to first reply (hrs) | The time in hours from the last assignment to the first agent reply. | VALUE(Assignment to first reply (sec))/3600 |
Assignment to first reply (days) | The time in days from the last assignment to the first agent reply. | VALUE(Assignment to first reply (sec))/86400 |
Assignment to first reply - Business hours (sec) | The time in seconds from last assignment to the first agent reply, excluding out-of-business hours. | |
Assignment to first reply - Business hours (min) | The time in minutes from the last assignment to the first agent reply, excludes out-of-business hours. | VALUE(Assignment to first reply - Business hours (sec))/60 |
Assignment to first reply (hrs) | The time in hours from the last assignment to the first agent reply, excluding out-of-business hours. | VALUE(Assignment to first reply - Business hours (sec))/3600 |
Assignment to first reply - Business hours (days) | The time in days from the last assignment to the first agent reply, excluding out-of-business hours. | VALUE(Assignment to first reply - Business hours (sec))/86400 |
First resolution time - Messaging (min) | The number of minutes between when the messaging ticket was created and when it was first resolved. | IF [Ticket ID] != NULL THEN VALUE(First resolution time (min)) ENDIF |
First resolution time - Business hours (min) | The number of minutes between when the messaging ticket was created and when it was first resolved, excluding out-of-business hours. | |
Full resolution time - Messaging (min) | The duration in minutes from when the messaging ticket was created to its latest resolution. | IF [Ticket ID] != NULL THEN VALUE(Full resolution time (min)) ENDIF |
Full resolution time - Business hours (min) | The duration in minutes from when the messaging ticket was created to its latest resolution, excluding out-of-business hours. | |
Unsolved tickets age (min) | The duration in minutes between when an unsolved messaging ticket was created and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket created - Timestamp], "nb_of_minutes") ENDIF |
Unsolved tickets age (hrs) | The duration in hours between when an unsolved messaging ticket was created and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket created - Timestamp], "nb_of_hours") ENDIF |
Unsolved tickets age (days) | The duration in days between when an unsolved messaging ticket was created and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket created - Timestamp], "nb_of_days") ENDIF |
Unsolved tickets time since update (min) | The duration in minutes between an unsolved messaging ticket’s last update and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket updated - Timestamp], "nb_of_minutes") ENDIF |
Unsolved tickets time since update (hrs) | The duration in hours between an unsolved messaging ticket’s last update and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket updated - Timestamp], "nb_of_hours") ENDIF |
Unsolved tickets time since update (days) | The duration in days between an unsolved messaging ticket’s last update and now. | IF [Ticket ID] != NULL AND [Ticket status - Unsorted] != "Solved" AND [Ticket status - Unsorted] != "Closed" THEN DATE_DIFF(NOW(), [Ticket updated - Timestamp], "nb_of_days") ENDIF |
Reassigned messaging tickets |
The number of messaging tickets that have been assigned to more than one agent. Data is available only from July 18, 2023 and after. |
IF VALUE(Assignee stations) > 1 THEN [Ticket ID] ENDIF |
Reopened messaging tickets |
The number of messaging tickets that were reopened after being solved. Data is available only from July 18, 2023 and after. |
IF [Reopens] > 0 THEN [Ticket ID] ENDIF |
Messaging tickets created outside of business hours |
The number of messaging tickets created outside of the schedule assigned at the time of ticket creation. Data is available only from July 18, 2023 and after. |
IF [Created outside business hours] THEN [Ticket ID] ENDIF |
New messaging tickets |
The number of messaging tickets that are currently in the New status. Data is available only from July 18, 2023 and after. |
IF [Ticket status - Unsorted] = "New" THEN [Ticket ID] ENDIF |
Open messaging tickets |
The number of messaging tickets that are currently in the Open status. Data is available only from July 18, 2023 and after. |
IF [Ticket status - Unsorted] = "Open" THEN [Ticket ID] ENDIF |
Pending messaging tickets |
The number of messaging tickets that are currently in the Pending status. Data is available only from July 18, 2023 and after. |
IF [Ticket status - Unsorted] = "Pending" THEN [Ticket ID] ENDIF |
On-hold messaging tickets |
The number of messaging tickets that are currently in the On-hold status. Data is available only from July 18, 2023 and after. |
IF [Ticket status - Unsorted] = "Hold" THEN [Ticket ID] ENDIF |
First assignment time (sec) |
The time in seconds between when a messaging ticket was created and the first time it was assigned to an agent. Data is available only from July 18, 2023 and after. |
IF [Ticket ID] != NULL THEN DATE_DIFF([Ticket first assigned - Timestamp], [Ticket created - Timestamp], "nb_of_seconds") ENDIF |
First assignment time (min) |
The time in minutes between when a messaging ticket was created and the first time it was assigned to an agent. Data is available only from July 18, 2023 and after. |
IF [Ticket ID] != NULL THEN DATE_DIFF([Ticket first assigned - Timestamp], [Ticket created - Timestamp], "nb_of_minutes") ENDIF |
First assignment time (hrs) |
The time in hours between when a messaging ticket was created and the first time it was assigned to an agent. Data is available only from July 18, 2023 and after. |
IF [Ticket ID] != NULL THEN DATE_DIFF([Ticket first assigned - Timestamp], [Ticket created - Timestamp], "nb_of_hours") ENDIF |
First assignment time (days) |
The time in days between when a messaging ticket was created and the first time it was assigned to an agent. Data is available only from July 18, 2023 and after. |
IF [Ticket ID] != NULL THEN DATE_DIFF([Ticket first assigned - Timestamp], [Ticket created - Timestamp], "nb_of_days") ENDIF |
Handle time (sec) |
The time in seconds that the agent spends interacting with the end user on the messaging ticket. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time (min) |
The time in minutes that the agent spends interacting with the end user on the messaging ticket. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time (hrs) |
The time in hours that the agent spends interacting with the end user on the messaging ticket. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time (days) |
The time in days that the agent spends interacting with the end user on the messaging ticket. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time - Business hours (sec) |
The time in seconds that the agent spends interacting with the end user on the messaging ticket, excluding non-business hours. Business hours are based on the schedule applied to the ticket at the time of creation. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time - Business hours (min) |
The time in minutes that the agent spends interacting with the end user on the messaging ticket, excluding non-business hours. Business hours are based on the schedule applied to the ticket at the time of creation. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time - Business hours (hrs) |
The time in hours that the agent spends interacting with the end user on the messaging ticket, excluding non-business hours. Business hours are based on the schedule applied to the ticket at the time of creation. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Handle time - Business hours (days) |
The time in days that the agent spends interacting with the end user on the messaging ticket, excluding non-business hours. Business hours are based on the schedule applied to the ticket at the time of creation. For details, see How is the Handle time metric calculated? Data is available only from July 18, 2023 and after. |
|
Assignee stations |
The number of agents a ticket has been assigned to. Data is available only from July 18, 2023 and after. |
(Assignee stations) |
First offer time (sec) |
The time in seconds from ticket creation to the first time it was offered to an agent to accept. Data is available only from October 30, 2023 and after. |
First offer time (sec) |
First offer to assignment (sec) |
The time spent in an offer state, in seconds, between first offer and first assignment to an agent. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time (sec)) - VALUE(First offer time (sec)) < 0 THEN NULL ELSE VALUE(First assignment time (sec)) - VALUE(First offer time (sec)) ENDIF |
First offer time (min) |
The time in minutes from ticket creation to the first time it was offered to an agent to accept. Data is available only from October 30, 2023 and after. |
VALUE(First offer time (sec))/60 |
First offer to assignment (min) |
The time spent in an offer state, in minutes, between first offer and first assignment to an agent. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time (sec)) - VALUE(First offer time (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time (sec)) - VALUE(First offer time (sec)))/60 ENDIF |
First offer time (hrs) |
The time in hours from ticket creation to the first time it was offered to an agent to accept. Data is available only from October 30, 2023 and after. |
VALUE(First offer time (sec))/3600 |
First offer to assignment (hrs) |
The time spent in an offer state, in hours, between first offer and first assignment to an agent. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time (sec)) - VALUE(First offer time (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time (sec)) - VALUE(First offer time (sec)))/3600 ENDIF |
First offer time (days) |
The time in days from ticket creation to the first time it was offered to an agent to accept. Data is available only from October 30, 2023 and after. |
VALUE(First offer time (sec))/86400 |
First offer to assignment (days) |
The time spent in an offer state, in days, between first offer and first assignment to an agent. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time (sec)) - VALUE(First offer time (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time (sec)) - VALUE(First offer time (sec)))/86400 ENDIF |
First assignment time - Business hours (sec) |
The time in seconds between when a messaging ticket was created and the first time it was assigned to an agent, excluding out-of-business hours. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
First assignment time - Business hours (sec) |
First offer time - Business hours (sec) |
The time in seconds from ticket creation to the first time it was offered to an agent to accept, excluding out-of-business hours. Business hours are based on the schedule applied at time of first offer. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
First offer time - Business hours (sec) |
First offer to assignment - Business hours (sec) |
The time spent in an offer state, in seconds, between first offer and first assignment to an agent, excluding out-of-business hours. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec))) ENDIF |
First assignment time - Business hours (mins) |
The time in minutes between when a messaging ticket was created and the first time it was assigned to an agent, excluding out-of-business hours. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
First assignment time - Business hours (sec)/60 |
First offer time - Business hours (mins) |
The time in minutes from ticket creation to the first time it was offered to an agent to accept, excluding out-of-business hours. Business hours are based on the schedule applied at time of first offer. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
VALUE(First offer time - Business hours (sec))/60 |
First offer to assignment - Business hours (min) |
The time spent in an offer state, in minutes, between first offer and first assignment to an agent, excluding out-of-business hours. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)))/60 ENDIF |
First assignment time - Business hours (hours) |
The time in hours between when a messaging ticket was created and the first time it was assigned to an agent, excluding out-of-business hours. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
First assignment time - Business hours (sec)/3600 |
First offer time - Business hours (hrs) |
The time in hours from ticket creation to the first time it was offered to an agent to accept, excluding out-of-business hours. Business hours are based on the schedule applied at time of first offer. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
VALUE(First offer time - Business hours (sec))/3600 |
First offer to assignment - Business hours (hrs) |
The time spent in an offer state, in hours, between first offer and first assignment, excluding out-of-business hours to an agent. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Business hours are based on the schedule applied to the ticket at the time of creation. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)))/3600 ENDIF |
First assignment time - Business hours (days) |
The time in days between when a messaging ticket was created and the first time it was assigned to an agent, excluding out-of-business hours. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
First assignment time - Business hours (sec)/86400 |
First offer time - Business hours (days) |
The time in days from ticket creation to the first time it was offered to an agent to accept, excluding out-of-business hours. Business hours are based on the schedule applied at time of first offer. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
VALUE(First offer time - Business hours (sec))/86400 |
First offer to assignment - Business hours (days) |
The time spent in an offer state, in days, between first offer and first assignment to an agent, excluding out-of-business hours. It will be 0 if the first assignment occurred before offering, either by directly assigning the ticket to the agents via triggers or manually. Business hours are based on the schedule applied at time of first assignment. If there is no schedule assigned, the default schedule is used. Data is available only from October 30, 2023 and after. |
IF VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)) < 0 THEN NULL ELSE (VALUE(First assignment time - Business hours (sec)) - VALUE(First offer time - Business hours (sec)))/86400 ENDIF |
Messaging tickets with multiple offers |
The number of messaging tickets offered to an agent, not accepted, and re-offered to other agents. If the ticket was never accepted, this metric returns 0. Data is available only from October 30, 2023 and after. |
IF (VALUE(Offers before first acceptance) != NULL AND VALUE(Offers before first acceptance) > 1) THEN [Ticket ID] ENDIF |
Offers |
The number of times a messaging ticket was offered to agents during its lifecycle. Explore records a maximum of 20 offers per ticket. Data is available only from October 30, 2023 and after. |
|
Offers before first acceptance |
The number of times a messaging ticket was offered to agents before first acceptance. If a ticket was directly assigned to an agent using triggers or manually, this value will be null. Data is available only from October 30, 2023 and after. |
|
Acceptances |
The number of times a messaging ticket was accepted by agents clicking the Accept button. Data is available only from October 30, 2023 and after.
Note: Starting December 11, 2023, auto-assignment
to agents as part of omnichannel routing is
excluded from this metric.
Note: Starting July 2, 2024,
auto-accept by agents is excluded from this
metric.
|
|
Queue entries |
The number of times the ticket was placed in the queue. A ticket is in the queue when it’s in a status of New or Open and unassigned. Data is available only from October 30, 2023 and after. |
|
% First acceptance rate |
The percentage of acceptances from the number of offers before first acceptance on the ticket. One hundred percent indicates that the ticket was accepted by the first agent it was offered to. Less than one hundred percent indicates that the ticket was offered to multiple agents before it was first accepted, resulting in an increase in first reply time. Data is available only from October 30, 2023 and after. |
IF (VALUE(Offers before first acceptance) != NULL AND VALUE(Offers before first acceptance) > 0) THEN 1/VALUE(Offers before first acceptance) ELSE 0 ENDIF |
% Acceptance rate |
The percentage of acceptances of all offers on the ticket. One hundred percent indicates the ticket was accepted by all the agents it was offered to. Less than one hundred percent indicates that the ticket was offered to multiple agents before it was accepted, resulting in an increase in resolution time. Data is available only from October 30, 2023 and after. |
IF VALUE(Offers) > 0 THEN MINIMUM(VALUE(Acceptances)/VALUE(Offers), 1) ELSE 0 ENDIF |
Messaging tickets attributes
This section lists and defines all the Messaging tickets attributes available.
Attribute | Definition |
Ticket ID | The ID number of the messaging ticket. |
Ticket status | The status of the messaging ticket. |
Ticket custom status name | The name of a custom ticket status. This attribute
appears only if you've enabled custom ticket
statuses. For tickets that existed before custom
ticket statuses were enabled, this attribute returns
NULL. Data is available only from October 19, 2023 onward. |
Ticket custom status category | The category that a custom ticket status is mapped to.
This attribute appears only if you've enabled custom ticket
statuses. For tickets that existed before custom
ticket statuses were enabled, this attribute returns
Ticket Status. Data is available only from October 19, 2023 onward. |
Ticket custom status state | Returns true if a custom ticket status is active,
or false if a custom ticket status is deactivated.
This attribute appears only if you've enabled custom ticket
statuses. Data is available only from October 19, 2023 onward. |
Ticket group | Name of the group where the messaging ticket was assigned. |
Ticket brand | The brand of the messaging ticket. |
Ticket channel |
The channel a messaging ticket was created from. For more information about the ticket channels Explore collects, see Understanding ticket channels in Explore. |
Ticket priority | The messaging ticket's priority. |
Ticket tags | The tags associated with the messaging
ticket. For important information about filtering reports using tags, see Reporting on ticket tags using filters. |
Ticket satisfaction rating | The satisfaction rating left by the customer on the messaging ticket. Values: Good, Bad, Offered, Unoffered. |
Wait status changed |
Returns true or false depending on whether a ticket has previously gone into the Pending or On-hold status. |
Assignee name | The name of the assignee. Values for this attribute (and for the other Assignee attributes below) include users who currently have an agent or admin role, as well as users who previously had an agent or admin role and were assigned to a ticket at least once. |
Assignee role | The role of an assignee. Possible values: admin, agent, or end user. |
Assignee ID | The messaging ticket's assignee ID. |
Assignee email | The messaging ticket assignee’s email address. |
Requester name | The name of the user who is asking for support through a messaging ticket. |
Requester ID | The ID number for a messaging ticket's requester. |
Requester email | The email address of the messaging ticket requester. |
Requester tags | Tags associated with the requester. For important information about filtering reports using tags, see Reporting on ticket tags using filters. |
Ticket organization name | The name of the organization associated with the messaging ticket. |
First reply time brackets | The time between when the messaging ticket was first created and when an agent first replied. Values are returned as 0-1 mins, 1-3 mins, 3-10 mins, >10 mins, and no replies. |
Requester wait time brackets | The time a requester was waiting for agent replies. The values are returned as no wait, 0-1 mins, 1-3 mins, 3-10 mins, 10-30 mins, and >30 mins. |
First resolution time brackets | The time between when the messaging ticket was first created and the first time it was set to solved. The values are returned as Unsolved, 0-30 mins, 30-90 mins, 1.5-6 hrs, 6-24 hrs, and >24 hrs. |
Intent (Requires intelligent triage) |
A prediction of what the ticket is about. To see the possible values, open the Taxonomy tab of the Intent settings page to see the AI Intents list under the Taxonomy values heading. |
Intent confidence (Requires intelligent triage) |
The likelihood that the intent prediction is correct. Possible values are High, Medium, and Low. |
Language (Requires intelligent triage) |
A prediction of what language the ticket is written in. To see the possible values, open the Taxonomy tab of the settings page. |
Language confidence (Requires intelligent triage) |
The likelihood that the language prediction is correct. Possible values are High, Medium, and Low. |
Sentiment (Requires intelligent triage) |
A prediction of how the customer feels about their request. Possible values are Very Positive, Positive, Neutral, Negative, and Very Negative. |
Sentiment confidence (Requires intelligent triage) |
The likelihood that the sentiment prediction is correct. Possible values are High, Medium, and Low. |
Time - Ticket created | Includes a number of attributes that return the time and date when the messaging ticket was created in various time measurements. |
Time - Ticket solved | Includes a number of attributes that return the time and date when the messaging ticket was marked as solved in various time measurements. |
Time - Ticket last updated | The time when the messaging ticket was last updated. |
Time - Ticket requester updated | The time when the messaging ticket was last updated by its requester. |
Time - Ticket last assigned | The time when the messaging ticket was last assigned to an agent. |
Time - Ticket first assigned | The time when the messaging ticket was first assigned to an agent. |
Time - Ticket type - Task due | When a messaging ticket is configured as a task, this is the date at which the task must be completed. |
Custom ticket fields |
The name of a custom ticket field. This attribute appears only if you’ve created custom ticket fields. Data is available only from July 18, 2023 and after. |
Created outside business hours |
Indicates whether a ticket was created within (FALSE) or outside of (TRUE) business hours based on the schedule applied to the messaging ticket at the time of ticket creation. Data is available only from July 18, 2023 and after. |
45 comments
Andrei Kamarouski
Hey, great to have this dataset finally!
I am curious about Wait status attribute (compared to Ticket status). What is the main difference and use cases to use it?
Andrei Kamarouski
Zendesk Expert, Pythia AI Co-Founder
1
Prakruti Hindia
Hi Andrei,
Wait is not a new status. It collectively refers to the existing Ticket status - Pending and On-hold.
- Prakruti
0
Lauren Benkov
Is this dataset also available via the Chat APIs? We're trying to find some of this data in Snowflake and it seems like it is not there.
0
Gab Guinto
I'm afraid these metrics for Messaging aren't available yet via the API. At this time, only the First reply time for messaging can be pulled using the Ticket metrics API.
0
Lauren Benkov
@... Is there a timeline for this? This is really frustrating to not be able to report on this in Looker with the rest of our data.
1
Gab Guinto
Unfortunately, there is nothing specific that we can share yet at this time. If you have the time, I would suggest that you create a post in out Chat & Messaging topic in the Community to engage with other users with the same needs. Our Product Managers monitor the threads in the Product Feedback sections. It would be helpful if you can provide as much details as possible in your post, like specific datapoints or metrics that you need to pull. Thank you, Lauren!
0
Lauren Benkov
Thanks @... - just did that!
0
Andrei Kamarouski
Hey, any ETA about adding Agent name attribute to track the agent activities (like messages)on a more granular updates level (deeper than just the Assignee name)?
0
Gina Guerra
Hi, can we report on custom ticket fields for messaging tickets (outside of creating a custom attribute based on tags)?
0
Gab Guinto
According to the Messaging team, the option to slice the data by user – and not just by ticket assignee – is on the radar of Product. But, I'm afraid we don't have a specific timeline or more details that we can share at this time.
0
Gab Guinto
At this time, the only option to report on custom field data in the Messaging dataset is through the value tags. There are no definite plans yet to make the custom field data available through native attributes in this dataset. If you have time, I would recommend that you start a post in the Product Feedback topic in our community to engage with other users who have similar needs. If the Product team sees that there's high engagement in the thread, then hopefully it will be flagged for future roadmap planning.
0
Kelsey Davis
Our Agents work on tickets from all channels over the course of a shift, so not being able to report on Replies & Solves for all tickets Agents manage in the same report is really crippling for our reporting (as is not having update-oriented metrics & attributes -- Assignee-based reporting completely erases record of an Agent's work if the ticket is passed to another Agent when they turn over shifts, which happens very frequently)
Without this info in one dataset, we can't report on Agent output performance in Explore & we can't pull it to our database to do so either at this point. Will Messaging Solves & Replies be available in the Ticket + Updates History datasets? Some components of those tickets are available to report on in the Ticket dataset, but not two of the most core metrics for reporting on Agent output performance.
1
Gab Guinto
There are no specific details or timeline that we can share at the moment, but according to our Product team, adding more options to report on agent activity within Messaging conversations are in the radar. I would suggest to start a thread in the Product Feedback topic which the team actively monitors; and if you can, add as much details about your reporting needs in your post.
Thanks Lauren!
0
Harper Dane
None of these metrics seem to measure the number of times an inbound Message was served up to an agent but didn't get picked up (timed out and was served to a different agent after XX seconds). Any plans to make this metric available for reporting?
We really need visibility into the number of Messaging threads served up to an agent vs the number of threads they actually click "accept" on.
1
Gab Guinto
There are no definite details and timeline yet that we can share, but the Product team continues to work to add more options for reporting on Messaging activity. At the moment, there's not metric or attribute in the Messaging dataset to count the number of missed assignments. I didn't find an ongoing thread on this yet, but if you have time, I would suggest that you start a post in the Product Feedback topic in our Community to engage with more users with similar reporting needs. Our Product team actively monitor the feedback threads, and it would be great if you can share more info on what metrics you need in your reports.
Thank you, Harper.
0
Caroline Wibowo
Hi,
I believe we need agent name activity, not just assignee. Because when agent change from A to B, if we use assignee name. all the result would go to agent B. We need the calculation for agent A as well
0
Gab Guinto
That's right, at this time, there's no attribute for reporting on the actual agent who engaged with the user or sent the messages within the conversation. There's no definite plans yet to include this in future updates for the Messaging dataset, but if you have time, I would recommend that you create a new post in the General Product Feedback topic in our community to engage with other users who have similar needs and discuss possible workarounds. Conversations with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning.
0
Benedicte Perez
Hi!
I cannot find Two-touch and Multi-touch metric definition. Could it be possible to add it?
Thank you!
Bénédicte
0
Anne Ronalter
The definition can be found in the following article:
Analyzing agent ticket touches with Explore
One-touch tickets: Tickets that were solved with only one agent reply.
Two-touch tickets: Tickets that were solved with two agent replies.
Multi-touch tickets: Tickets that were solved with more than two agent replies.
0
Mira
We would really like to have the URL that the customer contacted us from using the messaging widget to be part o a dataset so we can see the most popular pages for customers to request help from. Then we could cross reference with tags to see what they contact us about from each page.
2
Tia Palauni
Are there plans to have messaging reporting/metrics include things such as refusals? Meaning, when an agent is first assigned a message, but doesn't accept it in the allotted time and the message is therefore re-routed to another agent. This would be extremely helpful to have as refusals is a large part of KPIs.
2
James G
Hello Tia, at the moment, there's no metric or attribute in the Messaging dataset that could measure refusal (missed assignments) and there is no timeline that we can share yet if this will become available in the future. For now, I would recommend creating a post on our Zendesk Explore Feedback page to engage with other users who have similar needs.
0
Prakruti Hindia
Apologies for delayed responses to asks here. Anne and Gabe - Thank you for your responses.
We do plan to support accepts and re-assignments (refusals) in our reporting.
Slicing data using the values in the custom ticket field is on the roadmap for this year.
Messaging solves are available as Ticket Solves in the Updates History dataset. Similarly, Assignee Updates in the Updates dataset can provide insights into the agents who have handled the ticket.
Support for more granular reporting for messaging and APIs are on our radar.
- Prakruti
0
Hilary Dudek
I don't see an attribute in Chat Messaging Tickets data set for
I also don't see a definition in this article for Unreplied Unsolved Messaging Tickets, which is an attribute in Explore.
0
Erin O'Callaghan
Hi Hilary Dudek, the Unassigned unreplied messaging tickets metric should actually have been titled Unreplied unsolved messaging tickets instead, so I've made that switch in the article above. Thanks for pointing this out!
1
Anais
How can I report on our agents' activity on Messaging (on Support too, but let's tackle one problem at a time)? For example, how many tickets each agent is dealing with per day, how many tickets they resolved and how many tickets they reassigned to another team, etc.
I'm really struggling with the fact that the Assignee attribute is showing only tickets assigned to that person NOW. We want to report on the activity of our "front-line" agents (= members of the team who are the first people answering the incoming messaging tickets), so they reassign to the appropriate team a fair number of tickets.
Am I missing something? I've been looking in all datasets and can't find anything.
It is so important for us, and I'm guessing for many other businesses.
1
Tony
I think you can get some inspiration by checking this well-structured article here. If you get stuck at any point while creating a report, we suggest you to get in touch with our support or, in case you think this could be a better option, we could redirect you to our professional service team.
Best,
0
Bonnie
I am trying to build a report that allows me to see how many incoming messages are self-resolved and how many are transferred to an agent. I have looked through all the data sets and I cannot find one that will help me build a report around self-help vs agent involvement.
In the same thought, I also wonder if there is a way to view searches vs tickets created by users by user. As in the dashboard for Zendesk Guide and searches tab but combine the same user. If a user views 6 articles and starts 1 ticket that will be different metrics than a user viewing 1 article and creating 1 ticket.
0
Cheeny Aban
I would suggest that you initiate a conversation with us, so that one of our Support Engineers will be able to help you with your desired report.
0
Liam Kelly
Will there be metrics regarding proactive messaging? We would like to see how this is working for us.
0