How to process refund and return requests as Small Customer Success Teams

Customer SupportFor Small Customer Success Teams2 apps12 steps~24 min to set up

Your 3-person team handles refund and return requests the same way you handle everything else — manually, across too many tabs. A customer emails in, you check Intercom for the thread history, open HubSpot to see what their contract looks like, dig through Stripe or your billing system to confirm what they paid, then write a reply from scratch. For a $200 refund request, you're spending 20 minutes. Multiply that across 15 requests a week across 250 B2B accounts, and it's eating half a day that should go toward QBRs and renewals. There's no shared queue. There's no policy enforcement. There's no way to know whether a given account has a pattern of requesting refunds until you're already in the weeds.

Customer SupportFor Small Customer Success Teams2 apps12 steps~24 min to set up
Outcome

What you'll set up

A refund and return triage surface that pulls the customer's billing history from Stripe and their support thread from Intercom the moment a request comes in, so whoever picks it up has full context in one view
An automated policy-check step that flags whether the request is inside your return window, what tier the account is on, and whether they've submitted a similar request in the last 90 days — before anyone types a single word
A decision log that records every refund issued, the reason code, and who approved it, so you can report on refund volume by account at your next QBR without reconstructing it from memory
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your Stripe data on a schedule (charges, customers, invoices) and your Gmail data on a schedule for email-based requests. Connect Intercom and HubSpot from Starch's integration catalog — the agent queries them live when the tracker or automation runs. Slack is also connected from Starch's integration catalog for daily digest posting. If your return portal lives on a web page with no API, Starch can automate it through your browser — no API needed.

Prompts to copy
Build me a refund request tracker that pulls in the customer's Stripe billing history and Intercom support thread history when a new request arrives. Show me their account tier from HubSpot, how long they've been a customer, and whether they've submitted a refund request in the last 90 days. Flag anything outside our 30-day return window in red.
Build an automation that runs every morning, pulls all open refund requests from Intercom tagged 'refund' or 'return,' matches each one to a HubSpot company record, checks the Stripe charge date against a 30-day window, and posts a Slack summary of which ones are in-policy, which are out-of-policy, and which need a manager decision.
Customer Support Agent — coming soon — will handle first-response acknowledgment on inbound refund requests automatically, using your return policy as the source of truth, and escalate anything that needs a human with the Stripe and Intercom context already attached.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Stripe as a scheduled-sync provider — Starch will automatically pull charges, customers, and invoice history on a regular cadence so billing context is always current when a request comes in.
2 Connect Intercom from Starch's integration catalog so the agent can query open tickets, thread history, and customer tags live when a refund request surfaces.
3 Connect HubSpot from Starch's integration catalog so the tracker can pull account tier, contract start date, and owner from your CRM record without you switching tabs.
4 Connect Slack from Starch's integration catalog so automated summaries and escalation alerts can reach your team in the channel you already monitor.
5 Describe your refund tracker to Starch in plain language — tell it what fields matter to your team (account tier, charge date, days since purchase, prior refund history, request reason) and it builds the surface.
6 Set your policy rules in natural language: 'flag any request older than 30 days, flag any account that has had a refund approved in the last 90 days, and mark enterprise accounts for manager review regardless of timing.'
7 Build the morning automation: Starch checks Intercom for new refund-tagged tickets, matches each to a Stripe charge and a HubSpot company, runs the policy check, and posts a prioritized list to Slack before your team starts their day.
8 For each in-policy request, Starch drafts a reply from your Gmail account (synced on a schedule) using the customer's name, charge amount, and expected refund timeline — your rep reviews and sends with one click.
9 For out-of-policy or high-value requests, Starch flags the item in the tracker with the relevant context and assigns it to the team member who owns that account in HubSpot.
10 Every approved refund gets logged in the decision tracker with a reason code, approver, account name, and amount — this becomes your refund report at QBR time without any manual reconstruction.
11 At the end of each month, run a query against your refund log: 'show me total refunds issued by account, broken down by reason code, for the last 90 days' — Starch returns the answer from data already in the system.
12 When Customer Support Agent launches (coming soon), wire it into your Intercom channel to handle first-response acknowledgments on inbound refund requests automatically, so customers hear back within minutes even when your team is on calls.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 refund spike — SaaS team managing 250 B2B accounts

