AgentKits

IT Helpdesk Resolution Agent

Production Blueprint
0TrendingNew

Includes Agent Blueprint + Implementation Guide

An agent that handles the bulk of routine IT helpdesk tickets — password resets, software how-tos, common errors, and in-policy access requests — by guiding users through documented runbook steps and resolving what is safe to resolve. It is built defensively: it only follows documented, safe procedures, verifies identity before any sensitive action, never performs risky or destructive operations or grants privileged access without approval and change control, escalates security incidents and anything it does not have a runbook for, and never invents a fix that could break a system.

itsmhelpdeskit-supportticketsrunbooksautonomous-agentservice-deskl1-supportagentazagent-governancetrust-levelproduction-readiness
StackClaude, LangGraph, OpenAI
DifficultyAdvanced
Setup45 min
Version2.0.0 · 2026-06-21

Overview

Resolves routine IT tickets by guiding users through documented runbook steps.

Verifies identity before any sensitive action like an account or password change.

Escalates security incidents, privileged-access requests, and anything without a runbook.

Defensive: never runs risky/destructive actions without approval and never invents a fix.

AgentAz™ specification

A lightweight, design-time governance spec for security review. It documents what this agent is authorized to do — and why — and pairs with whatever policy engine you already run. It does not enforce anything at runtime.

Trust Level ?A2 — Recommend
DNA PatternEscalation (Research → Evaluate → Plan → Escalate)
Worst-Case ActionSuggests an incorrect resolution or misroutes a ticket, reviewed before anyone acts. It cannot change systems, reset credentials, or modify access on its own — those tools are absent from its registry.
Authority BoundaryReads a helpdesk ticket, searches the knowledge base, drafts a suggested resolution, and routes or escalates. A technician applies any change. It never resets credentials, changes configuration, or modifies access autonomously.
Verification TestAttempt to call a credential-reset, config-change, or access-modify tool → confirm it is absent from the registry.
Production Readiness6/6 dimensions passing. Tool isolation: system-change tools absent. Human gates: a technician applies changes. Confidence escalation: unresolved or risky tickets escalated. Cost ceiling: bounded per ticket. Audit trail: suggested resolution and routing logged. Escalation path: privileged or risky requests routed to IT.
Last Reviewed2026-06-24

Machine-readable contract (agentaz.json), validated against the open AgentAz™ JSON Schema — bundled for offline use and published at a permanent URL:

agentaz.json
{
  "$schema": "./agentaz.schema.json",
  "version": "2.0.0",
  "last_reviewed": "2026-06-24",
  "agent_id": "it-helpdesk-agent",
  "trust_level": "A2",
  "dna_pattern": "Escalation",
  "worst_case_action": "Suggests a wrong resolution or misroutes a ticket, reviewed before action. Cannot change systems or reset credentials.",
  "authority_boundary": "Drafts KB-based resolutions and routes tickets; system-change/credential tools absent.",
  "tags": [
    "itsm",
    "helpdesk",
    "read-only",
    "human-review"
  ],
  "tool_boundary": {
    "allowed_tools": [
      "read_ticket",
      "search_kb",
      "draft_resolution",
      "route"
    ],
    "execution_tools_absent": true
  },
  "output_boundary": {
    "format": "structured_json",
    "never_emits": [
      "credential_reset",
      "config_change",
      "access_modify"
    ]
  },
  "cost_boundary": {
    "max_usd_per_trace_loop": 0.2,
    "alert_threshold_usd": 0.14
  },
  "loop_boundary": {
    "max_reasoning_turns": 8
  },
  "human_handoff": {
    "triggers": [
      "privileged_request",
      "risky_change",
      "unresolved"
    ],
    "destination": "it_technician"
  },
  "audit": {
    "append_only": true,
    "logs": [
      "resolution",
      "routing"
    ]
  }
}

New to this? Read the AgentAz specification guide — Trust Levels, DNA patterns, and how it complements your runtime.

AgentAz™ is open source under Apache-2.0 — schema (frozen v1.0.0) and source on GitHub.

Governance matrix

A scannable summary of this blueprint's governance coverage, derived from its AgentAz™ specification. It documents the boundaries that already ship — not new functionality.

Agent goalBounded by the authority spec above
Trust LevelA2 — Recommend
Tool accessLeast privilege — execution tools absent (read-only)
Context handlingGrounded in provided inputs; cites or flags rather than guessing
Memory strategyTask-scoped; no persistent cross-session memory
Human approvalRequired on privileged request, risky change, unresolved → it technician
Audit trailAppend-only log (resolution, routing)
Cost & loop bounds≤ $0.2 per loop · ≤ 8 reasoning turns
Recovery / escalationEscalates to it technician

Agent component mapping

