2 ready-to-build workflows

AI agent workflows for Finance & accounting ops

Automate invoice intake, approvals and chasing overdue payments.

Each recipe below is expressed only in VegaDūta's real workflow building blocks — Trigger, Agent, Knowledge, Condition, Approval, Output, Tool (MCP), Voice, Device, Loop, Code and Parallel — so it maps 1:1 to something you can assemble in the Workflow designer. Consequential actions always pass a human Approval step.

1. Invoice intake: PDF → extracted → posted

AP clerks open each supplier invoice PDF, type the vendor, amount, GST and line items into the ERP, then file it — slow, and error-prone at month-end volume.

Trigger: Email (AP inbox) or Webhook (upload)

How the workflow runs

  1. Trigger

    Invoice arrives. An Email trigger on the AP inbox (or an upload Webhook) catches each invoice with its PDF attachment.

  2. Agent

    Extract the fields. An Agent node reads the document and pulls vendor, invoice no., date, amounts, tax and line items into structured data.

  3. Condition

    Validate + match PO. A Condition node checks totals, tax and 3-way match against the PO; clean ones flow on, mismatches branch to review.

  4. Approval

    Approver signs off exceptions. An Approval node routes anything over a threshold or with a mismatch to the right approver.

  5. Tool (MCP)

    Post to the ERP. A Tool (MCP) node creates the AP entry in your accounting system.

Channels & connectors

  • Email
  • Approval / HITL
  • Tool (MCP → ERP)
  • Webhook

Outcome

Invoices are captured, validated and posted with humans touching only the exceptions.

Why it helps

Eliminates manual data entry and the transcription errors that cause payment disputes; approvals become the only human step.

Build spec

1 agent1 extraction agent; PO-match, approval routing and the ERP post are workflow nodes.

System prompt (paste-ready)

You are an accounts-payable clerk. From the invoice document, extract strict JSON {vendor, invoice_no, invoice_date, currency, subtotal, tax, total, line_items[{desc, qty, amount}], po_number?}. Copy values exactly — never compute or 'fix' a total; if it doesn't add up, set needs_review=true with the discrepancy. Do not guess a PO number.

MCP connectors

  • ERP / accounting system (Tally, Zoho, SAP…) — via a Tool (MCP) node
  • AP inbox — via Email trigger

Built-in tools

  • document parsing (PDF/scan → text)
  • http_request (3-way PO match)

Guardrails

  • No computed totals — the agent only transcribes; any mismatch forces needs_review (stops silent errors)
  • Amount/mismatch over threshold → Approval node (the right approver) before posting
  • Duplicate-invoice check (vendor + invoice_no) before the ERP write — never post the same bill twice

Output & delivery

Extracted JSON → Condition validates totals + 3-way PO match → exceptions go to the Approval node → clean invoices are posted to the ERP by a Tool node via MCP, with the source PDF linked.

2. Accounts-receivable follow-up (dunning) on autopilot

Overdue invoices are chased manually and inconsistently — some customers never get a reminder, cash sits uncollected.

Trigger: Webhook (scheduled, daily aging run)

How the workflow runs

  1. Trigger

    Aging run. A scheduled Webhook trigger evaluates open invoices each morning.

  2. Loop

    Per overdue account. A Loop node iterates the overdue list.

  3. Agent

    Write a polite, escalating nudge. An Agent node tailors tone to how overdue it is and includes the exact invoice + a UPI/pay link.

  4. Output

    Reach out on WhatsApp/Email. An Output node sends the reminder on the channel the customer responds to.

  5. Condition

    Escalate the silent ones. A Condition node flags accounts past a threshold to a human for a call.

Channels & connectors

  • Webhook
  • Loop
  • WhatsApp
  • Email
  • Approval / HITL

Outcome

Every overdue invoice gets a timely, professional nudge; only the stubborn ones reach a human.

Why it helps

Consistent follow-up is what pulls cash in — the manual process skips exactly the accounts that need it most.

Build spec

1 agent1 dunning agent runs inside the Loop; the escalation is a workflow Condition node.

System prompt (paste-ready)

You are an accounts-receivable dunning agent. For each overdue account {customer, invoice_no, amount_due, days_overdue, pay_link}, write a professional reminder whose tone escalates with how overdue it is — polite at first, firmer later — including the exact invoice number, amount and a UPI/pay link. Never threaten, never invent late fees or legal consequences that aren't in policy, and never misstate the amount owed. Keep it courteous and specific.

MCP connectors

  • WhatsApp / Email — send channel
  • Accounting/ERP aging data — inbound via Webhook trigger
  • Payment link (Razorpay UPI) — via a Tool (MCP) node

Built-in tools

  • knowledge_search (dunning policy / escalation tone by aging bucket)

Guardrails

  • No invented late fees, threats or legal language — tone escalates within policy only
  • The exact invoice number and amount come from the aging data — never misstated
  • Accounts past the threshold escalate to a human for a call via the Condition node, not more automated messages

Output & delivery

A Loop node iterates each overdue account; the agent writes a bucket-appropriate reminder sent on WhatsApp/Email with the invoice and pay link, and the Condition node escalates the stubborn accounts to a human.

Related industries

Build one of these in minutes

The sandbox gives you a live agent workspace — no account, no card. Or head back to the full catalogue and compare patterns across every industry.

See how VegaDūta compares to n8n, Dify and BotpressWhy VegaDūta's architectureEstimate your WhatsApp API costs