← All work

GoHighLevel · Automation breakdown

Lead lifecycle, six stages

One trigger splits into five scored branches — booked demos, hot, warm, cold, and invalid — each with its own delays, AI qualification, voicemail drops, and re-scoring loops that feed a shared daily rollup.

Platform
GoHighLevel
Scope
28 actions
Triggers
5 branches
Pattern
re-entry loops
← WorkflowsLead Lifecycle — 6 Stage Automation
DraftPublish
BuilderSettingsEnrollment HistoryExecution Logs
BRANCH 1 · BOOKED DEMOBRANCH 2 · HOT (score ≥ 80)BRANCH 3 · WARM (50–79)BRANCH 4 · COLD (< 50)BRANCH 5 · INVALID / DNC
Form Submitted
Trigger · 3 sources
Score & Split
If/Else · 6 branches
Wait 5 min
Delay
Send SMS
Twilio
Assign AE
Round robin
Update Stage
Opportunity
If Answered?
Condition
Add VIP Tag
Contact
Retry Call Task
Manual task
Notify Rep + Log
Slack · Webhook · Sheets
Wait 1 hr
Delay
AI Qualify
Conversation AI
Send Email
Template A/B
If Replied?
Condition
Book Call
Calendar
Nurture Drip
7-email arc
Wait 1 day
Delay
Send Voicemail
Ringless VM
Add to Pipeline
Opportunity
Wait 3 days
Delay
Re-score
Math op
Wait 3 days
Delay
Newsletter
Add to list
Tag Cold
Contact
Quarterly Sweep
Re-enter wf
!
Validate Number
Lookup
Remove from All
Bulk action
Log Suppression
Webhook
Daily Rollup → Sheets
Every stage writes here

Scroll horizontally to pan the full canvas.

The problem

A single follow-up sequence was being sent to every contact regardless of intent. People who had already booked a demo kept receiving nurture emails, and cold contacts got the same urgency as buyers, which drove unsubscribes and burned the sender reputation.

Stage by stage

How it actually runs.

01

Entry & scoring split

Submissions from three sources enter one workflow, then an If/Else block splits into five branches on score and booking state. Consolidating entry into a single workflow — rather than one per source — is what keeps the branching logic from being duplicated three times.

02

Branch 1 — booked demo

A short delay, a confirmation SMS, round-robin AE assignment, and an opportunity stage update. A condition then checks whether the call was actually answered: answered contacts get a VIP tag, no-shows get a retry task assigned to a human rather than another automated message.

03

Branch 2 — hot leads

High scores get an hour's delay, then a conversation-AI qualification pass, then an A/B tested email. A reply check splits again — repliers are routed straight to the calendar, non-repliers fall into a seven-email nurture arc.

04

Branch 3 — warm leads

A day's delay, a ringless voicemail drop, pipeline placement, then a three-day wait and a re-score. The re-score is the important part: warm contacts are re-evaluated rather than permanently classified by their first interaction.

05

Branch 4 — cold, and Branch 5 — invalid

Cold contacts go to the newsletter and are tagged, with a quarterly sweep that re-enters them into the workflow for re-scoring. Invalid numbers are validated, removed from every active sequence, and logged to a suppression record — protecting deliverability rather than continuing to message a dead contact.

06

Shared reporting

Every branch writes to one daily rollup. Because each branch reports into the same place, conversion can be compared across branches rather than measured only in aggregate.

Stack

GoHighLevel (Advanced Builder)Conversation AITwilioRingless voicemailGoogle SheetsWebhooks

Decisions that matter

  • Contacts are re-scored on a loop instead of being classified once, forever.
  • No-shows route to a human task, not another automated message.
  • Invalid numbers are suppressed everywhere to protect deliverability.
  • All five branches report into one rollup, so branches can be compared.

Other automations

Start a project

Have a business that needs a system, not just a site?

adrian.afable@gmail.comUsually replies within a day