TOP SECRET
Case File · Night Four
Night Four: Finish The Autopilot
SUBJECTS
Tim McAlpine and guests
OPERATION
Night Four of Five · Hands-on
DATE / TIME
Monday, October 19 · 7:00 to 9:00 PM
CLEARANCE
BRIEFED BY
Paul Preibisch
EYES ONLY · THE PASSWORDS IN THIS FILE NEVER LEAVE THE SAFE
Where we are
Night one · Sept 28
Night two · Oct 5
Night three put it to work. Claude drove the apps, and we built phase one of the autopilot. Next slide: exactly where we stopped.
Quick check: who still has their safe running from night two?
Night three · Oct 13 · where we left off
The form
The spreadsheet
The Zap
Phase 1 of 5: done. Stamp it on page 1 of your file.
The whole plan · the scoreboard
1 · Done Oct 13 · members
Protect the calendar
Member bookings check the calendar before they book
2 · Tonight, first · non-members
Rental drafts
Every outside request gets a hold and a ready-to-send reply
3 · Tonight · non-members
Payment
Paid holds become rentals. Unpaid ones expire
4 · Tonight · members
Member billing
Hours over the plan become a draft invoice you approve
5 · Tonight, yours
Monday digest
The week's after-hours bookings, and what each needs
Two doors, one calendar. Members come through the member form, and phase 1 already guards that door. Non-members come through the rental request form at coworkchilliwack.com/rentals, and nothing guards that door yet. Phase 2 is that guard, so it goes first.
Order of priority if the night runs short: 2, then 3, then 4. Phase 5 is yours to build at home.
How every phase gets built · the same four steps as phase one
1
You paste the prompt into Claude. Every phase in your file has a brown box of text. That text is the prompt: it tells Claude, in plain English, what the Zap should do. Scan the QR code or type it, then press Enter.
2
Claude writes back its plan and its questions. Before it touches anything, it lists the steps it will build and asks about what it does not know. On night three it came back with "the form has no email field" and "the room is sometimes in the title". You answer. Nothing is built yet.
3
Claude builds it switched off, and you try it with fake data. A booking from your own email, a made-up renter, Stripe's practice card. You look at the calendar and the drafts to see it did the right thing. Then Claude deletes the test data.
4
You switch it on. You say "Switch the Zap on." Until you say that, it runs on nothing real.
Rule one
Claude drafts. You send. Every email and every invoice tonight waits for a person to press Send.
Rule two
Keys go in the safe. Claude gets the name. Tonight that is one key, from Stripe, in practice mode.
You did exactly this for phase one on night three. Tonight you do it four more times.
Before we build · two minutes
You do yourself
In the Claude app, open Settings → Connectors. Zapier, Google Calendar, Gmail, Google Drive and Google Sheets should all say Connected. Then start a new chat.
Connectors are the one thing Claude can't click for you.
Then say or paste · looks, changes nothing
Look at my Zapier, Google Calendar, Gmail and Sheets. Is the Zap "Member booking, with calendar check" switched on, and how many times has it run since October 13? Did any run fail? List every Zapier tool you can see. Don't change anything.
Copy prompt
It worked if Claude names the Zap, says on or off, and gives a run count.
Phase 2 · non-members only · one decision before we build
Today, for an outside rental: a request comes in from the website form, the front desk checks the calendar, replies from a Gmail template with the booking link, then types asterisks on the calendar to hold those hours until the renter pays. After phase 2: the Zap checks, holds and writes the reply by itself. The front desk opens the draft and presses Send. The asterisks are gone.
Option A · hold at submission · as written
The HOLD goes on the calendar the moment the form is submitted, before anyone has said yes. An unapproved hold is safer than an unguarded slot. If nobody pays, it drops off by itself after 48 hours. A request you turn down blocks the slot until you delete the hold or it expires. One Zap.
Option B · hold when you approve
The reply is drafted at once, but the HOLD goes on the calendar only when you press Send on that draft email, the one going back to the person who submitted the request. Nothing blocks the calendar until a person has said yes. Between the request and your Send, a member could still book the slot. Two Zaps.
Tim's call, out loud. Claude builds whichever he picks: the next slide is the Option A prompt, the one after it is Option B.
Phase 2 · Rental drafts · non-members only · this prompt is Option A: hold at submission
Build a Zap called "Rental request: hold and draft". This is for non-members only; member bookings already come through the member form and the calendar check from phase 1. When the rental request form on our website is submitted, check the "Cowork Chilliwack Bookings" calendar for that room and time. If it is free, add "HOLD · {name}" to the calendar with the room in Location, to expire if unpaid after 48 hours. If it is busy, do not add anything. Either way, create a Gmail draft from info@ to the requester, using our usual reply: available, with the link to book, or not available, with the next three free times. Put [HELD], [BUSY] or [AFTER HOURS] at the start of the subject. Never send. Show me the plan first, ask me about anything you are not sure of, and leave it switched off.
Copy prompt
What this replaces · non-members only
Today a request comes in, the front desk checks the calendar, replies from a Gmail template, then types asterisks on the calendar as a hold until the renter pays. After tonight the Zap checks, holds and drafts the reply by itself. The front desk opens the draft and presses Send. No more asterisks.
Option A, hold at submission. If Tim picks Option B, skip this and use the next slide. Then the same move as phase one: plan, fake test, delete the test, you say go.
Phase 2 · Rental drafts · non-members only · this prompt is Option B: hold when you press Send
Build phase 2 as two Zaps, because the hold should only go on the calendar once a person has replied. Zap one, "Rental request: draft reply": when the rental request form at coworkchilliwack.com/rentals is submitted, check the "Cowork Chilliwack Bookings" calendar for that room and time, and create a Gmail draft from info@ to the requester using our usual reply: available, with the link to book, or not available, with the next three free times. Put [FREE], [BUSY] or [AFTER HOURS] at the start of the subject, and put the room, date and time in the draft. Do not touch the calendar. Never send. Zap two, "Rental hold on send": when an email with [FREE] in the subject is sent from info@, add "HOLD · {name}" to the calendar for that room and time, with the room in Location, to expire if unpaid after 48 hours. Show me the plan first, ask me about anything you are not sure of, and leave both switched off.
Copy prompt
What changes in the test on the next slide
The free slot gets a [FREE] draft and no hold yet. Send that test draft to yourself, then look at the calendar: the HOLD appears. The busy one is the same as Option A: no hold, a [BUSY] draft with three other times.
Option B, two Zaps. Use this instead of the previous slide, never both. Phase 3 is the same either way: a paid HOLD becomes a RENTAL.
Phase 2 · non-members · test, then switch on
Say or paste
Test the rental Zap, or both Zaps, with two fake requests from my own email address: one for a free slot tomorrow, and one on top of a booking that already exists. Show me both drafts and anything added to the calendar. Wait for me to check, and delete the test hold and the test drafts only when I say so.
Copy prompt
It worked if
Then, and only then
Delete the test hold and the test drafts. Then switch the Zap on.
Stamp 2. Now both doors check the calendar: a member booking over this HOLD gets flagged by phase 1.
Two phases down
After the break: money. A payment link, and holds that turn into rentals.
Before phase 3 · get your key
1
Open the Stripe Dashboard. Switch on Test mode first, so no real money moves tonight
2
Go to Developers → API keys and choose Create restricted key
3
Name it claude-payment-links. Allow write for Payment Links, Products and Prices, and read for the rest
4
Copy the key and put it straight into your Infisical safe as stripe-test-key. Never into the chat
Then say or paste · names only
I stored a key called stripe-test-key in my safe. Never ask me to paste the value and never print it. Check that it works, and tell me which Stripe account it belongs to and whether it is in test mode.
Copy prompt
Why a restricted key
It can only do the jobs we list. If it ever leaks, it cannot touch your bank details or refund money. When we go live, we make a second key the same way and store it as stripe-live-key.
It worked if Claude names your Stripe account and says test mode.
Phase 3 · Payment · same move, new prompt
In the rental draft Zap, add a Stripe payment link for the exact hours × the room’s hourly rate (ask me for the rates before you build), with the booking name and time in the description. Then build “Payment received”: when that link is paid, rename the HOLD to “RENTAL · {name}” and mark the Rentals row paid; if it’s after hours, add “Meet renter” (or “Set door code” for trusted clients) to my calendar. Then build “Hold expiry”: every hour, delete unpaid holds older than 48 hours and draft a reminder at 24 hours.
Copy prompt
Test it with a fake payment
In test mode, pay the link with the test card 4242 4242 4242 4242, any future date, any code. The HOLD should become "RENTAL" and the sheet say paid. Then wait for the hold-expiry check.
Test mode only tonight. Going live comes later, with stripe-live-key.
Before phase 4 · we set it up together
What it is for: Zoho Billing is where Cowork already invoices members for extra room hours. Today that means counting a member's calendar blocks from renewal date to renewal date, making the invoice in Zoho Billing by hand, and sending it. Phase 4 does the counting and writes the draft invoice there for you. Zapier is not yet connected to Zoho Billing, so this step connects them.
1
Sign in to your Zoho Billing account, the one you send overage invoices from today
2
In Zapier, add a Zoho Billing connection and sign in when it asks (a connector, no key)
3
Check one test customer exists in Zoho Billing, with its customer ID
4
If Zapier has no connection for it, make an API client in Zoho, and put its secret straight into the safe
Then say or paste · looks, changes nothing
Look in Zapier for a Zoho Billing connection. If it is not connected, walk me through connecting it one click at a time. Find one test customer and tell me its customer ID. Do not create any invoice.
Copy prompt
It worked if Claude finds the connection and one test customer ID.
Phase 4 · Member billing · drafts only
Build a Zap called “Overage invoice”. Every morning, find each company whose renewal date in the Member lookup tab is tomorrow. Total that company’s hours since its last renewal from the Hours log tab, compare them with its included hours in the Member lookup tab, and if it is over, create a draft invoice in Zoho Billing for the extra hours at our overage rate (ask me). Email me a summary of what you drafted. Never send an invoice. Show me the plan and test it with a fake row in the Hours log.
Copy prompt
Test it with a fake row
Run the Zap once by hand. Add a fake Hours log row that pushes your test customer over its hours. A draft invoice appears in Zoho Billing and you get a summary email. Nothing is sent.
Claude never sends an invoice. You approve it.
Phase 5 · Extras · your turn
Build a Zap that every Monday at 8 am emails me all room bookings for the coming week that fall outside Mon–Fri 8–5, saying for each one whether I need to meet them or set a door code.
Copy prompt
On your own this time
You know the move now: paste, read the plan, fake test, say go. We walk around and help only if you get stuck. Every Monday at 8 am you get the week's after-hours bookings, and what each one needs from you.
Plan first, fake test, then you say go.
Before you trust it · the adversarial review
Do an adversarial review of the whole room booking autopilot: all five Zaps, the Hours log and Member lookup tabs, and the calendar rules. Assume something is wrong and find it: a double booking that could still slip through, a hold that never expires, an email that could go to the wrong person, anything that could damage the master sheet. You must find problems. List them in order of harm, say how to check each one, and don't fix anything yet.
Copy prompt
From the BMAD method you met on night two
A reviewer that is not allowed to say "looks good". It has to find problems, so it looks harder than a friendly reviewer would. Some findings will be nitpicks or plain wrong. You decide which are real, then say which to fix.
Zero findings means it did not look. Make it look again.
Before night five
1
Let all the Zaps run on real bookings. You press Send on every draft, all week.
2
Note any draft you had to change, and any booking it got wrong. Bring the list.
3
Fix the review findings you marked "real". Ask Claude to re-run the review after.
4
Everyone: pick one repetitive job in your own business and write down, in plain words, what "done" looks like.
Night five · Monday, October 26 · the last one
After night five: the online Room opens in November. Same material, from anywhere.
Before you close the laptop
Write a plain-English journal entry of what we did tonight, including anything still not finished.
Copy prompt
Sept 28 · Night One
Oct 5 · Night Two: the safe
Oct 13 · Night Three: Claude drives
Oct 19 · Night Four: finish the autopilot
Oct 26 · Night Five: the castle and the hands
Paul Preibisch · 604-845-8294 · preibisch.biz