What the source did
- He's not a developer. He runs the back office for a mid-sized B2B team.
- Since 2025 he has built 17 small bots with Claude Code for jobs nobody wanted: logging complaints from support chats, emailing monthly statements, watching other bots for errors, and night jobs.
- Cost he states: "$100/month (one Claude Max subscription, zero API spend)" on one Mac that isn't allowed to sleep.
- Fourteen of the 17 never call a model — plain Python reading a database and filling templates.
- Nothing goes out without a human click. Every email, statement or reward is a Slack card first, showing who it's going to, three numbers to sanity-check, and Approve / Cancel.
- Cancel caught three real mistakes. The best one: a statement bot added a delivery fee once per line instead of once per order, so a customer with ten lines got ten delivery fees; the total looked wrong, he hit Cancel, and the same bug showed up in a dashboard.
- Lessons he lists: start on a subscription, not the API; don't buy a server (use a laptop with sleep off); log what humans correct and turn those into rules, not model upgrades; put alerts in a single person's DM (an alerts channel became wallpaper).
- His blog (Oct 21, 2026, byline OI): Block Kit card with a headline, label/value fields, Approve/Cancel; job id in the button value; recipient on the card; only the numbers humans need, not a full spreadsheet; errors to one person's DM, not the approval channel; a cc to the support mailbox fixed in code.
- He also posted a Reddit mirror of the same story; we read it via Arctic Shift after live Reddit returned 403.
- Heads-up: no importable workflow. Our version follows the steps he and the blog describe.
“the most important part is a Cancel button”— u/botsinproduction (r/SideProject), Reddit
Summary written by Agent Cookbook from the original post. See the original for the full context. How we source recipes
Our notes
- What it takes
- Claude Code (one Claude Max subscription in his setup), plain Python for template bots, Slack Block Kit cards, and one Mac left awake. His blog shows the card shape; there is no importable workflow.
- Where it breaks
- Shipping without Cancel, alerts in a channel nobody reads, and starting on metered API spend. The $100/mo figure is his Claude Max cost, not a savings claim. Reddit score was ~0 when verified.
- Human checkpoint
- Nothing emails a customer, sends a statement or issues a reward without an Approve click. Cancel stops the send.
- Tools involved
- Claude Code (he uses one Claude Max subscription), Plain Python for bots that only read a DB and fill templates, Slack with Block Kit approve/cancel cards, One Mac left awake for night jobs, Your support mailbox to cc when needed
✓ Verified Source link checked and still live. Notes by Thomas, editor. How we verify
Read their guide
Made and published by u/botsinproduction. Start here; it is their original, not ours.
Our adapted version
Ours Our version, based on what u/botsinproduction described and their blog. They shared no importable workflow. Fill in the [BRACKETS].
Approval rule
Set it up
- List the outbound jobs: statements, complaint logs, rewards, night watches.
- Build the Slack Block Kit card from his blog shape: headline, label/value fields, Approve/Cancel, job id in the button value.
- Put every outbound email, statement or reward behind that card. Show the recipient and three checkable numbers.
- Keep most bots as plain Python over the database; only use Claude Code where the job needs a model.
- Leave one Mac awake for night jobs instead of buying a server.
- When you Cancel or edit a card, log the correction and turn it into a rule.
- Route errors to one person's DM so the approval channel stays readable.
Common failures
- Shipping without a Cancel path. He says Cancel caught three real mistakes, including the per-line delivery fee.
- An alerts channel nobody reads. He moved errors to a single DM.
- Starting on metered API spend. He runs on one Claude Max subscription with zero API spend.
- Asking the model to remember to cc support. He fixed the support mailbox cc in code.
- Putting a full spreadsheet on the card. The blog keeps only the numbers a human needs to check.
Variations
- Statements only: gate monthly statement emails first, then add rewards and complaint digests.
- Dashboard twin: the delivery-fee bug also showed in a dashboard; pair the card with a totals check.
- Rules log: a sheet of every Cancel reason that feeds the next bot change.
Related setups: Bookkeeping agent you approve → · Grok Bot admin team for a one-person print shop → · Two dozen Grok Bots run an HVAC firm's office → · A family firm's ERP run by Claude Code agents → · Done-when lists and a two-try stop rule → · Grok Bot agents run from GitHub job packs → · Inbox routing for a consulting firm →
Get the 10 best agent setups. Free.
Plus new recipes every week. One email, no spam.
Unsubscribe anytime. Privacy