There's a version of this post where everything works perfectly from day one and the numbers are immaculate. That's not the post you're reading.

What actually happened when we spent 30 days automating Tropical Tech Labs from lead capture through reporting was this: most things worked, two things broke, one thing we built and then scrapped entirely, and we ended up saving more time than we expected across the board. But the path to those results looked nothing like the plan.

We're sharing this because we'll be asking business owners to trust us with the systems that run their businesses. The least we can do is show you how it works when we do it to ourselves.

Context: Tropical Tech Labs is a small operation. One founder, AI agents handling growth and operations, and a small team building out the automation offer. The automations we built are sized for a business at this stage — fast to implement, immediate ROI, nothing that requires an engineering team. That's intentional. If we can't build it for ourselves in a week, we have no business selling it to you.

What We Set Out to Automate (And Why)

We started by listing every task that happened more than once a week and required a human to manually initiate it. The list was longer than we expected.

Five workflows. All manual. All costing time every single week. We picked these because they were the highest-frequency, most repeatable tasks — the ones where automation would compound fastest.

The tools we used: n8n (self-hosted) for all automation logic, Airtable as the lead/client database, Notion for client workspaces, and standard email (SMTP) for outbound. Nothing exotic. All tools a small business could use.

Week 1: The Quick Wins

Week 1 · Quick Wins

Lead Capture → CRM → Follow-Up Sequence

We started with the highest-value workflow first: what happens when someone expresses interest in working with us.

Before automation: A contact form submission would arrive by email. We'd read it, write a response manually (anywhere from 20 minutes to 2 hours later, depending on what we were doing), add them to a spreadsheet, and try to remember to follow up if they went quiet. The follow-up almost never happened consistently.

What we built:

Build time: 2 days. The trickiest part was handling the reply detection — we used a polling workflow that checks for replies every 30 minutes and updates the sequence gate.

⏱ Saved: ~4 hrs/week

First result, day 4: A lead who'd submitted a form on a Sunday evening replied to the automated Day 2 email saying "this is exactly what I was looking for." Old process: they would have waited until Monday morning for a response and probably talked to someone else in the meantime. New process: they got a relevant, personalised-feeling reply before we'd even had coffee.

Week 2: The Harder Stuff

Week 2 · More Complex

Client Onboarding + Invoicing + Weekly Reporting

Week 2 was more ambitious. Three separate workflows, each touching more systems than the lead sequence.

Client Onboarding

When a new client signs up, the old process involved: sending an intake form, waiting for it to come back, creating a Notion workspace from a template, sending a welcome email with the workspace link, and manually scheduling a kickoff call. About 90 minutes of work per new client, spread across two or three separate days as things filtered in.

What we built:

Build time: 3 days. The Notion API was the bottleneck — creating pages from templates requires careful property mapping and the API is less forgiving than Airtable. We got it working, but it took two rounds of debugging.

⏱ Saved: ~90 min per new client

Invoice Automation

When a project milestone completes, we used to manually generate an invoice from a template, fill in the details, and send it. Rarely urgent, which meant it often slipped to "I'll do it Friday" and then didn't happen until the following week.

What we built:

⏱ Saved: ~30 min per invoice

Weekly Reporting

Every Monday we were manually pulling numbers from three different places: website traffic, email stats, and lead pipeline counts. Then formatting them into a summary. Small task — maybe 45 minutes — but it happened every week without fail and was pure mechanical work.

What we built:

⏱ Saved: ~45 min/week

Weeks 3–4: What Broke, What We Fixed, What We Scrapped

Weeks 3–4 · The Reality

Three things broke. One thing we scrapped entirely.

Break #1 — Invoice Misfired Twice

The invoice trigger was listening for any milestone status change to "complete" — but we hadn't scoped it carefully enough. When we updated a milestone to "complete" as part of an internal review, an invoice fired to a client who wasn't expecting one for another two weeks.

The fix: Added a secondary condition — invoices only fire when milestone status changes to "complete" AND the milestone type is tagged "billable." Two minutes to fix. Lesson: be precise with your triggers. A condition that seems obvious in English needs to be explicit in automation logic.

Break #2 — Personalisation Failed on Edge-Case Names

