Round robin ticket assignment | Community
Skip to main content

Round robin ticket assignment

  • December 10, 2013
  • 111 replies
  • 0 views

Show first post

111 replies

  • January 6, 2016

Hi all,

We've just opened up a new beta for a feature we're calling Play-only Agents. This is not a round-robin assignment feature, but rather a way to indicate certain agents should only be able "Play" through views. The intention behind the feature is to help prevent cherry-picking of tickets, but also ensure certain agents are working on tickets in the correct order.

If you're interested in learning more and participating in the beta, please sign up here: goto.zendesk.com/playagentsbeta

Best,
Erin


  • January 21, 2016

Hello fellow Zendesk and Round-Robin enthusiasts!

Strangely I cannot add additional columns to my existing Round Robin app to assign based on a new tag.  Despite leaving the default of checking the first 12 columns.  

And after hving so much trouble with the functioning app I created got the template fresh from the link in this thread's originating post and when I get that new one going (and I've done it three times now) it seems to get stuck after looking at 100 tickets (per the Assignment log).  I've been studying the script in the script editor. Besides what I've already tried, I'm not sure where to start - I'm really stuck!


  • January 26, 2016

Hi team,

We're still having trouble with our Round-Robin.  I have the job running every 5 minutes and I notice only 1 or two tickets get added to the assignment log for each time it runs. 

When I take a fresh stab at setting up the app/script I manually run MakeAssignments, but when I do so it only ever looks at 100 tickets (per assignment log).  Perhaps the problem I am facing is that the app is not looking at older tickets that still need to be assigned.  I cannot run the getOpenTickets or seekOpenTickets manually, both give me errors about authentication (hardcoding our Zendesk subdomain in line 137 just through a diff error that I am not equip to address), although clearly some tickets are getting found for the MakeAssignments part to have successfully run through 100 tickets when I manually ran it.

Lastly, I'll mention that: all the assignment log entries after the first 100 have nothing in the "Action Taken "column whereas the first 100 have "Not Valid form type". - in case this is telling of something.

If anyone has some ideas in regards to this, please let me know - we're really eager to have this working for our team! Thanks so much!


  • Author
  • January 28, 2016

Hey Amanda,

I apologize for the delay in response -- can you please email me directly (mike@bettercloud.com)? I'm happy to look into this with you.

Mike


  • February 29, 2016

This works beautifully for us. I just started a trial Zendesk account today and this was one of the first features I investigated. I was a bit confused that the Queue column in the spreadsheet is not for me to update and the other headings have to be lowercase (it seems), but this works quite nicely, thank you! :)


AJ65
  • March 2, 2016

Hi we just set this up and it's pulling tickets properly in the log, however it's saying under Action Taken column: "Not Valid Form Type" and then never assigns the ticket.

Any ideas? Thanks!


  • Author
  • March 8, 2016

Hey Aj,

Can you please confirm you do not have any extra spaces in the headers where you put your form tags? Feel free to shoot me an email at: mike@bettercloud.com . I'm happy to help you troubleshoot further.


  • March 22, 2016

Just wanted to say thanks for making this, fantastic work!

I modified it a little so it works off week days instead of tags and now its a roster driven ticket assignment system.

 


  • April 6, 2016

Hello Michael,

 

I want to let you know that I've been using your round robin sheet/script combo and am in love with it as a free alternative!

 

My only point of contention is that the queue column consistently wipes out all but one 'x' leaving a single agent active. There doesn't seem to be any rhyme or reason to it either, it will sometimes stay populated for hours and, at other times, only minutes. I feel like this must be operator error since I haven't seen it reported by any other Users.

 

Do you have any idea what might be happening?


  • April 6, 2016

Hey Michael,

 

