Primary interaction
Default scenario
Refund approval flow
The refund path shows the full system: classification, human gate, durable state, and resume behavior.
Customer requests refund
The user asks for money back.
Agent routes to approval
Refund intent triggers the human gate.
Human approves or denies
The agent waits before acting.
Agent resumes with state
The thread continues after review.
Threads (1)
Customer
Submits a support request
Autopilot
Classifies and routes; pauses on high-risk actions
Reviewer
Approves or denies at the human gate
Start with a scenario
Select the refund scenario,
or type a support request to begin.
Graph, Live Routing
How It Works
StateGraph routing
Every message passes through a classifier node that returns an intent. LangGraph conditional edges route to the correct action node.
interrupt(), human gate
Refund nodes call interrupt() before acting. The graph serializes state and returns PAUSED_FOR_APPROVAL. The UI surfaces the approval decision.
Command(resume), continue
Approve or deny is sent back as Command(resume=True/False) with the same thread_id. The graph resumes exactly where it paused.
DynamoDB checkpointer
State is persisted per thread_id to two DynamoDB tables. Threads survive Lambda cold starts and can stay paused indefinitely, see the durability proof below.