Admins can set up messaging triggers to share an estimated wait time with customers for agent engagement. Estimated wait time is calculated and displayed after a conversation bot hands off a messaging conversation and a ticket is created. Wait time is estimated based on the ticket’s position in the ticket queue using recent ticketing data. Admins can also set up triggers to send a message to the customer after the messaging ticket is assigned to an agent from a queue.
This article includes the following sections:
Related article:
About estimated wait time in messaging conversations
Wait time is estimated using a statistical model that considers the average wait time for the customer's queue position and historical wait time only for that queue or group. The model pulls performance data from the most recent period available: the previous 10 minutes, two hours, or three weeks.
Estimation requires data. The wait time will be available only for queues/groups with at least 1 ticket routed in the last 7 days. The trigger(s) will not be activated with insufficient data.
On third-party bots, the trigger is activated after the bot hands over control, and the created ticket is placed in the queue.
The following situations may impact the accuracy of wait time estimates:
-
A surge in ticket submissions. Accuracy will increase as more new data is available.
-
Insufficient recent ticket data.
-
Queues that recently came online.
-
Queues with irregular wait times due to insufficient agent capacity or a lack of agent availability.
Displaying estimated wait time
To display the estimated wait time to a customer, you must build a trigger that runs only when a conversation is initially added to the queue and sends a message to the customer using the @wait_time_min and @wait_time_max placeholders.
Applying this trigger to a small agent group or customer segment is recommended to ensure it functions as expected before rolling it out to your entire team.
Consider communicating clearly to your customers that estimated wait times are just that – estimates – and are not guaranteed (“Expect to wait at least @wait_time_min minutes” or "We should be with you within @wait_time_max minutes," for example).
To display an estimated wait time
- In Admin Center, click
Objects and rules in the sidebar, then select Business rules > Messaging triggers.
- Click Create trigger.
- Enter a name and brief description for your trigger.
- Click Activate this trigger.
- Customize the trigger as follows:
- Run trigger: When a conversation is added to the queue.
-
Conditions: Match ALL of the following conditions:
- Initial routing | is | True
- Group | is | <group name>
- Group status | <group name> | Online
-
Actions
- Send message to customer | Responder | [message text, such as "Your estimated wait time is @wait_time_min-@wait_time_max mins."]
- Click Create.
Sending a follow-up message when a ticket is assigned to an agent
After you implement the estimated wait time trigger described above, you can create a trigger that sends another message to the customer when the ticket is assigned from a queue to an agent.
To send a message to an end user when a ticket is assigned to an agent
- In Admin Center, click
Objects and rules in the sidebar, then select Business rules > Messaging triggers.
- Click Create trigger.
- Enter a name and brief description for your trigger.
- Click Activate this trigger.
- Customize the trigger as follows:
- Run trigger: When a conversation is assigned from a queue.
-
Conditions: Match ALL of the following conditions:
- Group | is | <group name>
- Group status | <group name> | Online
-
Actions
- Send message to customer | Responder | [message text, such as "An agent will be with you shortly."]
- Click Create.
22 comments
Zach Gilbert
I've set this up today and did some testing. I am seeing that if there is no estimated wait, the message shows like this
"Your estimated wait time is - mins." Is there any way to have a placeholder in the event there is no wait data?
0
Prakruti Hindia
Hi Zach,
The trigger should not fire if there is no estimated wait time data. Can you please check if the placeholders are used along with this event Run Trigger - When a conversation is added to the queue?
0
Zach Gilbert
Sorry, that is 100% on me. I've made that change. Now it's not sending it, which is good. But it's not sending at all now. We do meet the requirements, so it should be working.
0
Zach Gilbert
Prakruti Hindia I made these changes and confirmed based on this support doc and am having some odd behavior.
1. After a customer leaves the conversation before an agent replies the trigger executes three times telling them the wait. This is 5+ min after the initial chat started.
2. Had one agent report that almost at the end of a chat the trigger fired sending the customer their wait three times. See image. This wait time is also very wrong.
I think I know why it was fired three times. I have the trigger in the admin three times for each chat group I would like it to fire in as the “group status GROUP NAME is online”. But not sure why it fired 5+ min into an active conversation and why the trigger fired three times.
0
Jon Mitchell
If I don't see “Business rules > Messaging triggers” I assume that means we are not on the newer version… is there a way to get migrated to it ahead of schedule?
1
Amie Brennan
Jon Mitchell Sounds like you need to upgrade your agent workspace and then move to messaging.
Alternatively, if you're already on the new agent workspace, you could still be using the previous Live Chat feature, and in which case you'd need to upgrade to Messaging. Once you upgrade to Messaging, you'll be able to access this feature.
Yell out if you need any more help on this. :)
0
Zach Gilbert
Anyone from the Zendesk team have a comment on the issue we are seeing that I posted above?
1
Naomi Greenall
Following so I can see the response Zendesk has to Zach Gilbert . I don't want to enable this if it is working the way Zach is describing right now. We are launching next week so it would be great to have this fixed or looked into by then.
0
Zach Gilbert
Naomi Greenall while there has been no reply from Zen, it seems to be working now. I will note, that if you have agents that work in multiple groups, do not make a trigger for each group. This is (from what I saw) is causing it to show three times.
I no longer see it show mid-conversation. But, this morning an agent took a ticket that was made on chat after hours, and when they did it sent a message to that chat saying they have a hold time of 250-some-odd minutes. So still seems to be some growing pains.
1
Amie Brennan
Zach Gilbert I see in your trigger screenshot you haven't got all the conditions which is reference in the guide. Could you try inputting the group is condition that's missing from yours and then seeing if this works correctly for you from there?
I've set this up for another customer following the exact config provided in this screenshot and it works perfectly without any issues. I'm not seeing -mins when there is no wait time etc.
1
Amie Brennan
Prakruti Hindia What would be nice is… if it exceeds 60 mins… for it to them display in hours eg. instead of displaying “90mins wait time", it would look better rendered as “1.5hrs wait time”. End-users computer this better then trying to convert 107mins to an hourly time frame so they know how long they are waiting etc.
0
Naomi Greenall
Still hesitant to set this up considering the wait times are needing to be setup a specific that isn't specified by Zendesk. Don't want to give our customers an experience like that. I'd rather them just be waiting without a time given yet, haha. But I do appreciate all of the suggestions
0
Zach Gilbert
Amie Brennan yeah, 100% missed that. Which is why it was coming in three times.
But the other issues where it gives an insane reply time is still there. It no longer does it mid-chat at least. But we have seen chats that come in outside biz hours get a reply time when the team goes online of some crazy wait time.
0
Tracey
hi - should this work on social messaging, such as whats app? or only on web widget?
0
Prakruti Hindia
As Amie rightly pointed out - the trigger to set expectations on wait time needs to have two conditions -
Since the group is online, the trigger fires once for every group configured. Once your trigger is updated to include Group condition, you will receive just 1 message.
0
Prakruti Hindia
Zach - I assume you are testing on sandbox or for a group which does not receive much traffic at all.
Quick tip - You can test on actual traffic by using the recipe and adding another condition Customer Name is <your name>. This will ensure the wait time is visible only to you or your team testing out the feature.
Fair feedback. We will consider it as we iterate on this capability.
Messaging Triggers are only supported for web/mobile messaging, not for social messaging channels. We are planning to extend the same functionality to social messaging channels in the future.
1
Amie Brennan
Hi Prakruti Hindia
Thanks so much for taking my feedback on-board. I know it may sound or look like a tiny thing, but it would make a huge difference… especially for customers who use messaging during a busy period and would like to set expectations etc.
0
BAKO
Hello, in our tests we realized that the “Queue Size” placeholder shows the account-wide queue size but this is useless as we have multiple brands and departments. Showing users a meaningless number seems odd to be honest.
Also @wait_time_min and max placeholders has the same behaviour.
Is there a plan to change it to department, skill or brand specific?
1
Nick S
Hi team, what is the suggestion to manage large outliers in expected wait time which are inaccurate. We are seeing large expected wait times of several hours when most tickets are responded to within a few minutes.
1
Nicholas Pillay
Hi Team
Is there perhaps an average wait time placeholder?
0
Kyle Beaulieu
Is there a way to change the avatar for the "Send Message to Customer" action? It would be nice if I could match my other bot messages:
0
Reshma Renee
Will the EWT display a number less than 1 if the wait time is under a minute, or will it always round up to 1 minute?
0