Use Group Routing to distribute incoming tickets across multiple groups at a custom ratio. This is especially useful for teams working with outsourced support vendors (BPOs) — for example, sending 75% of tickets to Vendor A and 25% to Vendor B.
Availability: Available for teams with 15+ agents. Contact us to enable this feature.
How it works
When a new ticket is created:
- A Zendesk trigger calls the Playlist Group Routing webhook.
- The webhook tags the ticket sequentially —
playlist_group_1,playlist_group_2, and so on up toplaylist_group_N, then repeats from 1. - A second set of triggers reads the tag and assigns the ticket to the correct group.
You control how many tags map to each group. More tags means a larger share of traffic. The tags themselves are just a mechanism — you can use them to drive any Zendesk trigger logic you like.
Example: 75% / 25% split
With num_tags = 4, the webhook cycles through 4 tags. Assign 3 tags to Group A and 1 to Group B:
| Ticket ID | Tag applied | Assigned to |
|---|---|---|
| 1004 | playlist_group_1 | Group A |
| 1005 | playlist_group_2 | Group A |
| 1006 | playlist_group_3 | Group A |
| 1007 | playlist_group_4 | Group B |
| 1008 | playlist_group_1 | Group A |
| 1009 | playlist_group_2 | Group A |
| ... | ... | ... |
The sequence repeats every 4 tickets. Over a large volume, Group A receives ~75% and Group B ~25%.
Tip: Need finer control? Use a larger num_tags value. Set num_tags = 10 for 10% increments, or num_tags = 100 for 1% precision.
Setup
Step 1 — Create the webhook
Go to Admin Center → Apps and integrations → Webhooks → Actions → Create webhook.
Name (Required)
Playlist Group Routing Webhook
Endpoint URL
https://api.myplaylist.io/workflows/group_distribution/tickets/{{ticket.id}}/?api_key=<<YOUR_API_KEY>>
Request method
GET
Request format
Form encoded
Authentication
(*) None
( ) API key
( ) Basic authentication
( ) Bearer token
For your API key, see Generating your Playlist API Key.
Click Create, then Complete setup on the next page. If you see the prompt "If you leave, your webhook will not run because it's not connected to a trigger", click Leave without connecting. You'll connect it in the next step.
Step 2 — Create a trigger to call the webhook
Create a trigger that fires on every new ticket and calls the webhook.
Trigger name
Playlist Group Routing Trigger
Trigger category
(choose a category)
Conditions
──────────────────────────────────────
Meet ALL of the following conditions
Category Operator Value
[ Ticket > Ticket ] › [ Is ] › [ Created ]
Actions
──────────────────────────────────────
Category Value
[ Notify by: Active webhook ] › [ Playlist Group Routing Webhook ]
Endpoint
https://api.myplaylist.io/workflows/group_distribution/tickets/{{ticket.id}}/?api_key=***
Description
-
Method
GET
Key Value
────────────── ──────────────────
num_tags 4Set num_tags to match your target split. See the example above.
Step 3 — Create triggers to assign groups
Create one trigger per group. Each trigger checks which tag was applied and routes the ticket accordingly.
Trigger name
Assign to Group A (75%)
Trigger category
(choose a category)
Conditions
──────────────────────────────────────
Meet ALL of the following conditions
Category Operator Value
[ Ticket > Group ] › [ Is not ] › [ Group A ]
[ Ticket > Status ] › [ Less than ] › [ Pending ]
[ Ticket > Tags ] › [ Contains at least one of... ] › [ playlist_group_1,
playlist_group_2,
playlist_group_3 ]
Actions
──────────────────────────────────────
Category Value
[ Ticket > Group ] › [ Group A ]
[ Ticket > Remove tags ] › [ playlist_group_1, playlist_group_2,
playlist_group_3, playlist_group_4 ]Trigger name
Assign to Group B (25%)
Trigger category
(choose a category)
Conditions
──────────────────────────────────────
Meet ALL of the following conditions
Category Operator Value
[ Ticket > Group ] › [ Is not ] › [ Group B ]
[ Ticket > Status ] › [ Less than ] › [ Pending ]
[ Ticket > Tags ] › [ Contains at least one of... ] › [ playlist_group_4 ]
Actions
──────────────────────────────────────
Category Value
[ Ticket > Group ] › [ Group B ]
[ Ticket > Remove tags ] › [ playlist_group_1, playlist_group_2,
playlist_group_3, playlist_group_4 ]Removing the tags after assignment is optional but recommended — it keeps your ticket data clean and prevents triggers from re-firing.
Step 4 — Adding more groups or adjusting the ratio
- Change the split — Update which tags map to which group in your triggers.
-
Add a third group — Create another trigger and assign it a specific tag range. Update
num_tagsto match. -
Finer percentages — Increase
num_tagsfor more precision.