Why are AI trigger branches misrouting my issues?
Last updated: June 5, 2026
Question
My trigger uses AI conditions across multiple If / Else If branches to categorize and route issues, but issues keep matching the wrong branch. Why does this happen, and how do I fix it?
Answer
Trigger branches are evaluated top to bottom, and the first branch whose condition matches wins. When the AI evaluates an earlier branch's condition, it does not know what the lower branches are. If an issue looks like a close enough match for an earlier branch, it matches there and the remaining branches are never checked, even if a lower branch would have been a better fit.
This is expected behavior. Each branch's AI condition is a standalone yes/no question, so the AI never compares all of your categories against each other.
Recommended setup: AI custom fields for categorization, triggers for routing
Create an AI-powered issue custom field (for example,
Category) under Settings > Issue Fields, with one option per category. When the AI sets the field, it considers all options together and picks the best fit instead of the first close-enough match.Use triggers that condition on the field's value to do the routing and workflow actions (assign a team, apply a tag, notify a channel).
Why AI custom fields work better for categorization
All options are evaluated together. The field picks the best match across every option, while trigger branches stop at the first match.
The AI's reasoning is visible. Click the 3-dot menu next to the field on an issue and select View value history to see why the AI chose that value. Trigger logs do not show the AI's reasoning for a matched condition, which makes branch-based categorization hard to debug and tune.
Fields update over the issue's lifecycle. AI custom fields re-evaluate as new messages come in, so the categorization can correct itself. A trigger branch match happens once.
Fields are set before triggers fire. On new issues, AI custom fields are evaluated before triggers run, so your routing triggers can rely on the field value from the very first run.
Key details
If you do keep AI conditions in trigger branches, put the most specific condition first since evaluation is top to bottom.
This also explains "false positive" matches: a generic earlier branch (for example, an ops request) can absorb issues that a more specific lower branch (for example, pentest scheduling) was meant to catch.