Before it drafts anything, this agent assembles a picture from four separate Stripe reads: who the customer is, whether this is the first failure or the fourth, what the invoice covers, and what stops working if it stays unpaid. Claude Code is reliable across that kind of multi-step gathering and does the reading before it commits to a tone. The difference shows on a fourth decline, where a cheerful first-notice email would be the wrong letter entirely.
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
SucceededPayment failed for Aurora Bakehouse, 89.00 EUR
Lucia Marin · lucia.marin@aurorabakehouse.es
Charge ch_3PkR2xLg on the 89.00 EUR Growth plan failed with decline code expired_card, against invoice in_1PkR2y for the 1 August billing period. Customer since March 2025 with twelve successful payments and no previous failures. The subscription is active and the next automatic retry is in three days. Card on file is a Visa ending 4417 that expired in July.
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 Gmail
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.
Dunning policy
How you chase a failed payment - how soon you reach out, the tone, how many attempts before you stop, what happens to the account meanwhile, and which customers are too valuable to email without a person reading it first.
Business context
What your business sells and what the customer loses while the payment is unpaid, in your own words. The agent explains the situation from this and claims nothing beyond it.
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.
An expired card and a third decline in a fortnight deserve different wording. Working that out means holding several Stripe results in view at once, which is where a careful harness earns its keep.
Amounts, currencies, invoice numbers and dates have to survive from the API response into the draft unchanged. Reading thoroughly is the cheap defence against a dunning email that quotes the wrong total.
No, and that is a wiring decision rather than a matter of instructions. Stripe is connected with read operations only, so retrying, refunding, editing a payment method and cancelling a subscription sit outside what any harness could do from here. Its two writing abilities are a Gmail draft and one Slack line.
Free to start. Guided setup, a test run against staged conversations, and it's live.