2 ready-to-build workflows

AI agent workflows for Accounting & CA / CPA firms

Chase filing documents at every deadline and onboard clients with clean KYC — while a qualified accountant stays the one who reviews and files.

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. Deadline document collection across every client (map-reduce)

At each GST / income-tax / TDS deadline a firm chases dozens of clients for the same missing papers by hand — one WhatsApp at a time — and only finds out who's still short when it's nearly too late to file.

Trigger: Webhook (scheduled, N days before a filing deadline)

How the workflow runs

  1. Trigger

    Deadline run kicks off. A scheduled Webhook trigger fires a set number of days before a GST/ITR/TDS deadline with the list of clients due.

  2. Loop

    Iterate every client due. A Loop node fans a collector agent across each client on the deadline list — one focused pass per client, isolated context.

  3. Agent

    Check what's missing, draft the chase. A cheap collector agent compares the documents already received against that client's required checklist and drafts a request for ONLY the missing items.

  4. Output

    Nudge the client. An Output node sends the missing-document list on WhatsApp/Email with a secure upload link, in the client's language.

  5. Agent

    Roll up a filing-readiness board. After the map completes, a reducer agent aggregates the per-client statuses into one ready/blocked readiness board for the practice.

  6. Approval

    Accountant reviews before anything is filed. An Approval node puts the readiness board with a qualified accountant — the agents only collect and chase; a human reviews and files.

Channels & connectors

  • Webhook
  • WhatsApp
  • Email
  • Tool (MCP → practice-mgmt)
  • Approval / HITL

Outcome

Every client due at the deadline gets a precise, timely chase for exactly the papers they're missing, and the accountant sees one readiness board instead of reconstructing it from a dozen inboxes.

Why it helps

Consistent, per-client chasing is what gets the documents in on time; the value is that no client silently falls through the cracks before a deadline — the filing itself stays with a qualified human.

Build spec

2 agents1 collector (runs once per client via the Loop node) + 1 readiness reducer (runs once). Loop/Output/Approval are workflow nodes. · Pattern: Map-reduce: Loop (map, per client) → readiness reducer (reduce, once)

System prompt (paste-ready)

You are a document-collection assistant for an accounting practice, handling ONE client per run. Compare the documents already received against {{client}}'s required checklist for this {{filing_type}} (GST / ITR / TDS). Return strict JSON {client_id, filing_type, status: READY|WAITING, received[], missing[], chase_message?}. If anything is missing, draft a short, polite chase in the client's language listing ONLY the missing items with a secure upload link. Never give tax, GST or filing advice, never compute a tax liability, and never state or imply anything has been filed — you only collect documents; a qualified accountant reviews and files.

Agent roles & model tiers

  • Collector / checker (per client) Economy tier — fast, cheap; runs once per client so its model choice dominates total cost

    For ONE client, compare received documents vs the required checklist for the filing type; draft a chase for the missing items only; return {status, received[], missing[], chase_message?}. No tax advice, no computed liabilities, no filing.
  • Readiness reducer (once) Standard tier — runs once per deadline

    Aggregate the per-client results into a filing-readiness board {ready[], waiting[{client, missing[]}], counts}. Use only the provided statuses — never mark a client ready that reported missing documents, never estimate. This board is for an accountant to action; it files nothing.

MCP connectors

  • Practice-management / accounting software (Zoho Books, Tally, QuickBooks) — via a Tool (MCP) node
  • WhatsApp / Email — chase channel
  • Client checklist + deadline list — inbound via the scheduled Webhook trigger

Built-in tools

  • knowledge_search (per-filing-type document checklist)
  • http_request (fetch received-document status)

Guardrails

  • No tax advice, no computed liabilities, no filing — the agents only collect documents; a qualified accountant reviews the readiness board and files at the Approval node
  • A client is marked READY only when every checklist item is received — the completeness gate never lets a partial set through as fileable
  • Chasing is idempotent (keyed by client + deadline) so nobody is double-messaged in one run, and missing-item lists come from the checklist, never invented

Cost strategy

