Case study · Marketing agency serving UK trade businesses
Their Leads Were Going Cold in the Van. Now Every One Gets a Text Before They Call Anyone Else.
Good leads were going cold in the inbox while the trade was up a ladder. Now every one gets a text and email in the same run as the form submit, then flows through quote, job, invoice and review on its own.
The problem
Before vs. after
| Before | After |
|---|---|
| Lead sits in an inbox until someone sees it | Customer gets a text and email in the same run as the form submit |
| Owner hears about the lead hours later | Owner gets the name, job, number and address by SMS and email straight away |
| Quotes are Word documents edited by hand | Branded PDF quote with an accept link |
| "Did they accept?" means digging through emails | Accept creates the job, and accepting twice never creates a second one |
| Staff ring the office for tomorrow's job details | Staff get a text at 18:00 London the night before |
| Reviews almost never get asked for | Review link emailed at 10:00 London after the invoice is marked Paid |
The before: a good lead and a phone in a van
The agency's ads worked. A homeowner fills in the form at 7:40 in the evening.
The owner is up a ladder. Or driving. Or eating dinner.
The lead sits until somebody notices it. By then the homeowner has filled in two other forms.
Quotes were hand-edited documents. Nobody was sure who accepted what. Invoices went out when someone remembered. Reviews were rarely asked for.
The agency was sending good leads and watching them leak. And the client blames the ads.
Why the easy fix fails
"Just put them on a CRM." It doesn't hold up.
Off-the-shelf CRMs give you fields and canned automations. Those automations don't know:
- that a quote accept should create exactly one job
- that a text needs a sender ID a UK network will accept
- that a phone number on a form isn't permission to text someone about money
You can't configure your way to that. It has to be engineered. The logic that stops a double email or a silently dead automation is the product, not a pile of settings.
The second trap is building once per client. A dozen trade clients can't mean a dozen hand-built systems drifting apart. So we built one engine for all of them.
What we built: Trade CRM
One n8n engine, many trade businesses. Each trade gets its own Airtable base copied from a template and is invited as an Editor on its own base only. A short per-business ID tells every workflow which base, mailbox and business name to use.
Adding a new trade is a registration workflow, not a rebuild. Staff never touch n8n. They work in an Airtable Interface.
The journey:
- Lead lands. The website form posts JSON to one webhook, and a client row and draft quote appear in Airtable.
- Customer acknowledged. An enquiry email and an instant SMS ("We got your submission...") go out under the business's own name.
- Business alerted. The owner gets an email and SMS with name, job, number and address.
- Quote sent. Staff price line items, and a branded PDF goes out with logo, bank and VAT details from a Settings row, plus an accept link.
- Accept or decline. An n8n-served page: accept creates an Upcoming job and tells the business a date is needed, decline marks it declined.
- Night-before text. At 18:00 London, the assigned staff member gets where, who, what and the office number.
- Invoice. A branded PDF with bank details and a 7-day due date.
- Review request. After an invoice is marked Paid, a 10:00 London run emails the Google review link.
Behind it all: an error email alerts us the moment any live workflow fails.
Leads leaking somewhere in your business? Book an AI systems assessment and we'll map where. Rather talk now? Call our AI receptionist on +1 407-259-4842.
The hard parts we solved
This is what separates a system from a demo.
1. One click must never email a customer twice.
Send-quote writes an accept token before the email goes out, then checks this run still owns it before sending. If another run got there first, this one stands down. Invoices use the same pattern. Accepting the same quote twice never creates a second job.
2. Airtable webhooks quietly expire.
They expire after 7 days, and most builds find out when the automations go silent. A workflow refreshes them every 3 days.
3. Consent is designed in.
A phone number on a lead isn't permission to text about quotes and invoices. Money and marketing stay on email. SMS is limited to the instant acknowledgement plus staff and business alerts. Messaging stays consent-first by design.
4. Texts come from the business.
The SMS sender ID is the business name trimmed to 11 alphanumeric characters. The customer sees "SmithRoofs," not a random number.
5. Replies land with the trade.
Customer replies go to the trade's own inbox, not a robot inbox nobody reads.
Results: what the system does now
We don't quote numbers we haven't measured. Here's what's true of the live system:
- Lead acknowledged by SMS and email: in the same run as the form submit
- Business alerted with lead details: in the same run as the form submit
- Duplicate jobs from double accepts: none, by design
- Airtable webhook refresh: every 3 days, ahead of the 7-day expiry
- Staff job reminder: 18:00 London, the day before
- Review request: 10:00 London run after an invoice is marked Paid
- New trade onboarded: by registration workflow, no rebuilding automations
Every trade the agency signs gets the same follow-through, and the ads get the credit.
Is this you?
- You generate leads for local businesses, and your clients drop them.
- Your quotes still start life as a Word document.
- Your team asks "did that customer accept?" every week.
- Staff find out tomorrow's job details tomorrow morning.
- Your CRM became a place where data goes to sit.
- You want reviews but never ask at the right moment.
Two or more? You don't need another tool. You need the plumbing between them. See AI Operations, our ops automation case study, or why we build on n8n in Retell workflows vs. n8n and Zapier.
Want an engine like this?
We build these for agencies and trades that are done losing leads between the form and the invoice.
Book an AI systems assessment with Wrk Less and we'll show you what yours would look like. Or call our AI receptionist on +1 407-259-4842.
What we built
Built with
- Airtable
- n8n
- The SMS Works
- Gmail
- APITemplate
- Lovable
Results
What changed
- In the same run as the form submit Lead acknowledged by SMS and email
- None, by design Duplicate jobs from double accepts
- Every 3 days, ahead of the 7-day expiry Airtable webhook refresh
- 18:00 London, the day before Staff job reminder
- By registration workflow, no rebuilding automations New trade onboarded