Kim runs a small residential cleaning company with one employee. Her employee Dani handles the bookings in Google Calendar. Kim invoices through Square after each job. Client emails go out when Kim gets around to them. Payment status lives in her head, and whether a client is new or has been with them for two years is something she has to look up every time.

The tools were already doing their jobs. The business just needed a better way for information to move between them.

This is the kind of system we can help build: practical, affordable, and designed around the way the business already works.

What changed

Kim can see the whole week at a glance without chasing updates from Dani.

Clients get booking confirmations and day-before reminders without anyone writing them manually.

Payment status flows from Square into one dashboard. Paid and unpaid jobs are easy to spot.

The business kept the tools that were already working. The information just moves between them now.

five tools, one system.

Nothing here replaced the tools already in use. The goal was to connect what was working so Kim could see the whole picture without pulling up three apps and a text thread to answer a basic question about the week.

Scheduling

Google Calendar

Dani keeps booking jobs here the same way she always has. No new app to learn, no login to share. The calendar stays Dani’s tool. Zapier just watches it.

Connection layer

Zapier

When a new event lands in Google Calendar, Zapier picks it up and does three things: updates Airtable, fires the client confirmation through MailerLite, and watches Square for payment. One layer connecting everything else.

Owner dashboard

Airtable

Every client, every job, every payment status in one place. New bookings appear automatically. When Square confirms a payment, the record updates. Kim stops texting Dani to find out what’s on for Thursday.

Invoicing and payment

Square

Kim still sends invoices from Square after every job, on her phone, the way she always has. Square was not broken. Zapier just listens for the payment confirmation and logs it back to Airtable, so the dashboard updates without Kim doing anything extra.

Client emails

MailerLite

Booking confirmations and day-before reminders go out automatically when a job lands in Google Calendar. Post-clean follow-ups and rebooking nudges fire on a schedule based on the job date. Kim’s name is on every one. She is not writing any of them.

A note on Square

Some systems try to replace existing tools with an all-in-one platform even when the current tool is doing its job fine. That usually means retraining staff and moving data around for not much practical gain.

Square handles invoicing well and Kim already knows how to use it. The better move was to leave Square in place and let Zapier listen for payment updates quietly in the background.

The tools in this stack are either free or cost somewhere around a tank of gas a month combined, depending on what the business already has. The time saved is harder to put a number on, but Kim knows exactly what it cost her when she spent a Tuesday afternoon cross-referencing her calendar, her Square history, and a text thread to figure out whether a client had paid. That afternoon does not have to happen again.

what happens when Dani books a job.

Click through each step to see how a single Google Calendar entry moves through the system. What the client sees, what Kim sees, and how everything stays in sync without anyone manually updating a spreadsheet.

Step 0 of 6

Dani adds a job. That’s the whole trigger.

Lauren calls and books a bi-weekly clean. Dani opens Google Calendar and adds it the same way she always has. Client name, address, date, time. Nothing about that changes.

That calendar entry is what starts everything that follows. Zapier is watching and picks up the new event within minutes.

Why this matters

A lot of systems ask employees to do more work to make the owner’s life easier. Fill in a separate form. Update a shared spreadsheet. Send a text. This one asks nothing extra of Dani. She books jobs and the system takes it from there.

Trigger New event added to Google Calendar. Zapier detects it and fires two things at once: a client confirmation email through MailerLite and a new row in Airtable.
July 2026
Dani’s calendar — shared with Kim (view only)
SUN
MON
TUE
WED
THU
FRI
SAT
6
7
Chen — 9am
8
9
Novak — 10am
10
11
Bergmann — 9am
12
13
14
✦ Arsenault — NEW
15
16
Chen — 9am
17
18
Novak — 10am
19
20
21
22
23
24
25
Off
26
27
28
Arsenault — 9am

Step 1 of 6

Lauren gets a confirmation before Dani closes the tab.

Within minutes of Dani adding the job, Lauren has a confirmation in her inbox. Her date, her address, the time, who to expect. Kim did not write this.

The email also notes that this is a first clean and lets Lauren know it may run a little longer. That detail comes from a field Dani checks when she books a new client.

Why this matters

Before this system, Kim sent confirmation emails when she got around to it, which was not always the same day. Clients booked over the phone and then had nothing in writing. Now the confirmation goes out on its own and reads like Kim sat down and typed it.

Trigger Zapier detects the new Google Calendar event and fires MailerLite with Lauren’s details. The email pulls the new vs. returning flag from Airtable to personalise the message.

Step 2 of 6

The owner dashboard gives the business one clear view.

At the same moment the confirmation goes to Lauren, Zapier creates a new record in Airtable. Client details, job date, service type, visit history, and payment status all land in one place.

