Quick overview
I built this for appointment businesses losing money to no-shows. Each new booking in your Google Calendar gets a Stripe deposit link by email. A paid booking turns green, and an unpaid one is released at your deadline so you can fill the slot. It runs on your calendar.
How it works
- Every 15 minutes the workflow reads your calendar and a Deposits tab in Google Sheets.
- A new booking gets a Stripe checkout for its deposit, sized by the service named in its title, and the client gets the link.
- Halfway to the deadline an unpaid client gets one reminder.
- When the deposit is paid, the booking turns green and the client gets a confirmation.
- At the deadline I close the checkout first and only then turn the booking red. The client is told the slot was released, with you copied in.
- A paid booking cancelled inside your refund window is refunded through Stripe or marked Refund due, and a later cancellation keeps the deposit.
- Bookings made before the first run are never asked. At 07:30 you get today's bookings with each deposit's state.
- When a step fails, it is written to an Errors tab and emailed to you, and a booking Stripe refuses is parked rather than retried.
Setup
- Import the workflow and make a Google Sheet with a Deposits tab and an Errors tab (the headers are in the README).
- Connect Google Calendar, Google Sheets, Gmail and Stripe, starting with your Stripe test key.
- Fill in your email, business name, sheet URL and the page clients see after paying in Your Settings, then set your deposit per service.
- Click Try A Fake Booking, and I send the deposit email to your own inbox with a working test link.
- Activate it in preview mode, and switch email_mode to send when you are happy.
Requirements
- An n8n instance on version 2.x (I tested it on 2.38), a Google account with Calendar, Sheets and Gmail, and a Stripe account.
Customization
- I keep every choice in Your Settings: the deposit per service, the pay-by deadline and your refund window. Repeating bookings stay skipped unless you turn them on in the same node.
Additional info
Price: $19 plus local sales tax or VAT where it applies.
I send client messages by email, so a booking with no email address sends you the link to forward. Refunds are full refunds of the deposit, with no partial refunds or no-show charges on a saved card. A released slot stays in your calendar, marked red, until you rebook or delete it.
Support: [email protected]