Important: This app is part of Zendesk Labs. Labs apps are experimental apps that are provided as-is, with no support.
The Out of Office app is a tool for managing the availability of an agent and ensuring that tickets assigned to unavailable agents are properly handled if updated by a customer.
The app is available on Zendesk Labs. Click Admin () in your Zendesk, then select Apps > Marketplace. Click the link to Zendesk Labs in the sidebar on the right side.
This article covers the following topics to help you install, use, and extend the app.
- Overview
- What's installed with the app
- Changing the settings
- Using the app
- Understanding the 'agent_ooo' tag
- Known limitations
- Extending the app
Overview
The Out of Office app displays the current out-of-office status of the agent on tickets assigned to the agent.
The app displays a list of all agents along with who is out-of-office or not.
The app prevents tickets from being accidentally assigned to an agent who is OOO. When the prevention happens there's also a pop-up notification displayed to the agent making the attempt which looks like the following:
Exception:If a ticket is being assigned by thecurrent agent to themselves while they are OOO - that will be allowed. Reason being is it is assumed the current agent that's OOO and assigning themselves a ticket knows they are OOO but just in case, the following warning will be displayed after the ticket is saved:
Now say an agent attempts to update a ticket where they're not the current assignee and the current assignee happens to be OOO. In this case the agents updating tickets where the current assignee is OOO will be able to update the tickets but the following warning notification will be displayed so they're made aware of the current assignee's OOO status:
Pending & On-Hold tickets assigned to an OOO agent which get updated with a status change to Open are reassigned to the respective ticket's parent group but the assignee field becomes empty. Status changes from Pending or On-Hold will happen, for example, when an end-user replies to an email notification.
What's installed with the app
The app automatically creates the following items in your Zendesk when it's installed:
- a user field that applies an agent_ooo tag to users marked as unavailable
- a trigger to handle the unassign action on a ticket based on the agent_ooo tag
- a trigger to remove the agent_ooo tag from a ticket when it's assigned to a different agent
The items are required for the app to work. Don't delete or modify them.
Changing the settings
You can modify the default behavior of the app by changing the app settings outlined in this section. To change app settings, click Admin () in your Zendesk, then select Apps > Manage. Click the gear icon on the right side of the Out of Office app and select Change Settings.
Setting: Confirm status change?
Disabling this option makes changing an agent's status a seamless process by disabling the confirmation message. As a side effect, it will no longer be possible to decide on a case-by-case basis whether or not to unassign an agent's open tickets when marking them as unavailable.
Setting: Force unassign tickets?
Enabling this setting unassigns an agent's open tickets automatically whenever their status is changed to unavailable. This option is disabled by default, allowing the unassign action to be run on a case-by-case basis.
Setting: Prevent assignment?
Disabling this option allows tickets to be saved if they're assigned to an agent who's unavailable. Warnings will still be displayed that the assignee is unavailable, and agents will always be able to assign tickets to themselves regardless of their status.
Using the app
Agent status can be modified using the app in the ticket sidebar (shown below) or user profile.
Administrators can also modify agent status from the app dashboard accessed from the navbar on the left side of the agent interface.
Clicking on the status toggle displays a dialog box that lets you change an agent's status. Changing the status either adds or removes a tag on Pending/On-Hold/Solved tickets as well as optionally all Open tickets. See Understanding the 'agent_ooo' tag below.
When a Pending/On-Hold ticket is reopened by an end user and the assignee is unavailable, a trigger fires that returns that ticket to the group unassigned queue. You can add a trigger to send a notification to the parent group to let everybody know a requester just updated a ticket assigned to an OOO agent that's now in the parent group. See Extending the app below.
The app checks the status of the assignee each time a ticket is saved. If the assignee is out-of-office, the app warns the updater that the assignee is unavailable. If the Prevent assignment? setting is enabled, it also prevents tickets from being saved if the new assignee is unavailable.
Understanding the 'agent_ooo' tag
Changing the out-of-office status either adds or removes an agent_ooo tag on tickets based on the following rules.
- When the agent marks his or herself as unavailable, the agent_ooo tag is added to the agent's user profile in the Agent Out? user field
- When the agent changes their status to unavailable, the tag is added to all Pending/On-Hold/Solved tickets. When the agent changes their status to available, the tag is removed from all Pending/On-Hold/Solved tickets.
- Any Open tickets with the tag are unassigned on update
- If the ticket assignee is changed, then the tag is removed
- If the tag is removed from a ticket, no other tags are removed
Known limitations
- If the Prevent assignment? setting is disabled and a ticket is assigned from one unavailable agent to another unavailable agent, the agent_ooo tag will be lost. This means that the ticket will not be unassigned if it is reopened
- Agents are able to assign a ticket to a group with only one agent even if the sole agent in that group is unavailable
- The message 'Error: Unable to get list of agents' will be displayed for users if their role has the 'Cannot browse or search for users' permission set
- Agents without administrator rights can't change their status using the app dashboard in the navbar on the left side of the agent interface. They can still change their status from their profile or from one of their assigned tickets
- The agent_ooo tag is added to solved tickets. If the ticket is closed while the tag is applied, the tag will not be removable. This may be undesirable for reporting purposes. If so, the system automation that closes solved tickets can be modified to remove the agent_ooo tag
- Intermittently when marking an agent as OOO and un-assigning all open tickets only some of the tickets will actually get unassigned
- When a ticket assigned to an OOO agent gets updated the ticket gets assigned back to the parent group with a null Assignee value - the trigger working in the background during this action does not currently send an email notification to the agents in the group notifying them this happened
- The app will not prevent assigning tickets unless the ticket is updated individually through the Zendesk interface. Triggers, the Mail API, and REST API, and bulk editing will all be able to bypass the assignment restrictions
Extending the Out of Office app
Customizing the app is not recommended unless you're an experienced Zendesk administrator. If you modify the generated triggers, you may cause the app to behave unexpectedly or to completely fail.
As well, future versions of the app may change how the tags and triggers behave, which could break any modifications you make. If you end up customizing this app, make sure you take this into account to avoid a bumpy ride.
Notify the group on an updated ticket with an out-of-office assignee
Notify the ticket's parent group that a given out-of-office assignee had their ticket updated. This sends a notification to all in the given ticket's parent group that the ticket is still assigned to that group but there's no longer an assignee.
An additional action can be added to add a custom tag every time a ticket is unassigned by that trigger.
At this point business rules may be created around this new tag. For example, you might use this new tag to notify the group that a ticket has been assigned back to it by the app.
Leaving tickets assigned to users
You can modify the unassign trigger to only tag tickets as reopens, and then customize your own actions on updates to tickets where the agent is unavailable. To do this, add "Ticket: Status - Changed" as an "all" condition to the trigger, and remove all actions except adding a tag such as "reopen_agent_ooo". You can then perform your own business logic, with the app managing which tickets have the agent_ooo tag applied and with reopened ticket getting the reopen_agent_ooo tag applied.
Features on the Roadmap
- Custom OOO messages for agents
- Scheduling
- Display of whether or not an agent is on/offline & ability for Admins to set agent online/offline
- i81n
If there is a feature you don't see here that you want - please leave your feedback in the comments on this document, thanks!
107 Comments
Jessie,
Thank you for the reply. I got frustrated at the seemingly inconsistent actions of the app and removed it. I'm just using individual OOO rules like this that we will turn on and off as needed. It will work for us. If I feel that I need more functionality I'll look at the app again. I'll check out that link though, maybe it will change my mind.
Hi Marc!
I'm glad you were able to find something that will work for you. Let us know if you need anything else after you read through that link!
Are there any plans to exclude light agents from the list? All employees here are light agents so we have a few hundred in the list which makes using the app impossible.
I'm really keen to have a better OOF solution than the method we use today.
Hey Lester -
The OOO app is slated to be shifted from being a Zendesk Labs app to an official one, which is great news, because that means it'll have an official product manager, roadmap, etc.
I talked to the PM who will be responsible for this app, and he said that while this exact functionality isn't in the immediate roadmap, it is something he thinks is a good idea and he's putting it in the backlog for the next round of roadmap planning. That means this is likely many months out, but because of your feedback it's now on the to-do list. Thanks for your input!
I'm just wondering if this app can be configured to only tag 'reopened' tickets that need to be tagged? I would imagine that only OPEN tickets need to consider whether an agent is out of office. If it's solved, it's nobody's problem. Or is that impossible? Currently, when a few people are marked out of office for a given day, all their solved tickets that are not archived (usually a few hundred if not more) are 'updated' via the agent_out_of_office_tag. Which isn't a problem, except we dump some Zendesk events into our data warehouse via API, and this app logic (which maybe we should reconfigure) almost doubles or triples the amount of total ticket updates to be recorded. The average number of events a ticket undergoes is significantly higher with the 'mass tagging' Out of Office app ...
Hey Chris,
Apologies for the late response!
Whenever an agent's status switches to out of office, all of their tickets are updated with the tag:
This cannot be reconfigured to only include tickets of a certain status, I'm afraid. The update is system wide for the given user, and that doesn't seem to be adjustable on a ticket level. I can definitely appreciate wanting less event activity on a given ticket, but you won't be able to achieve this through modifying the app's functionality, as it's not possible.
I wish I had better news on this one. Hopefully that clarifies things, though!
Hello,
I've tried to use the app but it doesn't seem to be working ! I don't get a notification message when trying to assign a ticket to a unavailable agent...I've followed the instructions of the article though !
Do you know if something is wrong ?
Thanks !
Hey Morane,
I am going to spin up a ticket with you to see what we can do to help with this.
You should be getting an email from me shortly.
We have some TASK type tickets that are not time-sensitive. Is it possible to have certain tickets, such as those with PRIORITY=LOW, to assign to agent?
Hi Luke!
You should be able to set up a trigger to do this.
Hi there,
I've been using this app for years and it's great! However, lately our agents are coming in from their weekends, are set as unavailable and still have a whole slew of tickets. It doesn't seem to be everybody, but I can't seem to get it to work properly.
It looks like the OOO tag is being added to the agent profile but not to the tickets themselves. I've tried uninstalling the app completely and reinstalling and still no luck.
Any ideas?
Hi Eric!
Thanks for your comment.
When an agent is set to OOO, all of their tickets receive a tag. They can, however, still get ticket assignments: for instance, they can assign a ticket to themselves. They should not, on the other hand, have tickets assigned to them by another agent while they are set to unavailable, as this won't save in the system.
Additionally, if another agent updates the ticket while the assignee were OOO, that would be allowed. But if the ticket then gets updated back to open from pending or on hold, it will get reassigned to the agent's group without an assignee value.
However, two other scenarios could occur, depending how you have your settings configured:
If force unassign is off, the agent could have went unavailable with open tickets still in their queue. If prevent assignment was disabled, then a ticket could be successfully assigned to someone who's unavailable.
If you believe you have ticket examples that do not follow this, feel free to submit a ticket to support@zendesk.com and an advocate will have a look at your examples.
I hope this proves helpful!
Thanks for the suggestions, Joe. Unfortunately, the settings were the first thing I checked and everything has been enabled. This happens all the time with various agents.
I've reached out to Zendesk support already and they turned me away saying it was a labs app and they can't support it. So at this point, I'm kind of at a loss.
Eric, maybe it's this?
https://www.zendesk.com/apps/support/out-of-office/?source=app_directory
We have a general 'support' email address that goes into Zendesk, and also a personal email address for each of our Agents (that their assigned customers can use). If an email is received to the personal email address, there is a trigger that automatically assigns that ticket to the relevant Agent. So, even if the Agent is OOO, those "trigger touched" tickets will be assigned to them.
We resolve this by creating a "OOO Agent" view, where we can see open tickets assigned to that OOO Agent. Then we manually reassign those tickets to the general queue so someone else can pick them up.
It's not great, but that's how we work around that issue.
Hi,
With the announcement that Zendesk Apps built on Framework V1 are being removed in Oct 2019, will there be an updated version of the app released?
The notification has a list of planned migrations linked:
https://support.zendesk.com/hc/en-us/articles/360002123147
@David thanks for sharing the link!
@ John looks like migrating the Out of Office app to v2 is planned :)
Please sign in to leave a comment.