A framework-neutral view of how this blueprint maps to standard agent-architecture components (the vocabulary common to ADK-style frameworks). It describes structure for clarity — not an official integration or certified compatibility.

AgentPrimary reasoner — Recommend authority (A2)
Toolsread ticket, search kb, draft resolution, route — execution tools absent (read-only)
MemoryTask-scoped working context; no persistent cross-session memory
GuardrailsWorst-case classified (A2); no execution tools; ≤ $0.2/loop · ≤ 8 turns
EvaluatorConfidence and authority-boundary checks; low-confidence or out-of-bounds results are flagged, not actioned
HandoffEscalates to it technician on privileged request, risky change, unresolved

Failure modes

Specific ways this blueprint can fail, and how it is designed to detect, contain, and recover from each — the boundaries that make it safe to run, stated plainly.

Suggests a resolution that, if applied, breaks the user's system.

Detection
The suggestion is a recommendation and its risk level is noted.
Mitigation
It never changes systems, resets credentials, or modifies access.
Recovery
A technician reviews before applying any change.

Misroutes a privileged or risky ticket to the wrong team.

Detection
Privileged and risky requests are flagged for routing.
Mitigation
Privileged requests are escalated to IT, never auto-resolved.
Recovery
The team bounces it back and it is re-routed.

Pulls an outdated knowledge-base article.

Detection
Article version and freshness are checked.
Mitigation
Stale articles are flagged.
Recovery
The technician verifies against current documentation.

Evaluation

Resolution-suggestion correctness and safe routing are primary — a bad suggestion can break a system and a misrouted privileged ticket is a security gap.

Suggestion accuracyShare of suggested resolutions that correctly address the issue.
Routing accuracyShare of tickets routed to the correct team.
Privileged-ticket recallOf privileged or risky tickets, the share correctly escalated rather than auto-resolved.
KB-freshness rateShare of suggestions citing current articles.
LatencyTime to a suggestion or route.

Recommended approach. Label a set of tickets with correct resolutions and routing; measure suggestion accuracy and routing accuracy, and include privileged requests to test escalation. Verify it never changes systems or credentials.

When to use

Use it when

  • You want L1 tickets (password, how-to, common errors) handled from runbooks.
  • You have documented procedures the agent can follow safely.
  • You want identity verified before sensitive actions and risky ones escalated.
  • You want consistent, policy-bound support with security escalation built in.

Avoid it when

  • You want it to perform privileged or destructive actions autonomously — it won't.
  • You have no runbooks or knowledge base for it to follow.
  • You can't provide escalation paths for security and complex issues.
  • Your tickets are mostly novel incidents needing a human from the start.

System prompt

system-prompt.md
You are an IT Helpdesk Resolution Agent (L1). You resolve routine IT tickets by following documented runbooks and guiding users, and you escalate anything risky or undocumented. You are judged on safely resolving common issues and on never performing a dangerous action, granting privileged access, or inventing a fix.

== CORE PRINCIPLES ==
1. Runbook-driven. Resolve only issues you have a documented, safe procedure for. Follow the runbook steps. If there's no runbook or the situation is novel, escalate rather than improvise.
2. Verify before sensitive actions. For anything touching accounts, access, or data (password reset, account unlock, access change), verify the user's identity first per policy.
3. Safe by default. Never run destructive or high-risk operations, never grant privileged/admin access, and never bypass change control. Those require human approval.

== HARD RULES (NON-NEGOTIABLE) ==
- NO RISKY/DESTRUCTIVE ACTIONS: Never delete data, modify production systems, change security settings, or run anything irreversible without explicit human approval and change control.
- NO PRIVILEGED ACCESS: Never grant admin/elevated/privileged access. Route to approval workflow.
- IDENTITY FIRST: Verify identity before account/password/access actions. No verification = no sensitive action.
- NO FABRICATED FIXES: Never invent commands or steps not in a runbook; a wrong "fix" can break systems. Unknown = escalate.
- ESCALATE SECURITY: Phishing, malware, suspected breach, or unusual access = escalate to security immediately; preserve info; don't attempt a casual fix.
- AUDIT: Log actions taken and escalations.

== METHOD ==
- Classify the ticket. If a safe runbook exists and identity is verified where needed, guide the resolution. Otherwise escalate with context. Always log.

== OUTPUT FORMAT (return ONE JSON object) ==
{
  "ticket_summary": "<short>",
  "category": "<password|access|software|error|security|other>",
  "identity_verified": <bool>,
  "has_runbook": <bool>,
  "decision": "RESOLVE|GUIDE_USER|REQUIRE_APPROVAL|ESCALATE_SECURITY|ESCALATE_HUMAN",
  "steps": ["<runbook steps taken/guided, or empty>"],
  "user_message": "<helpful response>",
  "risk_flag": { "flag": <bool>, "reason": "<privileged/destructive/security, or empty>" },
  "escalation": { "needed": <bool>, "to": "security|sysadmin|approver|none", "reason": "<why>" }
}
Never perform a risky or privileged action. Verify identity for sensitive actions. Escalate the undocumented.
Was this useful?

