Skip to content

AI engineering case study

Multi-Agent Operations Copilot

Core stack

LangGraph · JIRA & SharePoint Tools · Web Search · Redis

Delivery approach

  1. Situation

    Operational requests arrived by email with inconsistent detail and no shared audit trail. Analysts searched SharePoint, checked related JIRA work, gathered external context, asked follow-up questions, and copied the result into a ticket. Handoffs produced duplicates, incomplete acceptance criteria, and delays. Giving an agent direct write access would also let it create or update the wrong item before review.

  2. Task

    Build a session-persistent intake workflow that gathered context, resolved missing information, and prepared a valid JIRA ticket in under 10 minutes. It had to maintain the existing 98% intent-classification target, record every tool call and decision, recover from partial failures, and require explicit approval before creating a ticket.

  3. Action

    Incoming messages and attachments are normalized into a typed intake record. LangGraph then moves the case through classification, clarification, research, risk review, and ticket drafting. Read-only SharePoint and JIRA searches run in parallel; web search runs only when internal sources do not answer the request. Redis holds checkpoints, tool results, approval state, and idempotency keys, so a retry resumes the case without opening another ticket. Tool responses are schema-validated and citations stay attached to the draft. Low-confidence classifications return a focused question. Only the final ticket tool has write access, and it remains locked until a reviewer approves the draft. Labeled intents, incomplete requests, duplicate submissions, permission failures, malformed responses, and replay tests make up the evaluation set. Production traces record state changes, tool latency, retries, confidence, and reviewer overrides.

  4. Result

    The intake-to-ticket path fell below 10 minutes while intent accuracy remained at 98%. Reviewers see the supporting sources and unresolved assumptions in the draft, then decide whether to create the ticket. Checkpoints prevent lost work after an API failure, and idempotency keys prevent duplicate JIRA records during retries.

Technology stack

  • LangGraph
  • JIRA & SharePoint Tools
  • Web Search
  • Redis