My studio booking runs on its own. A client pays an invoice, gets a code, and books their session without me. It costs about $200 a month. For a while it also sent me error emails, and I decided to go through every one of them until they stopped.
How the setup works
- A client pays a QuickBooks invoice.
- Make sees the payment and creates a booking code in Acuity that matches what they bought.
- The client books their own slot in the studio calendar.
- Slack tells the team a session is booked.
When it works, I don’t touch anything. One studio hour pays for the whole stack every month, and I no longer book anyone by hand.
The audit
On September 20 I asked Claude to look at the setup. It read the live Make scenarios directly through a connection to my Make account. No export, no screenshots. It saw the same routes and filters I see.
Then we took the error emails one at a time and traced each one back to its cause.
The holes it found
- Only line 1 counted. The routes for bundles only read the first line of the invoice. If the studio time wasn’t on line 1, no code went out.
- Mixed invoices broke it. An invoice with an hourly line and a bundle on it failed the same way.
- A new route moved an old one. When I added a route for the 2-hour bundle, it shifted Make’s fallback route. Claude caught that the next day.
What failed
The audit found the holes. The worst one was a bug that let clients book without their credit being applied. The booking went through, but the system didn’t count it against what they had paid for.
We fixed it and rebuilt the logic behind it. Every paying client got their booking link. That one came close, and I only caught it because I stopped ignoring the error emails.
What I changed
- The bundle always goes on line 1. Every invoice, no exceptions.
- Editing is its own item. It’s a separate product in QuickBooks, so it never gets mixed into a studio bundle.
- Smaller bundles. I added 1-hour and 2-hour bundles.
- One warning instead of four. Four Slack messages became a single warning line.
- Setup sent ahead. Clients now send what they need for the session before they come in.
The rules behind the codes
The automation only works if the rules are written down first. These are mine.
- Codes expire. 30 days for the 1-hour, 2-hour and 3-hour bundles. 90 days for the 10-hour bundle.
- A 2-hour bundle is one session. It books as a single 2-hour slot, never as two separate hours.
- No flexible hour packages for now. I paused them. A credit has to say exactly which session lengths it can book, or minutes get stranded and nobody can use them.
How I tested it
The first test run was an invoice I sent to myself and never paid. No real client was involved.
What I still do by hand
- Odd deals. A 7-hour or a 17-hour package doesn’t fit any route.
- True deposits. A real 50% deposit still needs me.
- Orphan payments. When a payment lands with no route to catch it, I issue the code myself.
What I do now
- Every error email gets read. Each one is either fixed or explained.
- Test with my own invoice. Before any new route goes live.
- Rules first, automation second. If I can’t write the rule in one sentence, I don’t automate it.