Instead of opening the calendar, checking Square, and texting for updates, Kim opens one dashboard and sees what needs attention.

Why this matters

The dashboard is not just a report. It is a calm operational view of the week: what is booked, what is paid, what still needs attention, and which clients are coming up next.

Trigger The same Zapier trigger that sends the client email also creates the Airtable record. One calendar event, two quiet actions in the background.

Owner dashboard

The Clean Co. Client Hub

Synced 2 min ago
6Jobs this week
2Unpaid
1New client
$420Expected
Upcoming jobsPayment

Selected client

Lauren Arsenault
ServiceBi-weekly clean
CleanerDani
StatusNew client
PaymentAwaiting

Confirmation sent. Reminder scheduled. Payment will update automatically once Square confirms.

Step 3 of 6

The day before, Lauren gets a reminder. Kim didn’t send it.

Twenty-four hours before the job, MailerLite sends Lauren a reminder. Date, time, what to have ready, how to reach them if plans change. Short, useful, and done.

Kim wrote this email once when setting up the system. It fires automatically before every appointment, for every client, without anyone touching anything.

Why this matters

No-shows are expensive for a one-person cleaning crew. A reminder the day before gives clients time to reschedule if something came up, rather than Dani showing up to a locked house. It also just feels like a company that has its act together.

Trigger Zapier watches for Google Calendar events happening in the next 24 hours and fires the reminder through MailerLite. Runs on a schedule, no manual input.

Step 4 of 6

Job done. Kim sends the invoice from Square.

Dani finishes the clean. Kim opens Square on her phone and sends an invoice, the way she always has. Nothing about that changes.

What is different is what happens next. Zapier is watching Square for payment activity on that invoice. When Lauren pays, Airtable updates on its own. Kim does not have to log it anywhere.

Why this matters

Replacing Square with a different invoicing tool would have meant retraining Kim on a new system and changing a process that was already working. Square stays. The system just listens to it.

Trigger Kim sends the invoice from Square as usual. Zapier watches for a payment confirmation event and holds until it fires.
Square invoice — sent by KimKim’s action
Invoice #CC-2026-0714 — Lauren Arsenault
Service dateMonday, July 14, 2026
ServiceStandard residential clean - first clean
Duration2.5 hrs
Amount$140.00
Invoice sent tolauren.arsenault@notarealemail.com
StatusAwaiting payment

Square sends Lauren a payment link automatically. Kim does not need to follow up. When Lauren pays, Square fires a confirmation that Zapier is waiting for.

Step 5 of 6

Lauren pays. Airtable updates. Kim finds out when she checks in.

Lauren pays through the Square link. Square handles the receipt. That is Square’s job.

Zapier catches the payment confirmation and updates Lauren’s Airtable record from Unpaid to Paid. Kim did not touch anything. Next time she opens the dashboard, the row is green.

Why this matters

Kim used to end every week going through Square manually, checking who had paid, updating a note somewhere, following up with anyone who had not. Now the dashboard tells her. She follows up only when a row is still Unpaid after a few days.

Trigger Square fires a payment confirmed event. Zapier catches it, matches it to Lauren’s Airtable record, and updates the Payment field to Paid.
The Clean Co. — Client JobsLast synced just now
All Jobs
This Week
Unpaid
New Clients
ClientDateServiceTypePayment
Arsenault, LaurenJul 14Standard - bi-weeklyRecurringPaid ✓
Chen, MarcusJul 14Standard - bi-weeklyRecurringPaid
Novak, SandraJul 16Deep cleanRecurringUnpaid
Bergmann, T.Jul 11Standard - bi-weeklyRecurringPaid
Arsenault, LaurenJul 28Standard - bi-weeklyRecurringPending
5 records · Filtered: All+ Add record

Step 6 of 6

Three weeks later, Lauren hears from them again.

For recurring clients, the next appointment is already in Google Calendar and the whole sequence repeats. For one-time clients, MailerLite sends a short note three weeks after the job date.

It is not a sales pitch. It is a personal check-in that asks how things went and whether they would like to get on the schedule. Kim wrote it once. It sends itself.

Why this matters

Most small cleaning companies lose one-time clients not because anything went wrong, but because nobody followed up. Life gets busy on both sides. The email handles the follow-up so Kim does not have to scroll back through Square trying to remember who to call.

Trigger MailerLite fires 21 days after the job date for any client flagged as a one-time booking in Airtable. Recurring clients skip this step because their next appointment is already booked.

That is the full system. Five tools that were already in the room, connected so they work together. Kim checks one dashboard instead of three apps and a text thread. Want to build something like this? Let’s talk.

A marketing studio for small businesses trying to show up with the same care on the outside that they bring to the work itself.