Work  /  Sector

Home services & construction.

Contractors, trades and field-service businesses. The whole business is the lead — getting it, answering it inside the first minutes, booking it and chasing it until it closes.

44 automations counted in this sector 3 delivered · 4 built · 1 platform

Lead-to-Cash CRM · Update Leads Sheets — the hub every lead source calls

13 nodes · 12 connections · live

  1. When Executed by Another WorkflowCalled by Website Form Intake
  2. Normalise Lead
  3. Look Up Existing Email→ no match in 15 min
  4. Dedupe Guard→ pass
  5. Append Lead Row
  6. Find Appended Row
  7. Load All Lead IDs
  8. Build Lead ID
  9. Write Lead ID
  10. Notification Payload
  11. Call 'Gmail Welcome'
  12. Call 'Internal Lead Alert'
  13. Call 'SMS Confirmation'
> Called by Website Form Intake
> Normalise Lead
> Look Up Existing Email → no match in 15 min
> Dedupe Guard → pass
> Append Lead Row · Find Appended Row
> Load All Lead IDs · Build Lead ID
> Write Lead ID · Notification Payload
> Call 'Gmail Welcome' · 'Internal Lead Alert' · 'SMS Confirmation'

Node names and topology from the exported workflow JSON; layout redrawn for the page. This is the only workflow allowed to write to the Leads tab — which is what makes “no source bypasses the CRM” a property rather than a promise.

Scroll runs the hub

01 — The lead’s path

  • A lead arrives8 sources · one hubCRM
  • Answered in minutesemail · SMS with consent · LSA replyCRM · LSA
  • Qualified, not guessedreal slots · four things confirmedLSA
  • BookedHousecall Pro · visit remindersLSA · CRM
  • Chased until it closesDay 3 / 5 / 7 / 14 / 21 / 30CRM
  • Won, and taught backoffline conversions → Google Ads · MetaCRM

Two delivered systems cover that path end to end. The third points outward: it finds construction businesses and runs the email sequence that stops itself when someone replies.

02 — Delivered here

03 — Built for the sector

Four built systems name this sector. The workflow JSON is in the repository and imports into n8n; the node counts are taken from it.

And one platform

For contractors spending $5–20K a month on Google Ads.

A freeze means something different to a plumber than to a roofer, so bids move per trade against live forecasts, and won jobs are attributed back to the click that produced them.

adwash.ailive

AdWash

Writes the ads, launches them, adjusts bids against live weather, watches spend against plan limits, and attributes booked revenue back to the click.

23workspaces
90campaigns
~$234Kad spend tracked
Measured against the live database, 2026-09-04adwash.ai

04 — Tools in this sector

Automation & AI

  • n8n · in 7 systems
  • Google Gemini · in 1 system
  • OpenAIOpenAI · in 2 systems
  • ElevenLabs · in 1 system
  • SkyvernSkyvern · in 1 system
  • TwilioTwilio · in 2 systems
  • GoHighLevelGoHighLevel · in 1 system

Channels & data

  • Google Sheets · in 4 systems
  • Gmail · in 3 systems
  • Google Ads · in 4 systems
  • Meta · in 2 systems
  • Google Calendar · in 1 system
  • HubSpot · in 1 system
  • CallRailCallRail · in 1 system
  • Housecall ProHousecall Pro · in 1 system
  • ApifyApify · in 1 system

The product

  • Next.js · in 1 system
  • TypeScript · in 1 system
  • Prisma · in 1 system
  • PostgreSQL · in 2 systems
  • Stripe · in 2 systems

Hover a markTap a mark to see how many of the eight systems in this sector use it. Marks are the vendors’ own, in their own colours; a tool without a published mark is set in type. What each integration does

05 — What it guards against

A model that is enthusiastic about a conversation cannot, on its own, put a job in the CRM.

  • Consent is an allowlist

    The string “no” is truthy in JavaScript. A truthiness check would have opted in every customer who explicitly opted out.

  • Four things before a booking

    Time confirmed, booking accepted, address given, technician agreed — all four, or nothing is created.

  • Availability is real, not claimed

    Two-hour slots are built from the next seven days in the field-service CRM. The agent only ever offers a slot the CRM confirmed.

  • Never answered twice

    Every lead is tracked by ID and by last-answered message, so a five-minute poll can never reply to the same message again.

The guards live in the if nodes, not in the prose: 10 of them against 4 model calls in the responder, 34 in the CRM.

06 — Start

Tell me what still runs by hand in the office.

hamadsyedali@gmail.com