Round robin ticket assignment
By Michael Stone of BetterCloud and Bill French of iPad CTO
Overview
We worked with Bill French of iPad CTO to develop this Zendesk Round Robin Ticket Assignment application. This application was made using Google Apps Script and is built entirely in Google Docs. You can run this script as long as you have an active Gmail or Google Apps account.
This script is run off of a simple spreadsheet (linked below) which is used to manage your support team and the tickets that will be assigned to them. Assignments are made based on tags. We recommend you use Triggers to have a tag automatically applied to each ticket as it is submitted.
CLICK HERE TO CREATE A ZENDESK ROUND ROBIN APP
Steps
After you download the Round Robin app, follow these steps.
Create a trigger
Create a Trigger based on your criteria to add a Tag when the ticket is created.
This app will assign your tickets out based on this tag. It is very important that this Tag matches the tag placed in the Notes field of your column headers.
Set up the apps script
On the spreadsheet, navigate to: Tools > Script Editor.
- Set the [Spreadsheet ID] value in Line 10 to the ID of your spreadsheet.
This can be found in the URL of your spreadsheet after ‘http://…...spreadsheet/ccc?key=’ and before the ‘&’
CommunityTip - Google spreadsheets have a new URL format. There isn't any ampersand (&) symbol in the Google Docs / now Google Drive URL. Instead, just grab the info after https://docs.google.com/spreadsheet/ccc?key= and before #gid=0 (see attached screenshot - I obscured my spreadsheet ID).
- Set the [subdomain] value in Line 23 to your Zendesk subdomain.
For example if your Zendesk domain is: subdomain.zendesk.com, the value here would be: subdomain.
- Set the [username] value in Line 24 to your Zendesk username.
For example: mike@bettercloud.com
- Set the [Zendesk API KEY] value in Line 25 to your current Zendesk API Key.
This can be found by clicking the Manage icon then selecting Channels > API.
Community Tip - Save the API setting! If you don't already have Token Access enabled in Manage > Channels > API, you need to check that box AND CLICK THE SAVE BUTTON. I checked the box, copied the API token and went on my merry way only to find out that nothing was happening... until I went back and double-checked everything and figured out that I hadn't clicked the save button on that settings page. Also note that Zendesk issues a new API token if and when you enable it for the second time.
Set up automatic updates
To automate the process of assigning tickets in a timely fashion, you must use a trigger in Google Docs to run the makeAssignment() function every five minutes or perhaps at intervals suitable to the flow of the tickets being received.
- Select the Tools | Script Editor... from the sheet, and then select Resources | Current project’s triggers
- Run: makeAssignments Events: Time-driven: minutes timer > Every minute
Sample use case
We currently have four different Forms that End-Users can submit tickets under: Question, Problem, Account Inquiry and Other. We have set-up a Trigger that applies the tags ‘form_question’, ‘form_problem’, ‘form_account’, and ‘form_other’ when a ticket is submitted. Any users with an ‘x’ next to their name will be assigned the next ticket that comes in with that tag (as long as they are next in the queue).
You can use this script with other tags as well, it does not need to be used with Forms in particular. However, these tags must be applied to the ticket once it is created in order for the script to run properly.
Community Revisions
11/29/17
Rob Baker was kind enough to share his version of the Zendesk Round Robin Script titled 'Zendesk Roulette'. Here is a list of the new features and a link to the updated script:
* Added Properties so that each function could be called independently | |
* Added a main function so script can be manually run | |
* Added search filter changes to limit results to only tags of interest and oldest tickets first | |
to avoid hitting script processing time limits | |
* Limited assignment to a maximum of 10 tickets per pass to avoid the entire queue from being assigned at once | |
* Fixed an issue where the last agent assigned would continue to be pushed tickets if there were no active agents | |
including the previously assigned agent | |
Variables that need to be populated prior to use | |
* [YourSheetID] | |
* [YourSubDomain] | |
* [YourUserName] | |
* [YourToken] | |
* [YourTags] https://github.com/grnhse/zdr/blob/master/zendeskMakeAssignments.gs |
-
Hi Support, we are forced to stop using the round robin app as it is not GDPR compliant. My question is if there is some similar app (i tried to find some but without success) or if we can use the google script for the exact same purpose as the app? Many thanks
Jiri
-
Hi Jiri,
What makes this non GDPR compliant?
-
Hi Jiri!
I'd like to echo Christopher's question. Can you please go into some detail about what is causing your concern with this app?
-
Please see https://roundrobin.zendesk.com/hc/en-us/articles/115002537125-Security-and-privacy for details
It says:
Is Round Robin compliant with EU General Data Protection Regulation (GDPR)?
No. So you need check your data processed by Round Robin for personal data of EU data subjects and stop use Round Robin to process such kind of data after May 25 2018.
-
Thanks for the link, Jiri!
Unfortunately I don't know of any other existing apps or workarounds for this. I'm afraid you'll need to come up with a custom solution.
-
I'm having an issue getting this one to run. Anyone I can reach out to for help?
-
Hey Jack,
I'll be glad to help you.
Please contact me at support@roundrobin.zendesk.com
-
thanks it was actually for the google docs script that I needed help
-
What if you only have 1 (The default) form? I always get invalid form type..
-
Hi Tim!
Can you provide more information about when and where this error is appearing? The more detail you can provide, the more likely someone will be able to help you find the solution to your issue. Feel free to use screenshots!
-
I keep getting an email that there are failures from Google for the script
that is used by the document Zendesk Round-Robin Setup.Error Message Count
SSL Error https://reachhealth.zendesk./api/v2/search.json?query=type:ticket%20status:new%20assignee:none (line 160, file "zendeskMakeAssignments") 288I see that the assignments are still happening. What could be causing this error? -
Hey Kristen - Looks like the script is dying on this function:
function seekOpenTickets(subdomain, userName, token)
{
token = userName + "/token:" + token;
var encode = Utilities.base64Encode(token);
var options =
{
"method" : "get",
"headers" :
{
"Content-type":"application/xml",
"Authorization": "Basic " + encode
}
};
var result = UrlFetchApp.fetch("https://" + subdomain + ".zendesk.com/api/v2/search.json?query=type:ticket status:new assignee:none", options);
return(result);From that, and the SSL Error message, I'm guessing there's an issue with your authentication. Did you setup the API Key and username on lines 24/25 of the script? Make sure there's no extra spaces or characters, in case they're not stripped out.
-
Is this app still available? I am getting 'You're not authorized to view this page' when I click the link:
https://support.zendesk.com/hc/en-us/community/posts/203421946-Round-Robin-assignment -
That link might have broken because Zendesk's community/helpdesk pages have moved around a bit, not sure if that's why.
But the Round Robin app is available on the Marketplace:
https://www.zendesk.com/apps/support/round-robin/?source=app_directory
-
Apologies regarding the broken link; that thread had been inactive for over 2 years so it was archived.
Thanks for sharing the link to the app, Heather!
-
We recently added round robin for Playlist Ticket Assignment to evenly distribute tickets to agents.
Check out the demo
Features
- Assignment runs every 1 minute
- Use round robin or load-balanced routing
- Prioritize queues
- Sound notifications
- Batch size
- Inbox limit
- Agent availability
- Team dashboard
- Reporting with Explore
- Automatic idle
- Built on AWS, uses Zendesk's design language
Update (May 19, 2020):
We've recently added the following features to reduce overhead:
- Rotate between group members
- Supervisors can filter for their team
- Bulk update agent statuses
Try it out for free at https://myplaylist.io
-
This post goes back 7 years for a native round-robin feature request. Ideally, the idea would be to simply assign new tickets created to agents / groups etc which have not had a trigger or automation which automatically routes them to an agent specifically. So the condition would be that the trigger doesn't open the ticket in an agents name. Automations and triggers can still apply to new tickets - but if they are sitting there in a new state, the idea would be the feature automatically assigns tickets to the agents in the pool.
I've posted this here: https://support.zendesk.com/hc/en-us/community/posts/209524427/comments/360011603153 and I think this has been mentioned in other posts.
Just to give everyone some of the reasons why we need this. Explore reporting has a First Reply time KPI - but this is based on when you first reply to the ticket. Now we can have agents working on the most recent, and some on the older tickets which will likely have been skipped as they are more difficult to deal with. This doesn't help our agents learn the more difficult questions, so we need to simply nudge them to take on these types of questions.
Secondly we get on average 300 tickets a day about various questions incidents, tasks or more. We'd need to employ just one person to sit there and click on a ticket to assign it to someone. We also have agents in different timezones, so equally it would be great to have the feature automatically pick up which timezone the request came from and assign it to those agents specifically as they can get more done replying to someone who is awake vs those still sleeping away.
If anyone already has a great process of doing this manually, it be great to know how you've set this up.
-
Coming from Service Cloud I was initially frustrated by this lack of functionality in Zendesk - it seemed like table stakes for a support platform. I grudgingly implemented the Round Robin app. It is actually pretty cheap and works very very well, probably more so than any native functionality would, had ZD actually built it.
-
Hi all!
I can't make it work. Now I have transferred this trigger from the test account to our real account. It only works with one selective ticket, not all new ones, and it also works every 5-6 minutes, not every minute.
In the test account, an absolutely identical document worked correctly. :( https://docs.google.com/spreadsheets/d/1F_qcJJi-N_sVYXZO-bl3UEOMJmCW-X4BTHVJysaxLUM/edit?usp=sharing
What I do wrong?
-
Hi everyone, we realize this is a big issue for a lot of our customers and this is something Zendesk is planning to solve for. We'll post our updates in the product feedback topic when we have more to share.
Iniciar sesión para dejar un comentario.
110 Comentarios