Evidence the run may read
- Expense lines and receipts
- Applicable expense policy
- Approved exception context
Evaluate an expense packet against the applicable policy and prepare a cited decision for a human approver.
Search intent: AI agent for expense report review
An expense report enters policy review.
finance owner
The designated finance approver decides reimbursement or exception treatment.
expense review touch time (minutes). Measure reviewer time spent per completed report.
Each stage produces an artifact another stage can inspect. The final node is a person, not an autonomous write to an external system.
Validate and normalize the expense policy review inputs.
Produce the policy comparison.
Produce the missing evidence list.
Challenge the expense policy review result and prepare an approval packet.
The designated finance approver decides reimbursement or exception treatment.
Source material is read-only. Drafts land in a case-specific output path. Tools may read or propose; the human gate owns the external write.
workspace/finance/expense-policy-review/inputs/**Read only the evidence attached to this workflow instance.
workspace/finance/expense-policy-review/outputs/**Write drafts and evidence artifacts without modifying source records.
finance:expense-policy-review:read-or-proposeInvoke only tools explicitly granted for this run; external writes remain gated.
The blueprint starts private, caps its DAG, disables replanning, and exposes no public endpoint. Add only the tools and data adapters this workflow has approved.
name: finance-expense-policy-review
version: 0.1.0
entrypoint: agent:BlueprintAgent
expose:
public: false
composition:
planning: deterministic_dag
max_nodes: 6
max_parallel: 1
max_replans: 0Every material conclusion cites an input artifact or a scoped tool result from this run.
Every exception cites the exact policy rule and affected line; ambiguous items are escalated.
The run stops at a proposal and records the human decision before any external side effect.
Containment: Return a partial result with unresolved items; do not broaden scope or perform an external write.
Operator: Attach the missing evidence, narrow the brief, or explicitly approve a new scoped run.
Containment: Stop the affected branch and preserve completed artifacts in the case output workspace.
Operator: Grant only the missing resource or continue with that branch marked out of scope.
Current platform receipts sign caller identity or classification, skill, bounded input evidence, verified grant IDs when present, outcome or result preview, and timing. Optional file, tool, artifact, handoff, evaluation, and review fields require separate instrumentation and are not populated by default. Price, fees, payouts, and later human approvals remain separate platform records.
The example uses only fields populated by the current platform sealing paths. It is illustrative, not a record of a real customer run.
{
"receipt_id": "rcpt_01J...",
"schema_version": 1,
"agent_name": "finance-expense-policy-review",
"caller": "user:workflow-owner",
"task_id": "case_expense_policy_review",
"skill_name": "expense_policy_review",
"input_hash": "4d7c...9a2f",
"grant_ids": [
"grt_case_inputs",
"grt_tool_propose"
],
"status": "ok",
"result_preview": "Output prepared: Policy comparison. Human decision remains separate.",
"elapsed_ms": 4218
}Compare an invoice exception with purchase, receipt, and policy evidence and prepare a resolution recommendation.
Compare ledger and subledger evidence, identify unmatched items, and prepare a reconciliation packet for sign-off.
Match a payment export to open receivables and prepare proposed applications with confidence and exceptions.
Deploy the workflow as a bounded internal agent, verify its outputs and the receipt fields actually emitted, then expand only the scopes your acceptance test proves it needs.