Sample numbers from a real run
Hartwell Logistics1,200
Meridian Analytics450
Crestwood Digital3,800
Farpoint Solutions275
Blueridge Ops900

In March 2026, your team saw 23 refund requests come in across a two-week window — double the normal rate, triggered by a pricing change that confused several mid-market accounts. Before Starch, that would have meant 23 separate Intercom threads to triage, 23 manual Stripe lookups, and a spreadsheet someone had to maintain to make sure nothing slipped. With the refund tracker live, each request auto-populated with the account's Stripe invoice date, HubSpot tier, and prior refund history the moment it was tagged in Intercom. Crestwood Digital's $3,800 request was immediately flagged: their invoice was 47 days old (outside your 30-day window) and they had an approved refund in October. That surfaced to the team lead for a manager call rather than going through standard processing. Hartwell Logistics and Blueridge Ops were clean — in-policy, first-time requests, enterprise tier — so Starch drafted acknowledgment replies from your Gmail sync and your rep sent both in under 4 minutes. By end of the two weeks, all 23 requests were resolved, the decision log had a complete record with reason codes, and your QBR deck for those accounts had a refund-activity line item that took 30 seconds to pull — not 30 minutes to reconstruct.

Measurement

How you'll know it's working

Average time to first response on refund requests (target: under 2 hours)
Percentage of requests resolved within policy window without escalation
Refund rate by account tier — tracked per QBR cycle to spot churn-risk patterns early
Out-of-policy request volume as a share of total refund requests
CS team time spent on refund processing per week (hours recovered)
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Zendesk + manual Stripe lookup
Zendesk handles the ticket queue but has no native Stripe or HubSpot context — your team is still tab-switching to build the full picture on every single request.
Gainsight or ChurnZero
These platforms surface refund patterns as a churn signal, but they cost six figures, require a CS-ops person to configure, and still don't automate the actual processing or drafting workflow.
A shared Google Sheet
Works until your refund volume crosses 10 requests a week or you need to look up whether an account has a refund history — at that point it becomes a maintenance problem, not a solution.
Intercom alone
Good for receiving and responding to requests, but has no billing data, no policy-check logic, and no way to generate the refund log your CS lead wants to see at QBR time.
On Starch RECOMMENDED

One platform — crm, customer support agent all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

Does Starch connect to Intercom? We use it as our main support inbox.
Yes. Connect Intercom from Starch's integration catalog — the agent queries your tickets, threads, and tags live when your refund tracker or automation runs. It's not a scheduled sync, so data is pulled in real time when Starch needs it rather than stored in Starch's database.
Our Stripe charges are the source of truth for refund eligibility. How does that work?
Starch syncs your Stripe data on a schedule — charges, customers, invoices, and subscription status. That data lives in Starch's database and is available immediately when a refund request comes in, so the policy check (is this charge within the 30-day window?) runs without a live API call to Stripe each time.
We don't have an API for our returns portal — customers submit through a web form. Can Starch still reach it?
Yes. If the portal is a website your team can log into and navigate, Starch can automate it through your browser — no API needed. That includes submitting status updates, pulling submission data, or checking request status on any web-based portal.
Is Starch SOC 2 Type II certified? We handle billing data and our customers ask about this.
Not yet. Starch is not currently SOC 2 Type II certified. That's worth knowing if your customer contracts have specific security audit requirements. It's on the roadmap — if this is a hard blocker for your team, reach out and the team can tell you where that stands.
The Customer Support Agent sounds exactly like what we need for first-response on refund emails. Can we use it now?
Not yet — Customer Support Agent is currently in development. You can request beta access to get notified when it launches. In the meantime, the Email Triage app (live today, using your Gmail sync) can help your team prioritize inbound refund requests and draft replies faster, though it won't auto-respond the way the Support Agent will.
We track refund volume in our QBR decks. Can Starch generate that report?
Yes, and this is one of the clearest wins. Once the decision log is live and logging every approved refund with a reason code and account name, you can ask Starch in plain language: 'show me total refunds by account for Q1, broken down by reason code.' It returns the answer from data already in the system — no spreadsheet reconstruction needed before your next QBR.

Ready to run process refund and return requests on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.