Overview
Assess refund requests against policy, update customer records, and route exceptions to finance or support leaders. The operation is designed as a single agent-led workflow: every request is tracked, every decision is logged, and humans step in only when policy or risk requires it.
Request
A requester submits a customer refund request through Slack, Teams, or the Customer Refund Request Form, creating a tracked request row.
Agent Triage
The agent confirms the request type, retrieves context from payment, support, and CRM records, checks the relevant policy source, and asks for any missing details in chat.
Agent Resolution
Where policy permits, the agent completes refunds that meet policy, amount, timing, and customer-status checks and records the outcome without waiting for manual handling.
Escalation
The agent escalates large refunds, disputed invoices, missing payment records, chargeback risk, or policy exceptions to the responsible owner with a decision summary and supporting context.
Human Resolution
An approver reviews the escalation in chat or the Refund Review Queue, then approves, rejects, or returns it for more information.
We’ve created this example workflow to help you get started building your own Customer Refund Request.
Agents
The Customer Refund Request agent manages intake, policy checks, tool actions, escalation, requester updates, and closure for this operation.
# Agent roleYou are the Customer Refund Request agent. You manage one request from intake to closure, using policy knowledge, approved tools, and human escalation when required.
# Inputs- request_id: the tracked request row- requester: the authenticated employee who submitted the request- summary: the user's description of what they need- business_justification: why the request is needed- target_system_or_record: the relevant application, record, customer, vendor, invoice, device, or account
# Instructions1. Confirm the requester is authenticated and that the request belongs to this operation.2. Gather missing details in Slack or Teams before taking action. Use connected systems to retrieve context first, then ask the requester only for details that cannot be found.3. Check the policy knowledge source before approving, rejecting, or escalating. Do not invent policy rules.4. Auto-resolve by following the operation-specific steps in `# Auto-resolution`. Do not stop at a recommendation if the required tool call is permitted and the response is unambiguous.5. Escalate when approval is required, risk is unclear, data conflicts, or the requested action is outside the agent's permissions.6. Update the request row and write an audit entry for every decision, tool action, escalation, and closure.7. Reply to the requester with a concise status update and next step.
# Tool use- Use {{ budibase.Customer Refund Requests.get_row }} and {{ budibase.Customer Refund Requests.update_row }} to maintain request state.- Use {{ budibase.Customer Refund Audit Log.create_row }} to log decisions and actions.- Use notification tools only for requester updates, approver handoff, or operational escalation.
# Auto-resolution- Use {{ stripe.get_payment_intent }} to retrieve payment, charge, amount, currency, and refund history.- Use {{ zendesk.get_ticket }} to confirm the support reason and customer communication history.- Use {{ hubSpot.get_company }} to check customer status, plan, owner, and open renewal or churn risk.- If refund policy allows it, use {{ stripe.create_refund }} and then {{ zendesk.update_ticket }} with the refund result.- Escalate large refunds, chargeback risk, missing payment records, disputed invoices, and policy exceptions.
# OutputReturn JSON with request_id, status, decision, rationale, next_owner, and actions_taken.Data
Tables
Customer Refund Requests: Stores the request, requester, target record, status, current owner, decision, and closure details.
request_id: Text - Unique request identifier.requester: User - Authenticated employee who submitted the request.summary: Long Form Text - Short description of the request.target_record: Text - Relevant account, system, vendor, customer, asset, invoice, or application.status: Single Select - New, Triaging, Waiting, Escalated, Completed, Rejected, or Closed.priority: Single Select - Low, Medium, or High.decision: Single Select - Approved, Rejected, Escalated, or Cancelled.rationale: Long Form Text - Agent or approver explanation.created_at: Date - Request creation timestamp.closed_at: Date - Completion timestamp, if closed.
request_id,requester,summary,target_record,status,priority,decision,rationale,created_at,closed_atCS-1048,emma.clarke@example.com,"Please process this customer refund request.","Example target",Escalated,High,Escalated,"Requires owner approval.",2026-05-18T09:15:00.000Z,Customer Refund Audit Log: Records agent decisions, tool calls, escalations, notifications, and human actions.
event_id: Text - Unique audit event identifier.request_id: Text - Related request identifier.actor: Text - Agent, requester, approver, or integration name.event_type: Single Select - Message, Tool Call, Decision, Escalation, Approval, Rejection, or Closure.details: JSON - Structured event details.created_at: Date - Event timestamp.
event_id,request_id,actor,event_type,details,created_atEVT-2048,CS-1048,Customer Refund Request Agent,Escalation,"{""reason"":""Policy requires owner review""}",2026-05-18T09:18:00.000ZConnections

Slack: Captures refund requests from support or revenue teams, asks for missing customer and charge details, and posts refund status updates.
Teams: Supports Teams-based refund submissions and approval notifications for finance, support leads, or account owners.
Stripe: Verifies payments, invoice charges, refund eligibility, and refund status before the request is approved or completed.
Zendesk: Pulls support ticket history and writes refund outcomes back to the customer support case.
HubSpot: Provides account owner, lifecycle stage, deal history, and customer context for deciding whether the refund should be approved or escalated.
Confluence: Supplies refund policy, exception thresholds, customer eligibility rules, and required approval paths.
Adding Knowledge
The agent uses Confluence or SharePoint as a knowledge source when policy guidance, approval thresholds, ownership rules, or standard operating procedures are needed. The agent retrieves the relevant policy before deciding whether to auto-resolve, reject, or escalate a request.
Screens
Customer Refund Request
Customer Refund Request Form: A structured request screen for employees who need to provide required fields, attachments, or target record details that are awkward to collect in chat.
Refund Review Queue: A queue for approvers and operations owners to review escalated requests, see the agent’s rationale, and record a final decision.
Request Detail: A record view that shows request metadata, conversation history, audit events, tool outcomes, and final resolution.
Automations
Create Request Record: On Create Row - Sets the initial status, priority, timestamps, and default owner when a new request is submitted.
Invoke Customer Refund Request Agent: On Create Row - Sends the request context to the agent for triage and policy evaluation.
Escalation Reminder: On Update Row - Notifies the current approver when an escalated request has not moved within the expected review window.
Close Request Audit: On Update Row - Writes a final audit event and sends the requester a closure update when the request is completed, rejected, or cancelled.