Key takeaways
- Dave by voolama (hellodave.ai) lets a small business gate vendor payments behind a Human Review task, so no payment goes out until a named person confirms the W-9 and other required paperwork are on file.
- The AI agent in this workflow checks the documents received against a vendor-type-aware required list and drafts a follow-up request for anything missing. The agent prompt explicitly prohibits referencing, repeating, or acting on bank account or routing numbers, addressing a common ACH fraud vector identified in FinCEN Advisory FIN-2016-A003.
- IRS Form W-9 must be on file before a US business issues Form 1099-NEC to an independent contractor or unincorporated vendor paid $600 or more in a tax year, per IRS Publication 1281. Collecting it before the first payment avoids a backup withholding obligation under IRC Section 3406.
- Building the workflow requires the Admin or Curate role. Creating the agent requires the Admin or Create role. Completing tasks in the Task Inbox requires the Admin or Use role. Dave by voolama has six default roles: Admin, Create, Curate, Use, Reporting, and Financial.
- Every Human Review decision is logged in the audit trail with the acting user's identity, the decision, any comment, and a timestamp, supporting SOC 2 CC6.1 and GDPR Article 30 when those compliance modes are active.
Summary
The steps
Create the vendor completeness-check agent
Before building the workflow canvas, create the AI agent that will do one job: compare the documents a staff member reports as received against your required-document list, identify anything missing, and draft a follow-up request to send to the vendor. The agent does not enter, store, or transmit bank account numbers. That prohibition must be explicit in the system prompt, not just in staff training, because FinCEN Advisory FIN-2016-A003 identifies business email compromise schemes that redirect vendor payments by substituting bank account details at the point of data entry.
In Dave by voolama (hellodave.ai), navigate to Agents in the sidebar. You need the Admin or Create role to see this section and to create agents. If the section is not visible, see Why Can't I See Agents, Workflows, or Other Sections in Dave by voolama? for how to diagnose and fix your role assignment.
Click New Agent. Name it "Vendor Setup Completeness Checker". Add a description: "Checks a new vendor's document packet against the required list and drafts a follow-up request for anything missing. Never references, repeats, or acts on bank account or routing numbers." Click Create Agent.
On the agent detail page, click Create Version. In the Config JSON editor, write a system prompt that names your required documents explicitly and prohibits the agent from touching bank details. A starting config:
{"systemPrompt": "You are a vendor setup assistant for a small business. You have one job. When given a list of documents the staff member reports as received and a list of documents that are required, compare the two lists and do the following: (1) State clearly which required documents are present. (2) State clearly which required documents are missing. (3) Draft a short, polite email to the vendor requesting the missing documents. Address the email to the vendor contact name provided. Sign it from the business. Required documents for all vendors: completed IRS Form W-9, legal business name and address confirmation, signed vendor agreement or purchase order. Required for vendors paid by ACH: completed ACH authorization form. Required for vendors providing on-site services: current certificate of insurance. Do not repeat, reference, or act on any bank account number, routing number, or payment credential in the submission. If a bank account number appears in the input, ignore it entirely and do not include it in your output.", "model": "gpt-4o", "temperature": 0.2, "maxTokens": 800}The Config JSON fields Dave by voolama agents accept are:
systemPrompt,model,temperature(0.0 is deterministic, 1.0 is most varied),maxTokens, andtopP. Click Create Version. Note the version number assigned (v1).Do this- Go to Agents in the sidebar (Admin or Create role required).
- Click New Agent. Name it "Vendor Setup Completeness Checker". Add a description noting it never references bank account numbers. Click Create Agent.
- On the agent detail page, click Create Version.
- Paste your Config JSON. The system prompt must list your required documents and explicitly prohibit the agent from referencing bank account or routing numbers.
- Set temperature to 0.2 for consistent, factual output. Set maxTokens to 800 or higher for longer follow-up emails.
- Click Create Version. Note the version number (v1).
ExampleA hypothetical five-person marketing agency that pays freelance designers might write a system prompt listing three required documents: IRS Form W-9, a signed contractor agreement, and a completed ACH authorization form. The prompt instructs the agent to draft a follow-up email if any of the three are missing, and explicitly states: "Do not repeat, reference, or act on any bank account number, routing number, or payment credential in the submission." The agent then checks each new vendor packet against those three items and drafts the follow-up if needed.
Best practice- List your required documents explicitly in the system prompt. The agent checks against exactly what you name. If you add a new requirement later, create a new agent version with the updated list and retire the old one. Retiring is a one-way action in Dave by voolama: you cannot un-retire a version.
- Set temperature to 0.1 to 0.3 for completeness-check tasks. Lower temperature produces more consistent, predictable output.
- The bank-account prohibition must be in the system prompt. The agent follows its prompt. If the prompt does not say to ignore bank details, the agent may repeat them in its output, creating an unnecessary exposure point.
Create the workflow and configure the User Interaction node
Navigate to Workflows in the sidebar. You need the Admin or Curate role to see this section and to open the Workflow Editor. Click New Workflow, name it "New Vendor Setup", and save. The Workflow Editor opens with a three-panel layout: the Node Palette on the left, the canvas in the center, and the Properties Panel on the right. A node and edge counter in the top-right corner of the canvas shows the current count as you build.
Drag a Start node (green) from the Node Palette onto the canvas. Every workflow requires exactly one Start node.
Drag a User Interaction node (blue, code:
user_interaction) below Start. In the Properties Panel, change the label to "Enter Vendor Details". Under Fields, configure the fields a staff member will fill in when a new vendor is being set up:- Vendor legal name (text)
- Vendor contact name (text)
- Vendor contact email (text)
- Vendor type (text: contractor, supplier, service provider, etc.)
- Payment method (text: check, ACH, wire)
- Documents received (text: list each document the vendor has already submitted, one per line)
- Notes for reviewer (text: any context the approver should know)
Do not add a field for bank account numbers. Bank details should be collected through a separate, dedicated process outside this workflow. The completeness-check agent does not need them, and including them in the workflow context creates unnecessary exposure.
This node pauses the workflow and creates a task in the Task Inbox. The task status is
pending(amber) until the staff member opens and submits it. When the staff member submits the form, the workflow resumes with those values in its context. Connect Start to the User Interaction node by dragging from the source handle (bottom circle) of Start to the target handle (top circle) of the User Interaction node. Click Save Version.Do this- Go to Workflows in the sidebar (Admin or Curate role required).
- Click New Workflow, name it "New Vendor Setup", save.
- Drag a Start node onto the canvas.
- Drag a User Interaction node below Start. Label it "Enter Vendor Details".
- Under Fields in the Properties Panel, add: vendor legal name, vendor contact name, vendor contact email, vendor type, payment method, documents received (one per line), notes for reviewer.
- Do not add a field for bank account numbers.
- Connect Start to the User Interaction node.
- Click Save Version.
ExampleA hypothetical bookkeeping practice that manages vendor relationships for its small-business clients might configure the "documents received" field with a label note: "List each document the vendor has submitted, one per line. Example: IRS Form W-9, signed contractor agreement." This plain-language instruction reduces the chance of staff entering a narrative description instead of a document list, which makes the agent's completeness check more accurate.
Best practice- Keep the "documents received" field as a plain list, one document per line. The agent compares this list against the required-document list in its system prompt. A narrative paragraph is harder for the agent to parse accurately.
- Include a "vendor type" field so the agent can apply the right required-document list. A contractor needs a W-9; a vendor providing on-site services also needs a certificate of insurance.
- Save a version after every meaningful change. Each save is non-destructive: the previous version is always available if you need to roll back.
Add the Agent Interaction node for the completeness check
Drag an Agent Interaction node (purple, code:
agent_interaction) from the Node Palette below the User Interaction node. In the Properties Panel, change the label to "Check Packet and Draft Follow-Up". Under Agent Assignment, select "Vendor Setup Completeness Checker" and version v1.The Agent Interaction node runs automatically when the workflow reaches it: no task is created, and no human action is required at this step. The agent receives the fields the staff member submitted through the User Interaction node as part of the workflow context, checks the documents received against the required list in its system prompt, and produces two outputs: a completeness summary (which documents are present, which are missing) and a draft follow-up email to the vendor if anything is missing.
Connect the User Interaction node to the Agent Interaction node. The agent's output is stored in the workflow context and passed automatically to the Human Review node as part of the task payload. The approver will see the original staff-entered details, the completeness summary, and the draft follow-up email in the task detail page.
This vendor setup workflow differs from the bookkeeping client document chase workflow in a specific way: the bookkeeping workflow chases missing documents from existing clients in an ongoing relationship, while this workflow checks a first-payment packet against an IRS-anchored required-document list and gates payment approval. The agent prompt here also explicitly prohibits referencing bank account numbers, which a client document chase workflow does not need to address.
Click Save Version.
Do this- Drag an Agent Interaction node below the User Interaction node. Label it "Check Packet and Draft Follow-Up".
- In the Properties Panel under Agent Assignment, select "Vendor Setup Completeness Checker" and version v1.
- Connect the User Interaction node to the Agent Interaction node.
- Click Save Version.
ExampleA hypothetical three-person accounting practice might add an Information node (indigo, code:
information) alongside the Agent Interaction node with the label: "Agent checks documents received against required list. Does not handle bank details. Output goes to Human Review." The Information node does not affect workflow execution but helps any team member who opens the editor later understand the design intent.Best practice- Use an Information node alongside the Agent Interaction node to document what the agent does and does not do. This is especially useful if a new team member or an auditor reviews the workflow graph later.
- Do not route the agent's output directly to a payment system. The Human Review node in the next step is the required gate before any payment decision is made.
- If the agent produces output that references a bank account number despite the system prompt prohibition, update the system prompt in a new agent version and retire the current one before activating the workflow.
Add the Human Review node and End nodes, then activate
Drag a Human Review node (amber, code:
human_review) from the Node Palette below the Agent Interaction node. In the Properties Panel, change the label to "Approve Vendor Setup". Under User Assignment, assign it to the owner, office manager, or accounts payable contact responsible for approving new vendors before any payment is made.This node creates a task in the Task Inbox when the workflow reaches it. The task payload contains the workflow context: the vendor details the staff member entered, the agent's completeness summary, and the draft follow-up email. The approver reads all of this in the task detail page, optionally adds a comment, then clicks one of three decision buttons:
- Approve (green): the packet is complete and the vendor is cleared for payment. Routes to the "Vendor Approved" End node.
- Reject (red): the vendor is not approved. Routes to the "Vendor Rejected" End node.
- Request Changes (outlined): the packet needs more information. Connect this edge back to the "Enter Vendor Details" User Interaction node so staff can update the submission and the agent can re-check.
Connect the Agent Interaction node to the Human Review node. Add End nodes: "Vendor Approved" (from the Approve edge) and "Vendor Rejected" (from the Reject edge). Connect the Request Changes edge back to the "Enter Vendor Details" User Interaction node. Every path must end at an End node: dangling paths cause instances to hang at runtime.
Every Human Review decision is logged in the audit trail with the acting user's identity and a timestamp. The audit log is per-tenant and encrypted with AES-256-GCM authenticated encryption. Task decisions support SOC 2 CC6.1 (logical access controls) and GDPR Article 30 (records of processing activities) when those modes are active. The log also provides a dated record that a W-9 was on file before payment, which supports IRS recordkeeping obligations under IRC Section 3406.
Before activating, run test instances in Draft status using hypothetical vendor details for a fictional vendor. Confirm the agent's completeness summary is accurate and contains no bank account references. Confirm the Human Review task appears in the correct person's Task Inbox. Once both the Approve and Request Changes paths work correctly, set the workflow status to Active in the Workflows list.
Do this- Drag a Human Review node below the Agent Interaction node. Label it "Approve Vendor Setup".
- In the Properties Panel under User Assignment, assign it to the owner or accounts payable contact responsible for approving new vendors.
- Connect the Agent Interaction node to the Human Review node.
- Add an End node labeled "Vendor Approved" and connect the Approve edge to it.
- Add an End node labeled "Vendor Rejected" and connect the Reject edge to it.
- Connect the Request Changes edge back to the "Enter Vendor Details" User Interaction node.
- Click Save Version.
- In Draft status, start a test instance with hypothetical vendor details for a fictional vendor. Confirm the agent output contains no bank account references. Confirm the Human Review task appears in the correct Task Inbox.
- Once both paths pass, set the workflow status to Active in the Workflows list.
- Brief staff: they start instances when a new vendor is being set up and fill in the vendor details form.
- Brief the approver: they complete Human Review tasks in the Task Inbox before any payment is released.
ExampleA hypothetical five-person retail business might assign the Human Review node to a role rather than a specific user, so either the owner or the office manager can approve a new vendor when one is unavailable. The approver opens the task, reads the agent's completeness summary alongside the original staff notes in the payload, adds a comment ("W-9 received, agreement signed, ACH form still needed"), and clicks Request Changes. The workflow routes back to the User Interaction node. Staff follow up with the vendor, receive the ACH form, and resubmit. The approver reviews again and clicks Approve. That decision is logged with their identity and a timestamp, providing a dated record that the W-9 was on file before payment under IRC Section 3406.
Best practice- Assign the Human Review node to a role rather than a specific user if your business has more than one person who can approve vendors. A task assigned to a role can be picked up by anyone holding that role, preventing bottlenecks when one person is unavailable.
- Add a comment when requesting changes. The comment is stored in the audit log and helps staff understand what is still needed without a separate conversation.
- Test with realistic but hypothetical data. Do not use real vendor names, tax ID numbers, or contact details in test instances.
- Confirm the agent output contains no bank account references before activating. This is the most important pre-activation check for this workflow.
What this workflow does, and how it differs from other document-collection workflows
Dave by voolama (hellodave.ai) lets a small business gate vendor payments behind a Human Review task. This guide covers a vendor-compliance-specific build. Three things distinguish it from other document-collection workflows in Dave by voolama:
- IRS-anchored required-document list. The agent prompt includes IRS Form W-9 as a required document for all vendors, grounded in IRS Publication 1281 and IRC Section 3406 (backup withholding). A US business that pays an independent contractor or unincorporated vendor $600 or more in a tax year must issue Form 1099-NEC, and must have a W-9 on file to do so. Collecting it before the first payment avoids a backup withholding obligation.
- Bank account prohibition in the agent prompt. The agent prompt explicitly instructs the agent not to reference, repeat, or act on bank account or routing numbers. FinCEN Advisory FIN-2016-A003 identifies business email compromise schemes that redirect vendor payments by substituting bank account details at the point of data entry. Keeping bank details out of the agent prompt reduces that surface area. The related guide on chasing missing client documents for a bookkeeping practice does not need this prohibition because it does not involve payment credentials.
- Dated approval log as a W-9 recordkeeping record. Every Human Review decision is logged with the acting user's identity and a timestamp, providing a dated record that a W-9 was on file before payment under IRC Section 3406.
The workflow uses four of Dave by voolama's ten node types, plus End nodes for each outcome:
| Node type | Code | Color | Role in this workflow |
|---|---|---|---|
| Start | start | Green | Entry point. Every workflow has exactly one. |
| User Interaction | user_interaction | Blue | Pauses the workflow. Staff enter vendor details and list documents received. Task status is pending (amber) until submitted. |
| Agent Interaction | agent_interaction | Purple | Calls the completeness-check agent automatically. No task created. Agent checks documents received against the required list and drafts a follow-up for anything missing. |
| Human Review | human_review | Amber | Creates a task in the Task Inbox. Approver reads the agent's completeness summary and clicks Approve, Reject, or Request Changes. Every decision is logged with user identity and timestamp. |
| End | end | Red | One for each outcome: Vendor Approved, Vendor Rejected. Every path must reach an End node. |
Who needs which role before you start
Dave by voolama has six default roles: Admin, Create, Curate, Use, Reporting, and Financial. Roles are editable. Before building this workflow, confirm the right people hold the right roles:
| What they do | Role needed |
|---|---|
| Build and edit the workflow in the Workflow Editor | Admin or Curate |
| Create and version the completeness-check agent | Admin or Create |
| Enter vendor details (User Interaction task) | Admin or Use |
| Approve or reject the vendor packet (Human Review task) | Admin or Use |
If a team member cannot see the Workflows, Agents, or Tasks section in the sidebar, their role does not include the required permission. See Why Can't I See Agents, Workflows, or Other Sections in Dave by voolama? for how to diagnose and fix this before you start building.
Where this advice stops
This guide covers the Dave by voolama workflow canvas build for collecting new vendor paperwork before the first payment. It does not cover the following:
- Tax and legal compliance: IRS Form W-9 requirements and 1099-NEC filing obligations depend on the nature of the payment and the vendor's entity type. This guide does not constitute tax or legal advice. Consult a licensed accountant or tax attorney for your specific situation. IRS Publication 1281, the Form W-9 instructions, and IRC Section 3406 are the authoritative sources for backup withholding rules.
- Bank account collection and ACH authorization: This workflow does not collect bank account numbers. ACH authorization forms should be collected and stored through a dedicated, secure process outside this workflow. Dave by voolama stores credentials in a per-tenant vault encrypted with AES-256-GCM authenticated encryption, but the design of a payment credential collection process is outside the scope of this guide.
- Connecting an AI provider: Before any Agent Interaction node can run, you must configure at least one AI provider under Admin in your workspace. Dave by voolama supports seven AI provider types: OpenAI, Anthropic, Azure OpenAI, Google, OpenAI-compatible, local (Ollama), and custom. This guide assumes provider setup is already complete.
- Sending the follow-up email to the vendor: This workflow ends when the approver makes a decision. Sending the agent-drafted follow-up email to the vendor is outside the scope of this workflow and requires a separate step or an API Call node connecting to your email system.
Disclosure: Dave by voolama is the product described in this guide, published by its maker, voolama LLC. This is vendor documentation, not tax, legal, or compliance advice.
Frequently asked questions
Can the AI agent in this workflow store or transmit the vendor's bank account number?
No. The agent's system prompt explicitly instructs it not to repeat, store, or act on any bank account or routing number entered in the form. This design addresses a common ACH fraud vector: FinCEN Advisory FIN-2016-A003 identifies business email compromise schemes that redirect vendor payments by substituting bank account details. Keeping bank details out of the agent prompt reduces the surface area for that attack. Bank details entered by staff in the User Interaction form are stored in the workflow context, encrypted with AES-256-GCM authenticated encryption in Dave by voolama, but the agent prompt never references those fields.
What documents should a small business require from a new vendor before the first payment?
The minimum for a US business paying an independent contractor or unincorporated vendor is a completed IRS Form W-9 (required to issue Form 1099-NEC for payments of $600 or more in a tax year, per IRS Publication 1281), the vendor's legal business name and address, and a signed vendor agreement or purchase order. Some businesses also require a certificate of insurance for on-site service vendors and a completed ACH authorization form for vendors paid by bank transfer. Your owner or accountant should set the list; the workflow's agent checks against whatever list you give it.
Who needs which role to build and run this workflow in Dave by voolama?
Building the workflow in the Workflow Editor requires the Admin or Curate role. Creating and versioning the completeness-check agent requires the Admin or Create role. Entering vendor details through the User Interaction task requires the Admin or Use role. Completing the Human Review task (approving or rejecting the packet) requires the Admin or Use role. Dave by voolama has six default roles: Admin, Create, Curate, Use, Reporting, and Financial. Roles are editable. If a team member cannot see Workflows, Agents, or Tasks in the sidebar, their role does not include the required permission.
Is the vendor approval decision recorded anywhere in Dave by voolama?
Yes. Every Human Review task decision is logged in the audit trail with the acting user's identity, the decision made (Approve, Reject, or Request Changes), any comment added, and a timestamp. The audit log is per-tenant and encrypted with AES-256-GCM authenticated encryption. When SOC 2 or GDPR compliance mode is active, these records support SOC 2 CC6.1 (logical access controls) and GDPR Article 30 (records of processing activities). The log also provides a dated record that a W-9 was on file before payment, which supports IRS recordkeeping obligations under IRC Section 3406.
How does this workflow differ from the bookkeeping client document chase workflow?
The bookkeeping client document chase workflow in Dave by voolama collects documents from existing clients in an ongoing relationship, where the bookkeeper already knows what is missing and drafts a chase sequence. This vendor setup workflow collects documents from a new vendor before any payment relationship begins, checks the packet against an IRS-anchored required-document list (IRS Form W-9 per Publication 1281, IRC Section 3406), and gates the first payment behind a named person's approval. The agent prompt in this workflow also explicitly prohibits referencing bank account numbers, which the client document workflow does not need to address.
Sources
- IRS Form W-9, Request for Taxpayer Identification Number and Certification
- IRS Publication 1281, Backup Withholding for Missing and Incorrect Name/TIN(s)
- FinCEN Advisory FIN-2016-A003, Business Email Compromise
- How Can a Bookkeeping Practice Use AI to Chase Missing Client Documents? (hellodave.ai)
- Why Can't I See Agents, Workflows, or Other Sections in Dave by voolama? (hellodave.ai)
Last reviewed