A solo fitness coach scaling online — drowning in admin work.
The client is an independent online fitness coach with a growing client base of 40–60 active members. Operating solo, they were spending roughly 3–4 hours per week on manual admin — copying form submissions into spreadsheets, writing individual confirmation emails, and setting phone reminders for upcoming calls.
Online Fitness Coach — Solo Operator
40–60 active clients · 10–15 new bookings/month · Previously 100% manual intake process · Goal: fully automate client onboarding so more time is spent coaching, not admin.
This project automates the complete client intake journey for an online fitness coach. When a prospect submits a booking form, the system instantly logs their data, sends a branded welcome email, creates a Notion prep task, and schedules a 24-hour reminder — all without the coach lifting a finger.
Manual follow-up was costing time and first impressions.
The coach was handling every new inquiry manually — copying client details into a spreadsheet, writing individual confirmation emails, and trying to remember to send reminders the day before each call. The process was inconsistent, time-consuming, and left too much room for human error.
The goal was simple: a client books a call, and everything else happens automatically.
A seven-node automation pipeline, built end to end.
The workflow was architected in n8n with a webhook trigger, data normalization layer, and parallel execution branches. Each submission flows through a structured pipeline that handles CRM updates, transactional email, task management, and time-delayed reminders in a single automated run.
The pipeline was designed to be resilient — with an error-handling branch that alerts the coach by email if any node fails, including the node name, error message, and execution ID for fast diagnosis.
Best-in-class tools, connected seamlessly.
Seven automated actions. One form submission.
- Tally.so webhook trigger captures form submissions with unlimited free responses
- Data normalization node cleans and maps all client fields for downstream consistency
- Google Sheets upsert — new clients are added, returning clients are updated, no duplicates
- Branded HTML welcome email sent instantly via Gmail API with personalized booking details
- Notion database page created automatically with client info, coaching goal, and prep notes
- Wait node pauses execution and resumes exactly 24 hours before the booking to send a reminder
- Error handler sends a detailed alert email to the coach if any node in the pipeline fails
When the obvious fix stops working, dig deeper.
The most significant challenge wasn't technical complexity — it was a silent failure with a non-obvious root cause.
No data arriving in the n8n output panel
After configuring the Typeform trigger and submitting test entries, the n8n output remained empty. Standard debugging steps were attempted — rechecking credentials, verifying webhook URLs, reactivating the workflow. None resolved it.
Typeform's free plan had silently hit its 10-response limit
The form had gone into read-only mode after reaching the free tier cap. Typeform does not surface an obvious error — submissions appear to go through on the form side, but no webhook fires. The workflow was never the problem. The data source was.
Full migration to Tally.so with workflow reconfiguration
Rather than upgrading Typeform, the intake form was rebuilt on Tally.so — which offers unlimited responses on its free plan. The n8n trigger was replaced with a generic Webhook node. Because Tally sends form data as a structured fields array rather than flat key-value pairs, the entire Normalize node had to be rewritten to traverse the array and extract values by index.
The migration reinforced a core debugging principle: when a fix isn't working, question the layer below the layer you're debugging.
A fully hands-off client intake system, live and tested.
From form submission to CRM entry, welcome email, Notion task, and timed reminder — every step runs automatically. The coach's only job is to show up to the call.
The system is platform-agnostic at the intake layer — swapping the form provider required only reconfiguring one node, leaving the rest of the pipeline intact. That modularity is intentional, and it is how production automations should be built.
What the client said.
Honestly, I didn't think it would make that much of a difference — but the first week after it went live I had three new bookings and I didn't do anything. They just showed up in my Notion, got their welcome emails, got their reminders. I didn't touch any of it. That's kind of wild when you think about it.
Want this built for your business?
We build custom automation systems that eliminate manual work and let you focus on what actually matters.
Get My Free Consultation →