Template established in
intent_leave_request_info.md. This document: (1) defines the master taxonomy showing how all 6 intents relate as a system (2) covers intents 2–6 in compressed format — same structure, less prose
Six intents form a coherent system. Shared: SSO user context, language detection, confidence-based routing, knowledge grounding, handoff protocol. Differs: data requirements (static policy vs dynamic SF), user segment (employee / manager / system), and sensitivity (FAQ / transactional / grievance).
graph TB
User[User input] --> NLU[Intent classification + entity extraction]
NLU --> Crisis{Crisis keyword?}
Crisis -->|Yes| CP[Crisis protocol — immediate resource + on-call HR]
Crisis -->|No| Griev{Grievance keyword?}
Griev -->|Yes| HO[handoff_to_human — priority High]
Griev -->|No| Conf{Confidence ≥ 70%?}
Conf -->|No| Clarify[Clarifier max 2 attempts]
Clarify -->|Resolved| NLU
Clarify -->|2 failures| HO
Conf -->|Yes| Route{Route by intent}
Route --> I1[1. leave_request_info<br/>informational]
Route --> I2[2. leave_balance_check<br/>data-driven / SF-dependent]
Route --> I3[3. payslip_access<br/>instructional]
Route --> I4[4. benefits_policy<br/>knowledge-heavy]
Route --> I5[5. policy_lookup<br/>widest — catch-all]
Route --> I6[6. handoff_to_human<br/>meta / escalation]
I1 --> Ans[Answer + source citation]
I2 --> Ans
I3 --> Ans
I4 --> Ans
I5 --> Ans
I6 --> HO
Ans --> CSAT[CSAT prompt]
HO --> Package[Handoff to HR Teams with full context + priority flag]
What cross-referrals happen between intents (quick-reply suggestions).
| From / To | leave_req | leave_bal | payslip | benefits | policy | handoff |
|---|---|---|---|---|---|---|
| leave_req | — | ✓ | — | — | possible (sick leave) | on grievance |
| leave_bal | ✓ | — | — | — | — | on dispute |
| payslip | — | — | — | possible (benefits shown) | — | on amount dispute |
| benefits | possible (parental) | — | — | — | possible | on tax dispute |
| policy | possible (leave rules) | — | — | possible | — | on grievance |
| handoff | N/A | N/A | N/A | N/A | N/A | — |
When NLU evaluates utterance, matching attempted in this order. Prevents policy_lookup (widest intent) from shadowing specific intents.