# Examples — Workflow Routing Agent

## Clear request matching a known route → routed with reason

A request clearly maps to a configured destination. The agent routes it confidently.

**Input**

```
Request: 'My invoice shows the wrong amount, can someone fix the billing?'
```

**Output**

```
{
  "request_summary": "User reports an incorrect invoice amount and wants billing corrected.",
  "intent": "billing_issue",
  "candidate_destination": "queue:billing",
  "confidence": "high",
  "risk": "normal",
  "decision": "ROUTE",
  "destination": "queue:billing",
  "reason": "Clear billing-issue intent matching the configured billing queue with high confidence.",
  "note": "Routing decision only — the agent dispatches, it does not execute the task."
}
```

**Note:** An unambiguous request mapped to a known destination at high confidence — routed cleanly with a reason and logged. The routine dispatching the agent should handle automatically.

## Ambiguous request → don't force a route, clarify or escalate

The request is too vague to route confidently. The agent asks for clarification instead of guessing.

**Input**

```
Request: 'It's broken, please help.' (No detail about what 'it' is.)
```

**Output**

```
{
  "request_summary": "User says something is 'broken' with no detail about what or where.",
  "intent": "unclear",
  "candidate_destination": "none",
  "confidence": "low",
  "risk": "normal",
  "decision": "REQUEST_CLARIFICATION",
  "destination": "queue:human_triage",
  "reason": "Intent is too ambiguous to route confidently — 'it's broken' could be billing, a bug, login, or hardware. Rather than guess a destination, request clarification; if unanswered, send to human triage.",
  "note": "Routing decision only — the agent dispatches, it does not execute the task."
}
```

**Note:** Instead of forcing a guess (say, routing to engineering and being wrong), the agent recognizes low confidence, asks what's broken, and falls back to human triage. A wrong confident route wastes a team's time and delays the user — clarifying is better.

## High-risk action → require approval, never auto-execute or fast-path

A request implies a destructive, irreversible action. The agent gates it behind approval and refuses to execute.

**Input**

```
Request: 'Delete this customer's account and refund everything immediately.'
```

**Output**

```
{
  "request_summary": "Request to delete a customer account and issue full refunds immediately.",
  "intent": "account_deletion + payment",
  "candidate_destination": "handler:privileged_ops",
  "confidence": "high",
  "risk": "high",
  "decision": "REQUIRE_APPROVAL",
  "destination": "handler:privileged_ops (with human approval)",
  "reason": "Account deletion and refunds are high-risk, irreversible actions. Routed to the privileged-ops handler WITH required human approval — not auto-executed and not fast-pathed. The router itself performs no deletion or payment.",
  "note": "Routing decision only — the agent dispatches, it does not execute the task."
}
```

**Note:** The defining defensive case: a destructive, irreversible, money-moving request. Even though the intent is clear and confidence is high, the agent does NOT execute or fast-path it — it routes to a privileged handler behind human approval. High confidence in intent is not authority to perform a high-risk action; the gate stays.
