The brief has a required first line: the evidence due date with the days remaining beside it. Everything below can be correct and the brief still fails when that line is buried. Claude Code follows an output specification of that kind across a long gather, which here means four Stripe reads before a word of the message is written.
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
SucceededDispute: 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.
Using this template drops you into a guided setup. It asks exactly this, nothing else:
Connect Stripe
One sign-in. The agent acts through your account, scoped to what this template uses.
Connect Slack
One sign-in. The agent acts through your account, scoped to what this template uses.
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.
Runs on Claude Code
Preselected for this page — connect your Claude Code account during setup, or switch to NoClick's built-in models with one click.
Watch it handle a test run
A staged conversation against a simulated world — then it’s live.
The due date is why the brief exists at all. It is copied out of Stripe rather than worked out, because a deadline an agent calculated is a deadline nobody can trust.
fraudulent, product_not_received and subscription_canceled each ask for an entirely different pile of proof. Softening one into ordinary English is how the wrong pile gets assembled.
The value Stripe returned, copied exactly, with the days remaining beside it. Nothing is converted, since a converted deadline that is off by one is worse than a raw one somebody reads carefully. If your team works to local time, say so in the playbook and the safe margin you set there does the rest.
Free to start. Guided setup, a test run against staged conversations, and it's live.