Stripe Dispute Response Agent with OpenCode

Four reads and one message, with the judgement sitting entirely in which playbook entry applies. OpenCode is open and model agnostic, which leaves the engine as the interesting decision on a job this narrow rather than the wiring.

Loading preview…
Free to start · guided setup

Watch it work before it's live

Run a staged conversation — no account needed. The agent handles it for real while a simulated world answers its tool calls; nothing touches real accounts, and nothing is actually sent.

Payment

Succeeded

Dispute: fraudulent

Mei-Ling Chan · ch_3RbK92Lm4Qv1Xy

A 1,180.00 SGD charge dated 3 August is disputed as fraudulent by the issuing bank. Evidence is due 19 August at 23:59 UTC. This card has paid fourteen times since April 2024, most recently nine days ago, with no dispute ever raised. The charge covers an annual Studio plan bought from a Singapore address, and the account has signed in every week since.

Set up in minutes

Using this template drops you into a guided setup. It asks exactly this, nothing else:

  1. Connect Stripe

    One sign-in. The agent acts through your account, scoped to what this template uses.

  2. Connect Slack

    One sign-in. The agent acts through your account, scoped to what this template uses.

  3. Dispute playbook

    How you handle disputes: which reason codes you contest and which you write off, the evidence you keep for each and where it lives, the amount above which somebody has to sign off, and the shape you want the Slack brief in. Every recommendation the agent makes is taken from here.

  4. Runs on OpenCode

    Preselected for this page — connect your OpenCode account during setup, or switch to NoClick's built-in models with one click.

  5. Watch it handle a test run

    A staged conversation against a simulated world — then it’s live.

Why OpenCode for this agent

History reframes the claim

Fourteen clean payments on one card and a single charge forty minutes after signup are opposite situations behind the same code. The charge list is fetched so that comparison is available before anybody opens Stripe.

Uncovered codes stop the brief

Where your playbook has no entry for a code, the correct output says so and stops rather than inventing an argument. That refusal is worth testing on whichever engine you pick.

Before you fork

Our playbook only covers three reason codes today. What happens on a fourth?

The brief still arrives with the deadline, the amount, the code as Stripe wrote it and the payment history, and then says plainly that your playbook covers nothing for this one. That is a useful message rather than a failed run, and it is usually what prompts the fourth entry to get written. Starting with the codes you actually see is the right way in.

Run it with a different agent

Put Stripe Dispute Response Agent to work on OpenCode

Free to start. Guided setup, a test run against staged conversations, and it's live.