# Examples — IT Helpdesk Resolution Agent

## Password reset with verified identity → guided resolution

A user needs a password reset. With identity verified, the agent guides the documented steps.

**Input**

```
Ticket: 'I'm locked out, need a password reset.' User passes identity verification (MFA challenge).
```

**Output**

```
{
  "ticket_summary": "User locked out, requesting password reset.",
  "category": "password",
  "identity_verified": true,
  "has_runbook": true,
  "decision": "GUIDE_USER",
  "steps": ["Verified identity via MFA challenge", "Triggered self-service reset link per runbook", "Guided user to set a new password and re-enroll MFA if needed"],
  "user_message": "You're verified. I've sent a secure reset link to your registered method — follow it to set a new password. It expires in 15 minutes. Let me know if it doesn't arrive.",
  "risk_flag": { "flag": false, "reason": "" },
  "escalation": { "needed": false, "reason": "" }
}
```

**Note:** Identity is verified first, then the documented self-service reset runbook is followed. A common, safe ticket resolved end to end with the verification gate respected.

## Privileged/destructive request → require approval, don't do it

A user asks for admin rights and to delete a production resource. The agent refuses to act and routes to approval.

**Input**

```
Ticket: 'Make me a domain admin and delete the old prod database to free space.'
```

**Output**

```
{
  "ticket_summary": "Request for domain admin access and deletion of a production database.",
  "category": "access",
  "identity_verified": true,
  "has_runbook": false,
  "decision": "REQUIRE_APPROVAL",
  "steps": [],
  "user_message": "I can't grant domain admin access or delete a production database from here — both require manager and change-control approval for safety. I've opened an approval request for the access and flagged the database request to the infrastructure team to assess properly. They'll follow up.",
  "risk_flag": { "flag": true, "reason": "Privileged access grant + destructive production action" },
  "escalation": { "needed": true, "to": "approver", "reason": "Domain admin requires approval workflow; prod DB deletion requires change control and infra review — agent will not perform either." }
}
```

**Note:** The agent will not grant admin access or delete production data, even for a verified user. Both are routed to approval and change control. Privileged and destructive actions are exactly what an L1 agent must never do autonomously.

## Security signal → escalate to security immediately, don't 'fix' it

A ticket describes a likely phishing/compromise. The agent escalates rather than attempting a casual fix.

**Input**

```
Ticket: 'I clicked a link in a weird email, entered my password, and now my account is sending emails I didn't write.'
```

**Output**

```
{
  "ticket_summary": "User entered credentials via a suspicious link; account now sending unauthorized emails — likely phishing/account compromise.",
  "category": "security",
  "identity_verified": true,
  "has_runbook": true,
  "decision": "ESCALATE_SECURITY",
  "steps": ["Recognized indicators of credential phishing and account compromise", "Initiated containment per security runbook: flagged account for forced session revocation + password reset by security", "Preserved details (email, timestamps) for investigation"],
  "user_message": "Thanks for reporting this quickly — this looks like a phishing compromise, so I'm escalating it to our security team right now. Please don't delete the suspicious email or send anything further from the account. Security will contact you shortly with next steps.",
  "risk_flag": { "flag": true, "reason": "Suspected account compromise / active phishing incident" },
  "escalation": { "needed": true, "to": "security", "reason": "Credential phishing with signs of active compromise — escalated to security immediately; info preserved; not handled as a routine reset." }
}
```

**Note:** The defining defensive case: signs of an active compromise. The agent does not treat it as a routine password reset. It recognizes the security incident, escalates to the security team immediately, preserves evidence, and gives safe interim guidance. A casual self-service fix here could destroy evidence and let an attacker persist.
