Interactive demo

AI Incident Triage

Upload a batch of IT incidents and watch them get triaged: a rules engine flags process gaps, then a tool-calling agent classifies each one, scores its urgency, and recommends next steps. Then filter the results the same way the REST API does.

Everything runs in your browser. CSV ingest, the rules engine, and the API filters follow the project's Python code. The agent's answers for the sample incidents are example outputs showing what the gpt-4o-mini agent returns; no API calls are made from this page. Your own CSVs get a keyword-based offline estimate instead.

  1. 1Upload CSV
  2. 2Rules check
  3. 3Agent triage
  4. 4Query results

Upload incidents

Start with the project's sample file: 8 realistic incidents, several missing an owner or priority.

Needs id and title columns. Download the sample CSV to see the format. You can also drop a file here.

POST/api/v1/incidents/upload
// waiting for a file…

How the real service works

  • FastAPI accepts a CSV, validates it with pandas, skips duplicate IDs, and stores each row with SQLAlchemy.
  • Triage runs as a background task so the upload returns immediately.
  • A deterministic rules engine flags missing owners, missing priority, vague descriptions, and tickets open more than 7 days.
  • The agent is given five tools and decides which to call and in what order, looping until it calls finalize_triage (up to 10 steps).
  • Results are served through GET /api/v1/incidents with filters for status, category, triage status, and minimum urgency, sorted most urgent first.
Incidents are ingested, parsed, and checked by a rules engine; an agent then calls classify, lookup similar incidents, score urgency, recommend actions, and finalize tools; results are saved to a database and served over a REST API. IngestCSV upload Parse & cleanvalidate · dedupe Rules engineflag process gaps Triage agentOpenAI tool calling · the model picks the order classify_incident lookup_similar score_urgency recommend_actions finalize_triage → saved result DatabaseSQLAlchemy models REST APIfilter & query results Async background task · pytest · Docker · GitHub Actions CI