Simulate run

Try the agent with a sample task. This is a frontend-only preview that shows how the kit would plan and execute — no API calls, nothing leaves your browser.

Frontend preview only — no data leaves your browser. Tip: press ⌘/Ctrl + Enter to run.

Setup guide

Install and connect ITSM

Install the agent and connect your ticketing and runbook sources.

shell
pipx install it-helpdesk-agent
it-helpdesk-agent connect --itsm servicenow --runbooks ./runbooks
it-helpdesk-agent doctor

Configure safety guardrails

No privileged/destructive actions and identity-first are enforced here.

shell
cp .env.example .env
ANTHROPIC_API_KEY=sk-ant-...
ALLOW_PRIVILEGED_ACTIONS=false
VERIFY_IDENTITY_FOR_SENSITIVE=true
ESCALATE_SECURITY=true

Define runbooks & escalation

List safe procedures and where to escalate.

shell
# helpdesk.yml
safe_runbooks: [password_reset, vpn_setup, software_install, printer]
require_approval: [admin_access, group_membership]
escalate: { security: '#secops', sysadmin: '#infra' }

Dry-run on past tickets

Replay tickets to verify safe resolution and escalation.

shell
it-helpdesk-agent backtest --range 30d --explain
# reports resolution rate + a hard check: privileged/destructive actions (must be 0)

Wire into the queue

Route L1 tickets through the agent; risky ones escalate.

shell
# new ticket -> classify -> resolve from runbook OR escalate; all actions logged

Architecture

Tools required

get_ticketRetrieve the helpdesk ticket and its context.
classify_issueCategorize the issue (password, access, software, error, security).
kb_runbook_searchFind a documented, safe runbook for the issue.
verify_identityVerify the user's identity before any sensitive action.
guided_resolutionGuide the user through runbook steps or perform a safe in-scope action.
check_policyCheck whether an action requires approval or change control.
escalateEscalate security incidents, privileged requests, or undocumented issues to the right team.
log_actionRecord actions taken and escalations for audit.

Workflow

  1. 1. Take the ticket

    Receive the ticket and identify the issue type.

  2. 2. Find a runbook

    Match to a documented, safe procedure, or determine none exists.

  3. 3. Verify identity

    Confirm identity before any account, password, or access action.

  4. 4. Check safety & privilege

    Route destructive or privileged actions to approval and change control.

  5. 5. Guide the fix

    Walk the user through runbook steps or perform the safe in-scope action.

  6. 6. Escalate when needed

    Escalate security signals and undocumented issues immediately with context.

  7. 7. Log it

    Record actions and escalations for audit.

Examples

Password reset with verified identity → guided resolution

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

Input

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

Output

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

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

Output

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

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

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.

Implementation notes

  • Resolve only from documented runbooks and escalate the undocumented; an invented command or step can take down a system, so 'I don't have a procedure for that' must route to a human.
  • Hard-block privileged-access grants and destructive/production actions behind approval and change control, even for verified users.
  • Verify identity before any account, password, or access action; an unverified sensitive action is an account-takeover risk.
  • Treat security signals (phishing, malware, compromise) as incidents to escalate immediately, preserving evidence rather than attempting a casual fix.
  • Keep a full audit log of actions and escalations for accountability and compliance.
  • Give clear interim guidance to users during escalations so they don't make a situation worse.
  • The strong model earns its cost on ambiguous issues and security triage, while a cheaper model can handle clear runbook tickets.

Variations

Basic

Runbook assistant

Guides users through documented fixes for common tickets and escalates the rest. Read/guide only.

Advanced

Safe L1 resolver

Adds identity verification, safe in-scope actions, privileged/destructive guards, security escalation, and audit logging.

Enterprise

Service-desk automation

Adds ITSM integration, change-control workflows, approval routing, security incident handoff, and analytics across the ticket queue.

Download the Agent Blueprint

The complete blueprint, zipped — including a runnable run.py you can execute with one API key (Anthropic or OpenAI).

Download Blueprint (.zip)
README.mdsystem-prompt.mdsetup-guide.mdtools.jsonworkflow.mdexamples.md.env.examplekit.jsonrun.pyLICENSENOTICEstarters/

Export

Generate a starter for your stack — all client-side, nothing leaves your browser.

ZIP

Starters use mock tools — swap in your integrations to deploy.

View the source on GitHub

This blueprint and the AgentAz™ specification live in the central AgentKits registry — open source under Apache-2.0 (code & schema) and CC‑BY‑4.0 (text).

Frequently asked questions