Ticket Router
Build visual if/else routing rules that automatically execute when a ticket is created. Route tickets to different channels, auto-assign staff, apply tags, and more.
How It Works
The Ticket Router uses a flowchart-style editor powered by a drag-and-drop canvas. You connect three types of nodes to build routing logic:
- Trigger — the entry point (always "Ticket Created"). Every flow starts here.
- Condition — an if/else branch that checks a field (e.g., user roles, account age). Has a Yes and No output.
- Action — a terminal node that defines what happens (e.g., route to a channel, assign staff, add tags).
When a user opens a ticket, the bot walks the flow from the trigger through conditions until it reaches an action node, then applies those actions to the ticket.
Premium Limits
Free guilds can use the Ticket Router with up to 1 condition node. Premium guilds get unlimited condition nodes for complex routing logic.
Available Conditions
| Field | Operators | Description |
|---|---|---|
| User Roles | includes, excludes | Whether the user has a specific role |
| Join Age | less than, greater than | How many days ago the user joined the server |
| Account Age | less than, greater than | How old the Discord account is (in days) |
| Category | equals, not equals | Which ticket category was selected |
| Ticket Count | less than, greater than, equals | Number of previous tickets opened in this guild |
| Username | contains, matches | Pattern matching against the username |
| Has Boosted | equals | Whether the user is a server booster |
| Channel | equals, not equals | Which channel the ticket panel was in |
Available Actions
| Action | Description |
|---|---|
| Route Channel | Create the ticket thread in a different channel |
| Assign Staff | Auto-assign a staff member or role |
| Set Status | Set the initial ticket status (default is Open) |
| Add Tags | Automatically apply tags to the ticket |
| Send Message | Send a custom message in the ticket thread |
| Set Priority | Flag the ticket as High, Normal, or Low priority |
| Close Ticket | Immediately close the ticket (useful for spam filtering) |
| Default | Normal ticket creation flow with no overrides |
Using the Editor
The router editor is a drag-and-drop canvas. To build a flow:
- Add nodes from the left palette — drag a Condition or Action node onto the canvas.
- Connect nodes by dragging from a handle (small circle) on one node to a handle on another.
- Configure nodes by clicking them to open the settings panel where you set the field, operator, value, or action type.
- Validate — the validation bar at the bottom shows any errors (disconnected nodes, missing paths, etc.). Save is disabled until all errors are resolved.
- Save — click Save to persist your flow. Toggle the Enabled switch to activate or deactivate the router.
Tips
- Every path from the trigger must end at an action node.
- Condition nodes need both Yes and No connections.
- Chain conditions by connecting a No output to another condition for if/else-if logic.
- Use the "Default" action as a catch-all at the end of your No branches.
Example Flow
A common setup for VIP routing:
Ticket Created
└─ Has Role "VIP"?
├─ Yes → Route to #vip-support, Assign @VIP-Team, Set Priority High
└─ No → Default (normal ticket flow)