Agent Template · human in the loop · durable runtime · router
Expense approver: Human in the Loop
Human in the loop with a real approve/reject: a local model assesses the risk of an expense request, the run then WAITS durably for a human decision, and a router either executes the (placeholder) payment step or refuses. Runs on the durable runtime — the wait survives restarts.
How It Works
A local model assesses the risk of an expense request, then the run waits for a real person at a human-approval node. Approving routes to a receipt and an execution step (an echo tool, ready to swap for an HTTP tool that calls your payment API); rejecting routes to a refusal.
The wait is durable: the paused run survives restarts. The shipped timeout is 24 hours — raise it, or remove it to wait for as long as approvals take.
Try It
- In TheYgent, open Settings → Samples.
- Fill the model slots below with models from your registry, then click Install on Expense approver.
- Open the installed agent and run it with the example input.
{"amount": 1250, "currency": "EUR", "to": "conference organizer", "memo": "Conference sponsorship"}
The Graph
Every node in the agent and where its output goes, read from the template itself.
sample-expense-approver
| Node | Type | Sends its output to |
|---|---|---|
| Expense request | input |
Risk assessment (local); Brief for the approver (into request) |
| Risk assessment (local) | llm |
Brief for the approver (into assessment) |
| Brief for the approver | transform |
Human approval |
| Human approval | human |
Approve or reject |
| Approve or reject | router |
Build receipt (on approve); Rejected (on reject) |
| Build receipt | transform |
Execute (placeholder) |
| Execute (placeholder) | tool |
Executed |
| Executed | output |
— |
| Rejected | output |
— |
More Templates
Hybrid reasoner
Two Models in One Run — Two models in one run: a local triage model classifies every request and a router sends easy ones to your local model and hard ones (coding, analysis, long-form) to an API model.
See the template → data privacyPrivate SQL analyst
Data Privacy by Construction — A data-privacy pattern: the API model sees ONLY the database schema and your question — never a single row — and writes a SELECT statement; a deterministic guardrail refuses any statement that does not start with SELECT; the query then runs on a local SQLite MCP server and a LOCAL model reads the rows and answers.
See the template → MCP from OpenAPI (REST)Tool belt
Step Tools vs. LLM-Driven Tools — The two ways to use a tool, in one agent: a GraphQL API turned into an MCP server runs as a flow STEP (it always executes), while a REST API turned into an MCP server is WIRED TO the local model as a capability the model decides to call.
See the template → multi-model consensusSecond opinion
Multi-Model Consensus — Ask a local model AND an API model the same question independently, then a local judge reconciles the two answers into one — flagging any disagreement.
See the template → PII firewallPII firewall
Privacy as a Router — A privacy router: a deterministic PII guardrail inspects every request BEFORE any model runs.
See the template → vision in a pipelineVisual inspector
Vision in a Pipeline — Vision inside a pipeline, not a chat window: a local vision model inspects an image against your acceptance criteria, emits a structured pass/fail verdict, and a router sends the run down the matching branch — the skeleton of a visual QC line.
See the template → speech-to-textVoice desk
Voice In, Voice Out — Voice in, voice out: speech-to-text transcribes the audio, a model answers in spoken prose, text-to-speech reads it back.
See the template → local image generationArt department
Local Image Generation — Local image generation in a pipeline: a local model turns your rough brief into one vivid, concrete image prompt, and a local diffusion model paints it.
See the template → local RAG (pgvector)Handbook Q&A
Retrieval as a Model Capability — Retrieval as a model capability, fully local: the installer creates a retrieval source in your own Postgres (pgvector), seeds it with a fictional TheYgent company handbook, and wires it to a local model as a search tool the model decides to call — answers cite the handbook section they came from.
See the template → self-correcting loopEditorial loop
A Self-Correcting Agent — A self-correcting agent: a bounded LOOP re-runs a writer-critic child agent — draft, harsh self-critique, rewrite — until the child approves its own draft or three rounds are up.
See the template → parallel fan-out (map)Batch briefing
Durable Fan-Out with a Cost Ceiling — Durable parallel fan-out with a cost ceiling: a MAP node fans one child agent out per topic (two at a time), collecting a brief for each — a crashed worker resumes only the unfinished branches.
See the template →