HVAC Lead & Booking Automation
Leads arrived through Facebook lead ads and a claim-offer form and went cold within minutes. Every reply was typed by hand, so after-hours enquiries waited. Appointments were booked manually, no-shows were never followed up, and nothing asked for a review once the job was done.
- Intake — Facebook Lead Ad and claim-offer form post a webhook payload into GoHighLevel
- Response — Twilio SMS and email, first reply inside 60 seconds
- State — The CRM contact record is the source of truth and every stage transition is a status change
- Routing — A 7-minute reply window then a sentiment split into positive, negative and neutral paths
- Booking — Calendar link on a positive reply, plus reminders ahead of the appointment
- Recovery — The no-show path re-enters the same nurture sequence rather than a separate list
- Close — Review request fires only after job completion
- Hardening — Failed webhooks retry and each step fires only on a valid event payload
- The 7-minute wait plus sentiment branch is the core state machine — a hot lead gets the booking link, silence routes to call connect and voicemail, and negative sentiment escalates to a human path.
- No-show recovery reuses the pipeline rather than a separate list.
- The review request is gated on job completion so it cannot fire against an open deal.
- Every transition is driven by an event from the previous step, with no polling and no manual stage editing.
Six workflows in production — leads answered in under 60 seconds, appointments booked automatically, missed appointments recovered, and reviews requested without anyone touching a record.

