Key takeaways
- Policy language written for customers ('at our discretion', 'in most cases') is not usable by an AI agent. Every condition must be a binary yes/no check with a specific value, such as 'within 30 calendar days of purchase date' rather than 'recently purchased'.
- In Dave by voolama, refund rules live in two places: the Information node (code: information, indigo icon) on the workflow canvas holds the full policy text for reference, and the agent's systemPrompt in the Config JSON holds the condensed rules the agent actually applies at runtime.
- Any refund request that mentions a billing dispute must route immediately to a Human Review task. Cardholder billing dispute rights under Regulation Z, 12 CFR Part 1026, Section 12, are a matter of federal law that an AI agent must never address.
- Phrases that imply a commitment the business has not yet made, such as 'your refund will be processed' or 'you are entitled to a refund', must be listed explicitly in the systemPrompt as forbidden wording.
- When the refund policy changes, create a new agent version in Dave by voolama rather than editing the existing Config JSON. Old versions are immutable and auto-numbered (v1, v2, v3), giving you a clear audit trail of which rules were active at any point.
Summary
Why customer-facing policy language does not work for an AI agent
Dave by voolama (hellodave.ai) is a managed AI workflow platform where an Agent Interaction node (code: agent_interaction, purple icon) calls an AI agent automatically, without a human in the loop at that step. The agent reads the workflow context and the instructions in its systemPrompt, then produces a draft response. What the agent can do is entirely bounded by what the systemPrompt says.
Most small business refund policies are written for customers, not for agents. They use language designed to give the business room to decide: 'at our discretion', 'in reasonable condition', 'recently purchased', 'in most cases'. A person reading those phrases applies judgment. An AI agent cannot. It reads the text literally and, when the text is ambiguous, it fills the gap with a plausible-sounding answer that may not match your actual policy.
The fix is not a better AI model. It is better rules. Specifically, every condition in your refund policy must be rewritten as a binary yes/no check with a specific, measurable value before the agent can apply it consistently. Here is what that looks like in practice:
- Vague: 'recently purchased' becomes specific: 'purchased within 30 calendar days of the request date'
- Vague: 'in reasonable condition' becomes specific: 'unused and in original packaging, confirmed by customer in the request form'
- Vague: 'at our discretion' becomes specific: 'route to manager for decision' (this is an escalation trigger, not an agent decision)
- Vague: 'in most cases' becomes specific: 'eligible unless one of the following exceptions applies: [list the exceptions]'
This framework covers the rule-writing step only: what to write, how to structure it, and where to put it. The companion guide at How Do I Build a Refund Request Workflow in Dave by voolama Where a Manager Must Approve Every Refund? covers the node-by-node workflow build, including which node types to place and how to connect them. This framework is the content that goes inside those nodes.
The four components of an agent-ready refund rule set
An agent-ready refund rule set has four components. Each one goes into a specific place in Dave by voolama. Write them in this order, because each one depends on the one before it.
Eligibility checklist. A numbered list of conditions the agent checks against the customer's request. Every condition is binary: the request either meets it or it does not. Example checklist for a hypothetical retail business:
- Was the item purchased within the last 30 calendar days? (Check order date in the request form.)
- Is the item unused and in original packaging? (Customer confirms in the request form.)
- Is the item in the eligible category? (Eligible: all physical goods except custom orders and perishables. Ineligible: digital downloads, gift cards, custom orders, perishable goods.)
- Has the customer submitted a refund request for this order before? (If yes, route to manager.)
This checklist goes into the agent's
systemPromptin the Config JSON. The Dave by voolama agents help documentation confirms the accepted Config JSON fields:systemPrompt(the agent's instructions),model(the specific model to use),temperature(0.0 deterministic to 1.0 most varied),maxTokens(maximum response length), andtopP(nucleus sampling). Settemperatureto 0.0 or 0.1 to keep the agent's output deterministic rather than interpretive for a rules-based task like eligibility checking.Escalation triggers and the federal rules behind them. A named list of request types that always route to a Human Review task (code:
human_review, amber icon), regardless of eligibility. The agent does not decide these: it identifies the trigger and the Routing node sends the request to a manager. Write each trigger as a specific, checkable condition, with the rule that requires it where applicable:- Billing dispute mention (Regulation Z, 12 CFR Part 1026, Section 12). Any request in which the customer states they will dispute the charge with their bank or card issuer. Under Section 12 of Regulation Z, which implements the Fair Credit Billing Act, a card issuer must acknowledge a billing error notice within 30 days and resolve it within two billing cycles. These are rights the customer holds against their card issuer. An AI agent must never make statements about these rights. Route immediately to a manager.
- Amount threshold. Refund amount exceeds [your defined threshold, set by the owner]. Write the specific dollar threshold here; do not leave it vague.
- Service fully delivered. Request is for a service already delivered in full.
- Repeat requester. Customer has submitted more than two refund requests in any 90-day period.
- Defect or safety claim. Request involves a claim of product defect or safety issue.
In Dave by voolama, the Routing node (code:
routing, purple icon) evaluates the agent's output for these triggers and branches the workflow to a Human Review task when one is present. The Human Review node creates a task in the Task Inbox for the assigned manager, who can approve, reject, or request changes. Every decision is logged with the acting user's identity and a timestamp in the per-tenant audit trail.Forbidden wording list. A short list of phrases the agent must never write in a draft reply, because they imply a commitment the business has not yet made. Include this list explicitly in the
systemPromptunder a heading such as 'Do not use these phrases under any circumstances':- 'Your refund will be processed' (implies approval before a manager has decided)
- 'You are entitled to a refund' (implies a legal right the agent is not qualified to assert)
- 'We apologize for the defective product' (implies liability before any investigation)
- 'This is covered under our warranty' (implies a warranty determination the agent cannot make)
- Any specific dollar amount or processing timeline (these must come from a verified system, not the agent)
For the broader question of how to review AI-drafted customer communications before they go out, see How to Review AI Output Without Becoming the Bottleneck.
Version date and owner. Add a single line at the top of both the Information node text and the agent's
systemPrompt: the date the rules were last updated and the name of the person who approved the update. Example: 'Refund rules version: 2026-11-01. Approved by: [owner name].' This means anyone reviewing the workflow or a task decision can see immediately which version of the rules was active at the time.
Where each component lives in Dave by voolama
In Dave by voolama, refund rules live in two distinct places on the workflow canvas, and the distinction matters:
| Component | Node or field | Code value | Effect on execution |
|---|---|---|---|
| Full policy text (for reference) | Information node | information, indigo icon | None. Does not affect execution. Visible to anyone reviewing the workflow design in the Workflow Editor. |
| Eligibility checklist, escalation triggers, forbidden wording list, version date | Agent's Config JSON, systemPrompt field | Inside the agent_interaction node, purple icon | Operative at runtime. This is what the agent reads and applies. |
To add an Information node, open the workflow in the Workflow Editor (accessible to users with the Admin or Curate role in Dave by voolama), drag the Information node from the Node Palette onto the canvas, and paste your full policy text into the node's label or config. To update the agent's rules, open the Agents section in the sidebar, open the agent, click Create Version, and paste the updated Config JSON with the revised systemPrompt. The version number increments automatically (v1, v2, v3). Old versions are immutable.
If you want to prevent workflow designers from overriding the refund rules at the node level, write the rules as a prompt in the Prompt Library and lock it to the agent using the Lock Prompt toggle on the agent edit form. When a prompt is locked, the prompt selector for that agent is greyed out in the Workflow Editor. Only users with the Admin or Create role can create or modify agents and prompts. Dave by voolama has six default roles: Admin, Create, Curate, Use, Reporting, and Financial. Roles are editable.
For a template covering how to document who owns the update process and when it runs, see What Should a Standard Operating Procedure Include?
How to update the rules when your refund policy changes
Refund policies change: a new product category, a change in your supplier's return terms, a decision to tighten the eligibility window. When the policy changes, the agent's rules must change with it. Here is the update process in Dave by voolama:
- Write the updated rule set using the four-component structure above. Do not edit the existing Config JSON in place: create a new version.
- Open the Agents section in the sidebar. Open the refund agent. Click Create Version. Paste the updated Config JSON with the revised
systemPrompt, including the new version date at the top. Click Create Version to save. The version number increments automatically. Old versions are immutable and remain in the version history. - Open the workflow in the Workflow Editor. Click the Agent Interaction node that handles the refund draft. In the Properties Panel on the right, update the agent assignment to reference the new version. Click Save Version to save a new workflow version.
- Update the Information node text to reflect the new policy, and save again.
- Notify the team that the rules have changed and which version is now active.
What federal law requires you to honor: Under the FTC's Mail, Internet, or Telephone Order Merchandise Rule, 16 CFR Part 435, Section 435.3, sellers must clearly disclose their refund policy and honor it. If your agent's systemPrompt contains rules that differ from your published policy, the published policy governs. Keep the two in sync. This is not legal advice: consult a qualified legal professional for advice specific to your business and state.
What this framework does not cover
- The workflow build. Step-by-step instructions for building the refund request workflow in Dave by voolama, including node placement and role assignment, are in the companion guide at How Do I Build a Refund Request Workflow in Dave by voolama Where a Manager Must Approve Every Refund? This framework covers what goes inside those nodes, not how to build them.
- Which decisions must stay with a person. This framework covers how to write the rules the agent follows. The question of which refund request types must always go to a human decision-maker, regardless of the rules, is a separate question addressed in the companion article on refund decision ownership (awaiting publication as part of this cluster).
- Legal advice. The FTC reference in this framework names the applicable rule (16 CFR Part 435, Section 435.3) and the Regulation Z reference names the applicable section (12 CFR Part 1026, Section 12) for cardholder billing dispute rights. Neither reference constitutes legal advice. Refund obligations vary by state, by product type, and by payment method. Consult a qualified legal professional before finalizing your refund policy.
- Refund processing mechanics. This framework covers the rules the agent applies to draft a response. It does not cover how refunds are actually processed in your payment system, accounting software, or point-of-sale system.
Frequently asked questions
Why can't I just paste my existing refund policy into the agent's system prompt?
A customer-facing refund policy is written to give the business flexibility. Phrases like 'at our discretion', 'reasonable condition', and 'in most cases' are intentionally vague so a person can apply judgment. An AI agent has no judgment to apply: it reads the text literally. If the policy says 'recently purchased', the agent has no way to decide whether 47 days is recent. Every condition must be rewritten as a binary check with a specific value, for example 'purchased within 30 calendar days of the request date', before the agent can apply it consistently.
Where exactly do the refund rules go in Dave by voolama?
Refund rules live in two places in Dave by voolama (hellodave.ai). The full policy text goes into an Information node (code: information, indigo icon) on the workflow canvas: this node does not affect execution but makes the policy visible to anyone reviewing the workflow design. The condensed, agent-ready rules go into the systemPrompt field inside the agent's Config JSON, inside the Agent Interaction node (code: agent_interaction, purple icon). The systemPrompt is what the agent actually reads and applies when it processes a refund request. The Information node is for humans; the systemPrompt is for the agent.
What federal rules apply to refund requests that mention a billing dispute?
Cardholder billing dispute rights are governed by Regulation Z, 12 CFR Part 1026, Section 12, which implements the Fair Credit Billing Act. Under Section 12, a card issuer must acknowledge a billing error notice within 30 days and resolve it within two billing cycles. These are obligations on the card issuer, not the merchant, but they create rights a customer may invoke. An AI agent must never make statements about a customer's dispute rights under Regulation Z. Any request mentioning a dispute must route immediately to a Human Review task in Dave by voolama. This is not legal advice: consult a qualified legal professional for advice specific to your business.
How do I update the rules when my refund policy changes?
In Dave by voolama, you update the agent's rules by creating a new version of the agent's Config JSON. Open the agent in the Agents section of the sidebar, click Create Version, and paste the updated systemPrompt with the new rules and a new version date at the top. The version number increments automatically (v1, v2, v3). Old versions are immutable and remain in the version history. After creating the new version, open the workflow in the Workflow Editor and update the Agent Interaction node to reference the new version, then click Save Version to save a new workflow version.
Can the agent's rules be locked so a team member cannot change them without the owner's approval?
Yes. In Dave by voolama, you can write the refund rules as a prompt in the Prompt Library and then lock that prompt to the agent using the Lock Prompt toggle on the agent edit form. When a prompt is locked, the prompt selector for that agent is greyed out in the Workflow Editor, so workflow designers cannot override the rules at the node level. Only users with the Admin or Create role can create or modify agents and prompts. Users with the Curate role can view agents but cannot edit them.
Sources
- FTC Mail, Internet, or Telephone Order Merchandise Rule, 16 CFR Part 435, Section 435.3 (FTC.gov)
- Regulation Z, 12 CFR Part 1026, Section 12: Special Credit Card Provisions, Fair Credit Billing Act (CFPB)
- How Do I Build a Refund Request Workflow in Dave by voolama Where a Manager Must Approve Every Refund? (hellodave.ai)
- How to Review AI Output Without Becoming the Bottleneck (hellodave.ai)
- What Should a Standard Operating Procedure Include? (hellodave.ai)
Last reviewed