What is the expected behavior for chat sessions to time out? When do idle conversations time out? Why can't I end a chat in messaging?
A conversation between an agent and an end-user comes to an end differently depending on whether your account is using live chat or messaging.
Click on each of the buttons below to understand how to end chat or messaging conversations in different setups.
End a chat in live chat
End a chat in Agent Workspace
End a conversation in messaging
End a chat session in live chat
The visitor is in control of the chat session and the chat session is considered active unless ended by the visitor in one of the following ways:
- The visitor closes their browser window and the conversation times out.
- The visitor minimizes their chat with an agent and the conversation times out.
- The visitor remains idle on the site and the conversation times out.
- The visitor ends the chat by clicking the three dots of options and then End chat.
The agent experience
An agent can leave a live chat, but not end the session, by following these steps:
- Click the X button in the chat window.
- Click End chat.
A chat can reopen and the agent will experience the following:
- If the end user chats in again after an agent leaves, it returns to the agent's queue.
- The history of their previous chat is present for the agent because it’s still considered the same chat conversation.
- Any subsequent messages are added to the chat script.
- Once the live chat has ended, all additional messages are added to the chat script history as a single entry.
Chat time-out conditions
For the Chat Mobile SDK versions, the chat conversation terminates after any of the below conditions.
- There was no activity on the chat for 1 hour.
- The visitor was disconnected for an hour.
- The agent ends the chat, at which point the session disconnect timeout is reset to 5 minutes.
- The visitor ends the chat at which time the session immediately terminates.
- If push notifications are disabled, the session will timeout 30 minutes after the user backgrounds the app.
For more information about idle statuses, see the following notes:
- In the event that the visitor closes the browser (no windows with the chat widget are open) the session times out within a timeframe of 20 seconds to 2 minutes.
- In the event that the visitor using a browser on a mobile device minimizes, tabs away from, or closes the browser containing the chat, the session times out within a timeframe of 20 seconds to 2 minutes.
- In the event that the visitor idles on a site with the widget, their session stays open for 20 minutes before the session automatically ends. An idle status is defined as no mouse or keyboard input on the site for 10 minutes. The user does not need to interact with the widget itself, but must be actively working on the page the widget is loaded on. Additionally, there can be a variance of up to 5 minutes depending on their connection to Chat.
End a chat session in Agent Workspace
Visitors can still end chats in all the ways described in the live chat section of this article. The only difference in Agent Workspace is that the agent can end a chat in Agent Workspace with an end user by following these steps:
- In Agent Workspace, click End chat.
- In the pop-up window, click End chat.
- The chat will show the visitor that the agent left the chat session.
End a conversation in messaging
Contrary to live chat, a session is not a customer-facing concept in messaging. The visitor does not have the ability to end a chat. Instead, conversations go through active and inactive states.
- A messaging conversation is Active is when the end user and agents have exchanged messages in the last ten minutes. This has implications for the workload of the agent.
- A messaging conversation becomes Inactive after ten minutes of no activity elapse or the agent changes the ticket status category to On-hold, Pending, or Solved. This also releases the agent’s capacity to take new conversations or phone calls if you have omnichannel routing enabled.
Has this feature been made customizable? If a customer is using a mobile device and wants to toggle between browser screens (for instance if an agent has shared a link the customer wishes to visit), their chat is automatically ended. Do Admins have the ability to change this or adjust the time frame?
Since the visitor is in control of the chat session, he is the only one that can end the chat based on the three ways listed in this article. We understand your need for this functionality so I am marking your comment as Product Feedback. We truly value customer feedback and your voice and votes in the product feedback topics in the community help influence future Zendesk functionality.
"If the end user chats in again after an agent leaves, it pops back into the queue. In these cases, the history of their previous chat is present because it’s still considered the same chat session. Any subsequent messages are added to the chat session, and once ended are added to the history as a single entry."
Seems this is not applicable with the agent workplace, is it correct?
In Agent work place when agent leaves the chat, it shows customer has also left the chat. :(
I've test this behaviour and it seems that you are correct that its not applicable with the Agent Workspace. Once an agent ends the chat, the customer also shows to have left the session. If the customer chats again or send a message, it is treated as whole new session which then creates a new ticket.
I hope this answers your inquiry whereas this is expected behaviour.
Claire Miller Jeff C is correct, please review this guidance as it doens't seem to match with what happens in Zendesk Agent Workspace. Our agents would love it if the re-opened chat opened the original ticket as before so they could see the chat history. It can be very difficult for our team to pick up a thread of conversation and also frustrating for the customer to have to provide all the information more than once.
I'm marking this article as needing to be updated with the most up-to-date information.
Also, thank you for your feedback. You might be interested in Zendesk Messaging, which allows you to stay engaged anywhere and have ongoing conversations with your customers so they never have to repeat themselves.
I wonder if it is at all possible to give agents control over when a chat is ended.
If the visitor leaves but there is still work to be done on a ticket, is there a way for that chat to remain "active" so the agent doesn't get put back into the queue for the next chat or call until they end the chat or solve the ticket?
We trust our agents to be working a ticket when unavailable, and have the reporting to see if this is abused. It would help keep the agent focused on one task at a time.
That is possible with Zendesk Messaging. It enables you to stay engaged with your customers and have ongoing conversations with them so they never have to repeat themselves, and it gives your agents control over when the conversation is resolved.
It's been requested for quite some time - my team sends people to other pages quite often so having it kick out our customers within this time frame is painful for everyone. Go upvote on the feature request! https://support.zendesk.com/hc/en-us/community/posts/4409217438618-Feature-Request-Adjust-Chat-Timeout-Period#
We are having issues with our chat timing out after only 30 seconds and when the customer chats again it opens a new chat with "Visitor" and random numbers. Any idea why this might be happening? This is the chat client in a mobile app.
We are see the "Visitor" issue too from the agent side. It only happens about once every 10 days. We assume it is due to chat time out, but we are having trouble reproducing it. What is the easiest way to reproduce a chat time out and the Visitor issue?
Is there a way to customizethe timeouts? (I'm using Zendesk Messenger)
Thank you for the feedbacks and, for bringing your concerns into tickets - glad to see the questions are answered through the tickets created in our Support.
The Chat timeout does not exist/apply to Messaging, as the conversation is no longer session-based as it is for live chats.
Thus, this isn't customisable as such concept doesn't exist for Messaging.
This is also one of the key advantages of Messaging - to allow users to reply asynchronously via the Messaging channel at their own convenience.
Hope that helps!
I know the Chat timeout shouldn't apply to Messaging, but nevertheless it is applying when trying to use Triggers. If I try to add a "Ticket is Updated" trigger, common sense would say that if a user sends messages through the New Web Widget (Zendesk Messenger) then the trigger would be automatically triggered. But because Messaging seems to be using Chat as a backbone, then the trigger is only fired after the "chat timeout" (which again, doesn't make sense for Messaging where that concept doesn't exist)
That's why I would like to be able to customizethe that specific timeout. Is it possible?
The condition: Ticket: Is: Updated, will fire only when an existing ticket is modified and submitted, as described in our documentation here: Trigger conditions and actions reference.
If you have a specific case where you struggle to understand/set up - I'll be happy to create a ticket in our Support for you. So we can investigate and help you further.
Hope this helps!
I understand how the Ticket is Updated trigger works, as I've been testing it for a couple of months now.
When a user sends an email, then a ticket is created and the Ticket is Created trigger is fired. When they reply to that email, everytime they do so, the Ticket is Updated trigger is fired. That's what we want.
But when the user instead sends the same message from the Zendesk Messenger, then logic goes out of the window. The ticket is not created when the user sends their first message, but when they fill their information in the widget and send it. That's not that bad. But when they send another message through the same chat, then the trigger is not fired. That's bad. If the support agent replies to those messages, then the trigger is not fired. If nobody does anything for 10 minutes, then the trigger is fired. If the support agent changes the ticket status, then the trigger is fired. If the support agent send a message when the ticket is on-hold or pending, then the trigger is fired. But when a user sends a message the ticket is on-hold or pending, the ticket automatically changes state to open and the triggeris not fired.
I would like for this speciffic trigger to work just like it does on Email, but I've been told that, because Zendesk Messenger uses the same backbone as Chat, then this isn't possible, because on Chat, a trigger is Updated when the session ends. Everything that happens during that session isn't considered a ticket Update, and it isn't possible to view the user's messages until the session is ended or timeouts.
That's why I'm asking about being able to change the timeout. Because I need to be able to get the first messages the user sent when they started the conversation in order to route the ticket, but if I have to wait at least 10 minutes for the ticket to timeout in order to get that first message, then we will start to make our users angry. So being able to reduce that timeout from 10 minutes to 1 minute, or 10 seconds would be a gamechanger.
I will create a ticket for you in our Support to clarify and bring samples if necessary to understand better.
Firstly we are a new ZD user. Going live soon., so excuse the lack of knowledge :-)
We have a flow that ends with telling the customer he is being transferred to an agent. What happens if no agents reply. When does the customer understand he won't be talking to an agent??? How long does he sit and watch the screen before he knows it will only be logged as a ticket only????
A timeout would be awesome. A scenario where, say after 2 minutes, a message tells the customer there are no agents and to close the chat and wait for a call back.
Any ideas as all I can see it being currently is the customer waiting indefinitely???
Hi Darren Blakemore
I'm new to Chats (long-time ZD user though) but the way to do this, as far as I see, is to use Chat Triggers. You can set up something like "if user is still on site but no agent has claimed the chat, then after X seconds, send them X message."
And, if all agents are "Away" or "Offline" you can even get this message to them immediately.
You are a legend, thank you. I will give the triggers a try and see how I get on.
We are struggling a lot of disconnected chats, particularly with phone users. Many a times and user has to navigate back and forth during the live chat to get some information and if the users takes say more than a minute, the chat gets disconnected automatically which is extremely frustrating to the users. The next time when a different agent connects, the history of the previous chat is also not preserved.
Can someone please let me know what is the best way to avoid such situations as we get tons of disconnections every day? Thanks
I see that you have raised a ticket related to frequent chat disconnection, kindly provide us the sample chats where you or your agents experienced this problem so we can determine what is causing the chats to disconnect. We'll wait for your update on the ticket and further investigate from there. Thank you!
I have a question how to set up a flow builder to trigger a message when all agents are offline? There is an option to include Business Hours condition, which is fine. But there can be a situation when the hours are open, yet no free agent is available at the moment. So the bot simply shows a message that the chat is being transferred to an agent without any warning, that no agents are available. So I want to know if it is possible to set a condition in Flow builder to check agents availability status?
Alexander M I would also like to know this, it would be a great benefit to our system too. Hoping you get an answer here
On my end, I have used the step Add a business hours condition on my Flow Builder and a Chat triggers that will fire if Account Status is Offline. The screenshot below will give you an overview of my setup.
Dane Hi ! Thanks for this - however we use Messaging rather than Chat so I believe a lot of the features in chat don't translate to Messaging and vice versa. I find it interesting that chat shortcuts still live in Chat settings, but work in Messaging.
Dane Looks like this option does not work with Messaging. I tried to set up this trigger but it still does not show up when no agent is online.
I'm using Messaging and Flow Builder for my widget. The chat trigger's channel si Messaging.
If I write a chat reply and the visitor leaves, the chat ends and the current draft is lost. Is it possible to keep the chat draft somehow? It takes much time to rewrite lost drafts again as agents are unable to predict when visitors will leave the chat.
I'm afraid it is not possible as of the moment. The chat session ends when the customer ends the chat, and this closes the chat composer as a channel of communication. (We don't store what was in the buffer at the time this happens). Chat is generally intended for shorter responses, but I definitely see how this can cause some headaches.
This doesn't happen with messaging (as the purpose of messaging is that a conversation could be both synchronous or aynchronous), but the transition to messaging is a big one and I wouldn't personally recommend it just to overcome this limitation.
I hope this answers your question. Thank you!
Please sign in to leave a comment.