Back to blog

How DelegateZero Handles Refund Requests (Real Example)

April 16, 2026

Two a.m., a ticket arrives: a customer on your Pro plan says their onboarding failed, they want a refund, and they’re threatening to post a negative review. You’re the bottleneck. You can either drop everything or let DelegateZero make the call and act like you were in the room.

delegatezero refund automation: the full path from request to audit trail

Here’s a real, representative example showing exactly what happens when DelegateZero handles a refund request. I’ll show the API call, the context it consulted, the decision output you get back, and the shareable audit trail you can send to your ops team or the customer.

The request we’ll use: Acme Analytics, on a $200/month Pro plan, canceled after two months. Customer reports a failed import during month two and asks for a prorated refund of $300 for the remaining subscription plus a goodwill credit. That’s concrete, painful, and a place founders get stuck.

Step 1 — you post the decision. Typical API call: POST /api/v1/decisions with a plain-language request. You can include instructions like a confidence_threshold or pin specific context entries for deterministic results. For testing, set "dry_run": true.

DelegateZero then loads context. In this case it checks:

  • Policy: Refund policy — 30 days full, 31–90 days prorated at 50% (saved as a Policies entry)
  • Precedent: A past refund for Acme two months earlier where support issued a partial goodwill credit of $75 (Precedents)
  • Entity: Acme Analytics record with payment history and a 4/5 CSAT in the last quarter (Entities)
  • Memory: Recent corrections show you manually overrode DelegateZero on late churn refunds twice last quarter (Memory)
  • Sources: The support thread and the failing import error log you attached (Sources)

Context is weighted by relevance and freshness. If the refund policy hasn’t been updated in 400 days, DelegateZero flags it as stale and reduces confidence. If you want to skip relevance scoring and run only the entries you care about, pass context_ids to pin them; that makes the audit trail cleaner.

Step 2 — evaluation. DelegateZero compares the request to each context type and returns a structured outcome: execute, draft, or escalate. It never guesses silently. If the confidence level is below your threshold or a policy might be violated, it escalates and asks the minimum follow-up questions needed.

Here’s a representative decision payload you’ll see back (trimmed for clarity):

decision: execute

confidence: 0.82

title: prorated refund — acme analytics

summary: Customer eligible for 50% prorated refund per policy; issue $300 refund and send drafted response with $75 goodwill credit applied.

response: Drafted customer email (HTML) with the refund details, payment transaction ID, and a one-line troubleshooting invite.

reason: Policy (31–90 days, 50% prorated) applies; precedent shows prior $75 goodwill credit; customer payment history and CSAT favor issuing the credit; no policy violations found. Memory indicates you have overridden similar cases but for lower-impact refunds; confidence adjusted accordingly.

suggestion: Add a short playbook entry defining when to auto-issue goodwill credits under 25% of monthly MRR to reduce future escalations.

audit_url: https://delegatezero.com/audit/decisions/dec_abc123

The actual response includes the refund amount, ledger line to post internally, a ready-to-send customer email, and a confidence score. If you’ve enabled auto-reply and a reply delay, DelegateZero can send the message automatically; otherwise it saves the draft where you can review it.

Step 3 — the audit trail. Click the audit_url and you get a read-only trace showing every input and every reasoning step: which policy lines were matched, which precedent entries influenced the goodwill amount, which Memory records lowered confidence, and any stale-context flags. That link is safe to share outside your org for transparency or compliance.

Why this works for founders who are time-poor: you stop getting pinged for routine but context-heavy decisions. DelegateZero represents your judgment because you actually encoded it — policies you wrote, precedents you saved, and the implicit pattern that Memory captured from your past overrides. It’s conservative by default; it escalates when it shouldn’t decide.

If you want to run this against your own data before going live, use dry_run mode or pin the relevant context entries to force deterministic output. See the API docs for examples: /docs/requests/api and read about the audit logs here: /docs/requests/audit-logs.

One practical calibration tip: start with a high confidence_threshold (0.8) for money-backed decisions, then lower it after 30 days if your override rate is under 10 percent. DelegateZero will surface that pattern for you: the Auto-Calibration Loop and Decision Debt dashboard make the trade-offs explicit.

You’ll still make the hard calls. But for the dozens of refunds that follow predictable patterns, DelegateZero buys you hours each week and a consistent, auditable record of how those decisions were made.

FAQs

How does DelegateZero refund automation work?

DelegateZero evaluates a plain-language refund request against your loaded context (policies, precedents, memory, entities), weights relevance and freshness, and returns execute, draft, or escalate with a confidence score, reasoning, and an audit link. Policies override other signals and low-confidence cases automatically escalate for human review.

Will customers notice if a refund reply is automated?

Customers typically don’t if the reply is high-quality and human in tone. Use templates and tone controls, start by saving drafts for review, and enable auto-reply with a configurable delay only after you validate outcomes. Measure CSAT and escalation rates before widening automation.

What's the difference between a rules engine and DelegateZero for refunds?

They're fundamentally different: rules engines use fixed if/then logic that breaks on edge cases; DelegateZero combines explicit policies with precedents and a growing Memory to make context-aware judgments, and it escalates when signals are thin—reducing brittle errors while preserving human oversight.

How do you keep audit trails and reasoning for refunds?

Every decision produces a readable audit record showing which context entries influenced the result, confidence, the full rationale, and any stale flags. Read-only audit links can be shared for postmortems, customer questions, or compliance; the trail is the single source of truth for why a refund was granted or declined.

Is it safe to let an automated system give full refunds without a human in the loop?

You shouldn’t let automation issue unlimited refunds without guardrails. Set hard policy limits, conservative confidence thresholds, and require escalation past those limits. Start with drafts and monitor overrides; an auto-calibration loop and correction events are the pragmatic way to scale delegation safely.