As I understand it (or atleast how I've been using it) is "Queue" marks the last agent to be assigned something. The next assignment will go to the user after the user marked with X in "Queue" and once assigned will move the X to that agent.

Active agents should be determined by the fields after "Queue"

Hope this helps


  • November 8, 2016

Hi

 

Our round robin has stopped working it's giving the below error, I am unsure how to resolve this so now our calls are not assigning correctly.

 

  • Method Range.getComment is deprecated.ExpandFile: zendeskMakeAssignments Line: 278
  • Method Range.getComments is deprecated.ExpandFile: zendeskMakeAssignments Line: 286

  • Author
  • November 8, 2016

Hey Nadia,

Feel free to send me an email: mike@bettercloud.com I'm happy to take a quick look.

Based on those errors, Apps Script is saying the method we are trying to use is deprecated. However. if this was the case, I think everyone would likely be experiencing the same issue. 

Mike


Running into this problem...

Execution failed: Cannot find method getRange(number,number,number,(class)). (line 286, file "zendeskMakeAssignments")

And here's what I have at line 286:

 // get dyanamic range into array
var aFormTypes = agentSheet.getRange(1, 5, 1, dynamicRangeMax).getComments();

I'm not sure what's incorrect, and help would be much appreciated! :)


  • Author
  • December 5, 2016

Hey Elizabeth,

Sorry to hear you ran into this issue. Shoot me an email: mike@bettercloud.com I'm happy to take a quick look.

Right off the bat, is it possible 'agentSheet' was renamed or redefined in your script?

Mike


  • December 13, 2016

@michael, looks like the URL format for the spreadsheet may have changed again. Can you confirm what information I need to be putting in line 10? I've tried all kindsa combos, no dice.

Thanks!


  • February 3, 2017

@

 

 


  • February 21, 2017

I might be missing something, but I don't see where you are getting the values for your agents User IDs. Am I able to add their login ID (email address) here? Or, is there somewhere I should gather an Agent ID number?


  • March 1, 2017

Hey Issac!

You can find the user ID in the URL for each individual user profile: 

If you're on the Professional or Enterprise plan you can do a user data export, which includes the user id as well.

If you have a lot of agents, and you're not on Professional or higher, your other option is to export the info using our API.


  • June 16, 2017

Hi Michael , 

I added more columns to the script to add more forms and here is the error i am getting.

your insight is highly appreciated .Thanks a lot


  • July 20, 2017

@Michael, I have been using this script, and it is awesome! Thank you for providing it.

I am running into 2 issues with it though:

First, I have an 'rr' tag setup for new tickets that come in during business hours. For some reason, zen desk doesn't always respect my business hours rule added to the trigger. ZD tags it anyway and then the ticket gets assigned by the auto assigner.

To get around this, at the end of the day, I turn the trigger off so tickets are not tagged. But still sometimes the app assigns a ticket that hasn't been tagged. The only way I have found to stop it completely is to temporarily put the google document in the trash.

Has anyone else run into this? Or, is there a better way to only have it assign tickets during certain times of day?


  • July 21, 2017

Hey Isaac,

I had this same problem as well. I was able to solve this by setting the last line under a legit agent (so blank name, User ID etc) to "YES" and put the queue X on this line. Seems to work like a charm, so far. No need to trash the doc.

 


Jennifer16

That's great, Eva. Thanks for sharing your solution!

Let us know if that does the trick Isaac.


  • October 12, 2017

Michael, this is quite possibly the coolest thing I have come across so far on the Community to date.  This is perfect for our use case to round robin assign aging tickets in our Unassigned queue.  I made a number of changes to the script to compensate for this use case as well as stuffing the global vars in Properties so each function could be called independently.  Finally, I changed the scope of the search to only look for tickets with tags of interest and limit the number that can be assigned to 10 per pass to avoid a situation where a huge number of tickets could be auto-assigned all at once and when only a small number of agents are active.  This saved a TON of effort writing a full blown we app and front-end to get us out of a tight spot operationally.  Thanks so much for sharing with the Community!

 

 

 


  • Author
  • November 29, 2017

Hey all, 

Rob Baker was kind enough to share his version of the Zendesk Round Robin Script titled 'Zendesk Roulette (ZDR)'. 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

 

Let me (or Rob) know if you have any questions.

-Mike


Jennifer16
  • November 29, 2017

Wow, that's awesome. Thanks for the update Mike and Rob! 

Mike, thanks for adding info about the update to the body of the post as well!

This tip is such an oldie but a goodie. Glad to see it's still so popular and useful to the community!