Atlas Movers was treating a 4-bedroom residential move and a studio apartment the same way — the same form, the same email, the same wait. We built a system that reads every submission the moment it arrives, separates commercial and large moves from standard ones, and escalates twice if a high-value lead goes uncontacted.
Moving companies deal with a fundamentally unequal mix of work. A studio apartment move is a few hours and a small crew. A commercial office relocation or a 5-bedroom house move is a multi-day job, specialist equipment, and a contract worth several times more. The revenue difference is not marginal — it's the difference between a good week and a good month.
Atlas Movers had no system to tell them apart at the point of inquiry. Every form submission landed the same way. A commercial office move and a one-bed studio were treated identically until someone manually opened the email and read it. On a busy day, the commercial lead might wait hours. By then, the client had already called a competitor.
The fix wasn't working faster. It was building a system that already knew which leads demanded immediate action — before a human even opened their inbox.
The moment a form is submitted, the system cleans and normalises the input data — phone numbers stripped of formatting, emails lowercased, fields validated — then upserts the record into Airtable. If the same client resubmits, the record updates rather than duplicates. Then the router reads three fields and makes a decision.
Triggered when any of the following are true:
Everything that doesn't meet VIP criteria.
The first node that runs isn't the webhook — it's a CONFIG node that stores the owner's email and Calendly booking link in one place. Change those values once and the entire workflow updates. After that, a sanitisation node normalises every field: phones stripped of spaces and brackets, emails lowercased and trimmed, all fields validated before anything touches the CRM. Garbage in has been eliminated at the source.
The Airtable write uses an upsert operation matched on email address. If a client submits the form twice — because the page reloaded, they changed their move date, or they just clicked twice — the system updates their existing record rather than creating a second one. The CRM stays clean without any manual deduplication work.
For VIP leads, two emails fire in sequence. First, the owner gets a full brief — name, phone, email, move date, origin and destination addresses, estimated size — with a clear instruction to call within 30 minutes. Then the client receives a warm, personal acknowledgment: their move has been flagged for expert review and they should expect a call. No generic auto-responder. A response that feels considered, even though it was instant.
Sending one alert and hoping for the best isn't a system — it's an optimistic guess. For VIP leads, the workflow builds in two escalation checkpoints. After the initial alert fires, the system pauses and comes back. Both times, it re-fetches the live Airtable record before deciding whether to escalate. If the owner has updated the status in the CRM, the escalation stops. If they haven't, the next level fires.
Both escalation checks re-read the Airtable record at the moment of checking — not a cached copy from when the lead first arrived. If the owner called the client and updated the status to "Call Made" at any point, the escalation stops immediately. The system only escalates when the lead is genuinely still unhandled.
A separate error handler workflow runs alongside the main pipeline. If any node in the intake workflow fails — a network error, an Airtable timeout, a malformed payload — the error trigger fires immediately and sends a critical failure alert to the owner's email. No silent failures. No leads lost to an invisible bug.
Built as a dedicated sub-workflow linked to the main pipeline via n8n's native error workflow setting. The moment any execution fails, an email fires: "CRITICAL FAILURE — Atlas Movers Automation." The owner knows before the client does that something went wrong.
The system went live and the impact was immediate — not because lead volume increased, but because no high-value lead could fall through unnoticed again.
| Metric | Before | After |
|---|---|---|
| Commercial / large move response time | Hours — read when someone opened email | Instant — owner alerted the moment form is submitted |
| VIP leads lost to slow follow-up | Regular risk — no tracking, no safety net | Zero — two-stage escalation ensures no lead goes cold unnoticed |
| Standard booking process | Manual email with booking link, sent when available | Fully automated — Calendly link sent instantly, no owner involvement |
| Duplicate leads in CRM | Common — resubmissions created new records | Zero — upsert by email prevents duplicates automatically |
| Workflow failure visibility | None — silent failures went undetected | Immediate — dedicated error handler emails owner on any failure |
| Config changes (owner email, booking link) | Required editing multiple places across the workflow | Single CONFIG node — change once, updates everywhere |
Chosen for reliability and maintainability. Every component has a clear, singular job.
The VIP routing pattern — separate the high-value leads at intake, escalate if they go unanswered, automate everything else — applies across any field service business where job size varies significantly.
Corporate event production and large weddings are completely different jobs to a small birthday hire. Automatic VIP routing ensures the big contracts get a personal call immediately while standard bookings self-serve.
End-of-tenancy or commercial deep cleans are high-ticket, time-sensitive jobs. Residential regular cleans can self-book. The same routing logic separates them at the point of inquiry.
Full truckload commercial freight versus a single pallet delivery. VIP routing flags the high-value shipment for an immediate sales call while standard quotes are handled automatically.
If high-value inquiries are sitting in the same queue as routine ones — and you're relying on memory or luck to catch the big jobs first — this system was built for exactly that.
Book a Discovery Call// 30 minutes — No pitch — Just your situation and whether we can solve it