The collector runs once per client — across a whole practice at a filing deadline that repetition is the dominant cost, so it sits on the economy tier (bulk, routine document-checking is exactly the cheap-model case). The readiness reducer runs once per deadline on a standard tier. Cost scales linearly with client count under a per-client tool/token cap, and no premium model is ever spent on routine chasing.

Output & delivery

The Loop runs the economy collector per client → each drafts a missing-items chase sent on WhatsApp/Email with a secure upload link → the completeness gate marks READY/WAITING → the reducer rolls one readiness board → the accountant reviews it at the Approval node before any client is filed; every client's status is logged.

2. Client onboarding with clean KYC — human-approved

Onboarding a new client means collecting PAN, GST and incorporation papers over email, retyping the details into the practice software, and hoping the name/PAN actually match — slow, and easy to get wrong.

Trigger: Webhook (intake form) or WhatsApp (new client)

How the workflow runs

  1. Trigger

    New client starts onboarding. A Webhook from the firm's intake form (or a WhatsApp message) kicks off the flow with the prospective client's basics.

  2. Agent

    Collect + structure the KYC. An Agent node requests and extracts PAN, GST registration, incorporation/partnership documents and contact details into structured data.

  3. Knowledge

    Ground the checklist. A Knowledge node holds the KYC checklist per entity type (individual / partnership / company) so nothing required for that type is missed.

  4. Condition

    Completeness + validity check. A Condition node confirms every required document is present and the name/PAN/GSTIN are internally consistent; incomplete or mismatched packs branch back to re-request.

  5. Approval

    Accountant approves onboarding. An Approval node puts the assembled KYC pack in front of a qualified accountant — the client is accepted by a human, not the agent.

  6. Tool (MCP)

    Create the client record. On approval, a Tool (MCP) node creates the client in the practice-management software with the source documents linked.

Channels & connectors

  • Webhook
  • WhatsApp
  • Knowledge base
  • Approval / HITL
  • Tool (MCP → practice-mgmt)

Outcome

A new client's KYC is collected, structured and validated once, and the accountant approves a clean, consistent pack instead of chasing scattered attachments.

Why it helps

Removes the retyping and the transcription errors that surface later as filing problems; the human step becomes a review of a ready pack, not manual data entry.

Build spec

1 agent1 onboarding/KYC agent; the completeness check, approval and the record creation are workflow nodes.

System prompt (paste-ready)

You are a client-onboarding assistant for an accounting practice. Collect and structure a new client's KYC for {{entity_type}} (individual / partnership / company): request and extract PAN, GST registration, incorporation/partnership documents and contact details into strict JSON {legal_name, entity_type, pan, gstin?, documents[{type, received}], mismatches[]}. Copy values EXACTLY from the documents — never invent an ID number — and flag any name/PAN/GSTIN mismatch in mismatches[]. Do NOT give tax or registration advice, and do NOT create the client record yourself — a qualified accountant reviews and approves onboarding first.

MCP connectors

  • Practice-management software (Zoho Books, Tally, QuickBooks) — via a Tool (MCP) node
  • Intake form / WhatsApp — client document channel

Built-in tools

  • document parsing (PAN / GST / incorporation PDFs → text)
  • knowledge_search (KYC checklist per entity type)

Guardrails

  • No tax or registration advice, and no self-onboarding — a qualified accountant reviews the KYC pack and approves before the client record is created (Approval node)
  • IDs (PAN / GSTIN) are copied exactly from documents, never generated; any name/PAN/GSTIN mismatch is flagged, not silently accepted
  • The client record is written only by the Tool node after approval, keyed to the PAN so the same client can't be onboarded twice

Cost strategy

Onboarding is low-volume and detail-sensitive, so a single standard-tier agent handles the full KYC extraction and document parsing runs once per client. There's no premium model in the loop — the human accountant is the quality gate, not a heavyweight model — so cost per onboarding is small and predictable.

Output & delivery

The agent assembles a structured KYC pack, grounded in the per-entity checklist from Knowledge and validated at the Condition node → the accountant approves it at the Approval node → a Tool node creates the client in the practice-management software via MCP, with the source documents linked.

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