Build an Invoice Approval Agent That Drafts, But Never Pays
Description and use
An automated agent processes invoices, validates them against policies, and creates a review object that requires human approval, but never triggers payment.
Problem
Automate invoice processing while ensuring no automatic payments are made, requiring human review for approval.
Outcome
The agent reliably extracts invoice data, applies policy checks, and produces a review object that requires human approval before payment, eliminating accidental automated payments.
Workflow
- 1. Install EngageLab Email CLI and set up a read‑only test mailbox.
2. Poll inbound emails via
engagelab-email-cli emails receiving listen. 3. Persist cursor after committing review record. 4. For each event, fetch the full thread withengagelab-email-cli threads messages. 5. Extract invoice fields (amount, vendor, PO, attachment name). 6. RunevaluateInvoiceto compare against policy (allowlisted vendors, expected PO, threshold, PDF attachment). 7. Generate a review object with recommendation (approve_after_human_revieworneeds_more_review) and reasons. 8. Store or forward the review object for human finance review; no payment is initiated automatically.
Evidence
The agent should not treat the PDF, the sender address, or a sentence in the email as authorization to pay.
The safe shape is: inbound invoice -> complete thread -> validated extraction -> policy checks -> review object X no automatic payment
- Record date: 2026-09-21T00:00:23.381Z