Our lead welcome email used the submitted first name field. Works perfectly 95% of the time. But when someone submitted their full name in the first name field ("Sarah Johnson"), the email opened with "Hi Sarah Johnson" — fine but a bit odd. Worse, when someone put their company name in the name field, a prospect received an email addressed to "Hi Bali Surf School."

The fix: Added a name-cleaning step in n8n — extract the first word of the name field, capitalise it. A two-step node addition. We also added a fallback: if the name field is blank, the email defaults to "Hi there" rather than "Hi [First Name]."

Break #3 — Weekly Report Missed Timezone

Our cron job was set to fire at 7 AM UTC. We're in Bali (UTC+8). The report was consistently arriving at 3 PM on Mondays, not 7 AM. Not a catastrophe — but it meant the Monday morning standup didn't have the report ready. Fixed in 30 seconds by updating the cron schedule to 11 PM Sunday UTC (= 7 AM Monday WITA). The lesson: always think in local time when scheduling automations, even if your platform stores everything in UTC.

Scrapped: Social Post Scheduler

We tried to automate social media posting — queuing LinkedIn and Twitter posts from a content database, scheduling them via the respective APIs. We got it working. Then we turned it off.

The reason: social posts that go out automatically, without a human glancing at them on the day, felt disconnected from what was actually happening. On two occasions, scheduled posts were contextually off — one went out the same day as a news event that made it look tone-deaf, and one used phrasing we'd updated in the copy but not in the scheduled draft. Social posting requires enough situational awareness that we decided the 15 minutes of manual review was worth keeping. The draft-generation automation stays; the auto-publish part does not.

The pattern behind all three breaks: They were all edge cases that only surface at scale. You don't find the "full name in first name field" problem until a hundred different people have filled out your form. Build in sensible fallbacks from the start — they're faster to add early than to debug later.

The Final Numbers

After 30 days, here's what the automations actually delivered:

12
Hours Saved Per Week
3
Errors Caught by Monitoring
2
Deals Recovered by Follow-Up
90s
Lead Response Time (was: hours)
Workflow Before After
Lead response 20 min – 2 hrs, manual 90 seconds, automatic
Follow-up sequence Inconsistent — often forgotten 5-touch sequence, 100% consistent
Client onboarding ~90 min per client, spread over days ~5 min of human review, rest automatic
Invoice generation Manual, often delayed Fires within minutes of milestone completion
Weekly reporting 45 min every Monday Ready in inbox before 7 AM
Social publishing Manual Still manual (intentionally)

The two "deals recovered" figure deserves explanation. These were leads who had submitted a form, received our immediate response, and then gone quiet. Under the old process, they would have drifted off our radar after a week. The automated follow-up sequence reached back out on Day 10 with a relevant case study. Both replied — both are now active, ongoing conversations that would otherwise have gone cold.

That's the part of automation ROI that's hardest to quantify but most real: the revenue that simply wouldn't have happened if a human had to remember to send one more email at the right moment.

What This Means If You're Thinking About Automating Your Business

The honest summary of 30 days is: automation works, but it's not magic. You will encounter edge cases. Things will misfire at least once. The first version of anything is always missing a condition you didn't think of until someone surfaces it.

But none of that changes the math. Twelve hours a week is 48 hours a month. At any reasonable value of your time, the ROI on the setup effort is clear within the first month and compounds from there. And unlike hiring a person, the automation doesn't take holidays, forget things, or get sick.

The three principles we'd take into any automation project:

Want the Same Results for Your Business?

We build these exact automations for small businesses — done for you, integrated with your existing tools, up and running in under two weeks. A first workflow like this is typically live within 5 days of kickoff.

Book a Free Response-Time Audit →

One More Thing

The scrapped social scheduler was actually one of the more useful outcomes of this month. Not because it failed — it worked fine — but because the process of building it forced us to think carefully about where the line is between "this should be automatic" and "this needs a human to have looked at it today."

That distinction is the most important thing to get right in any automation project. Automation isn't about replacing judgment. It's about freeing up time so that when judgment is actually required, you're not too buried in mechanical tasks to use it well.

That's the 30 days. Twelve hours a week back. Two deals recovered. Three things that broke and got fixed. One thing we deliberately turned off. And a business that now runs considerably more smoothly than it did a month ago.

If you're curious what it would look like for yours, let's talk.