A recovery run is four Stripe reads and a short email, repeated once per decline. OpenCode is model-agnostic, so the cost per failure is something you set rather than accept, which matters on the day a large renewal cohort all bills at once. What the agent can reach inside Stripe does not shift with the model you choose.
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 OpenCode
Preselected for this page — connect your OpenCode 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.
Choosing the model is what makes it comfortable to run this on every failure rather than only on invoices above some threshold you picked to save money.
A card network wobble or a big annual cohort turns one failure into two hundred. Nothing in the setup changes, only the number of runs.
The format does not move, since the instructions fix it at one line per failed charge with the customer, amount, reason and failure count. What can vary is judgment, mainly whether it recognises an account your policy marks as high value and skips the draft. Check that case in Test Run against whichever model you settle on.
Free to start. Guided setup, a test run against staged conversations, and it's live.