Finance & ops
The customers about to leave over a card, not a decision.
#financepublic channel4 tool calls
Failed charges in the last week, joined to the subscription behind each and the account owner in the CRM — sorted by how close each is to the final retry, so the two calls worth making today are the first two lines.
Dan9:40 AM
@attest_tag anyone about to churn on a failed card?
attest_tagApp9:41 AM
- http_request · GET api.stripe.com/v1/charges?limit=100 · 7 failed in 7d
- http_request · GET api.stripe.com/v1/subscriptions?customer=… · 4 active
- hubspot_search · companies · domain match · 4 owners
- run_js · retries remaining, monthly value · sorted
Four at risk, two urgent.
- Northwind Logistics — £1,000/mo, third failure, final retry Thursday. Card expired. Owner: Dan.
- Ledgerly — £240/mo, final retry tomorrow, insufficient funds twice. Owner: Priya.
- Two more on a first failure, retrying next week — worth watching, not calling.
I can draft each owner a note with the customer and the retry date, or open a task per account. Neither happens until you say so.
google/gemini-flash21k in560 out$0.011Configure
How the turn went
Two connections, one join, and a list ordered by when it stops mattering.
- 01
A failed charge is not yet a lost customer
Each failure is traced to its subscription, because what matters is how many retries are left rather than how many have failed. The sort is by the date the subscription actually lapses, which is the only ordering that tells you who to ring first.
- 02
The owner comes from the CRM
Billing knows the customer; the CRM knows whose account it is. The two are joined on the company domain, and an account with no owner in the CRM is listed as having none rather than assigned to whoever looks likely.
- 03
It stops before doing anything about it
The reply offers the drafts and the tasks and then waits. A turn that reads four things and opens four tasks unasked is a turn nobody can trust with a fifth connection.
What it needs
The setup, in the console.
What it will not do
Enforced outside the model.
It cannot retry a charge, update a card or cancel a subscription; the billing key carries no write.
It will not guess an account owner. A company the CRM does not know is reported as unowned.
Try it
Say it in a channel it is in.
The sentence as it was typed. It works in any channel the bot has been invited to that carries the connection above — no command syntax, no form, and follow-ups in the thread need no mention.
@attest_tag anyone about to churn on a failed card?
http_requesthubspot_searchrun_js
More in Finance & ops
The month-end chores, done before the meeting.
- The payout, tied to the invoices in it.#finance · what's in Friday's payout? it's £41,204.18 and I can't make it tie
- The monthly numbers, with the workings attached.#finance · on the 1st of every month at 9, post last month's revenue, new customers and churn here — and attach the workings
- What is waiting on you, and who is sitting on the rest.#ops · what's waiting on me and what's waiting on someone else?
Bring the channel this would live in.
Sign up, connect the service above in one channel, and type this sentence yourself — or run the same binary on your own infrastructure.