How to set up a speed-to-lead workflow in GoHighLevel

Short answer
A speed-to-lead workflow in GoHighLevel starts from each lead source's trigger (Form Submitted, Facebook Lead Form Submitted and others), texts and emails the lead right away, alerts your team, then follows up with waits that stop as soon as the lead replies or books. Turn on Stop on Response, add a Goal Event for booking, and register your number for texting before you publish. If you'd rather not build it yourself, our Speed to lead package does it for you.
What the workflow does
- Starts the moment a lead comes in, from any form or lead ad you connect
- Texts and emails the lead within a minute, with a way to book
- Assigns the lead and tells the person on duty
- Follows up a few times if there's no reply, then stops
- Stops right away when the lead replies or books
Before you start
- Register your number for texting. Texts from a US local number need an approved A2P 10DLC campaign. Start under Settings > Phone System > Trust Center > Brand & Campaigns: the brand first, then the campaign with its use case, sample messages and how people opt in. Twilio blocks texts to US numbers from a local number that isn't on an approved campaign (error 30034). Toll-free numbers need toll-free verification instead.
- Turn on the opt-out and sender lines. Settings > Phone System > Messaging. HighLevel can add opt-out wording such as Reply STOP to unsubscribe, and your business name, when a text doesn't already have them, and can add them again on a schedule in long conversations. A contact who replies STOP gets SMS DND turned on, and workflow texts skip them.
- Ask for consent on every form. CTIA expects texts to go only to people who opted in, and consent covers only the business and campaign it was given for. Put a clear text-consent line on your forms, and describe it in your A2P campaign's opt-in section.
- Connect your lead sources. Forms built in HighLevel work with the Form Submitted trigger. Facebook lead ads need Facebook connected under Settings > Integrations, with the lead form fields mapped. Forms on other tools need an integration or a webhook.
Build it step by step
- Create the workflow. Automation > Workflows > Create Workflow, start from scratch, and name it for what it does, like New lead: instant reply.
- Add a trigger for each source. Click Add New Trigger. Add Form Submitted with the Form Is filter set to your form, and Facebook Lead Form Submitted with Page Is and Form Is set. Each trigger fires on its own, and without filters the Facebook trigger fires for every lead form on every connected page.
- Set the workflow settings. In the Settings tab: turn on Stop on Response so the workflow ends when the lead replies to one of its messages. Decide on Allow Re-entry: on, a lead who submits again starts over; off, they go through once. Set the From number and From email under Sender Details.
- Assign the lead. Add Assign to User. With several users it rotates between them, evenly or unevenly. Turn on Only Apply To Unassigned Contacts if you don't want to reassign leads who already have an owner.
- Add it to your pipeline. Add Create Opportunity with your pipeline and first stage, so every lead shows up where your team works.
- Send the first text and email. Add Send SMS and Send Email right after. Keep the text short, name your business and include your booking link.
- Alert your team. Add Internal Notification after the assign step, to the Assigned User, by SMS, email or in-app. If the contact has no assigned user, that notification doesn't send.
- Wait for a reply. Add a Wait set to The contact to reply, on SMS, with a timeout such as one hour. If they reply, Stop on Response ends the workflow. If the timeout passes, the next step runs.
- Follow up, then stop. Send a second text, then a Wait of a set period of time such as one day, then a final text and email. Three or four touches over a few days is plenty; then let your team take over.
- End it when they book. Add a Goal Event with the goal type Appointment Status (New or Confirmed). Set If Contact Reaches This Goal Without Meeting Conditions to End this workflow, so a lead who books stops getting nudges.
- Set a time window. In Settings, a Time Window holds texts and emails outside the days and hours you choose, and sends them at the next allowed time. Twilio's summary of US quiet hours puts the federal window at 9 p.m. to 8 a.m. in the recipient's time zone, and some states are stricter.
- Publish. Switch from Draft to Publish and save. Saving alone doesn't publish.
Message drafts
The first text does the work. Answer the question they asked, give one next step and include the opt-out line.
- First follow-up, about an hour later: "Just checking you saw this. Happy to answer anything first. Reply STOP to opt out."
- Next day: "Still looking for a time? Here's the link: [booking link]. Reply STOP to opt out."
- Last one: "We'll leave it here for now. Reply any time and we'll pick it back up."
- Hi, it's Northside Dental. Thanks for your request. You can pick a time here: [booking link], or reply with a good time and we'll set it up. Reply STOP to opt out.
- Do you take new patients on Saturdays?
- We do, 8 to 1. Want me to hold this Saturday at 9?
How to test it
- Use a fresh test contact. HighLevel says testing with a contact isn't fully reliable, especially when you reuse the same one. Submit your live form with a new name, email and phone each time.
- Check every source. Submit each form. For Facebook, use Meta's lead ads testing tool on a published form and check the lead arrives in HighLevel.
- Time the first reply. The text should arrive within a minute of submitting. If it doesn't, check the Time Window and the contact's DND.
- Reply and book. Reply to the text on one test and book on another. Both should end the workflow. Confirm in Enrollment History and Execution Logs.
- Check the alert. Make sure the assigned user got the notification and the opportunity landed in the right stage.
What can go wrong
- Leads don't enter the workflow: it's in Draft, or the trigger filters don't match. See Workflow not triggering.
- Facebook leads never arrive: the page, form or mapping isn't connected. See Facebook lead forms not syncing.
- A form on your website doesn't create a contact: Form Submitted only covers forms built in HighLevel. See Form not creating a contact.
- Nobody gets told about the lead: the notification ran before the assign step. See Leads not assigned to users.
- Leads get the same text twice: two triggers or two workflows fire on one lead. See Duplicate text messages.
Our Speed to lead package builds this across all your lead sources, tests each one and watches the first week of leads, if you'd rather hand it off.
Common questions
- How fast should the first text go out?
- As close to instantly as you can. The workflow sends it as soon as the trigger fires, unless a Time Window holds it for later.
- Should I use Stop on Response or a Customer Replied workflow?
- Stop on Response ends this workflow when they reply to one of its messages. If you also want to alert someone when a lead replies, add a separate workflow with the Customer Replied trigger and its Replied to Workflow filter.
- Can it ask qualifying questions?
- A workflow sends fixed messages. HighLevel's Conversation AI can reply to answers and ask follow-up questions; set it up separately and test it on real questions.
- What about leads who come in at night?
- With a Time Window set, their texts wait for the next allowed time. Without one, they go out immediately, so check the quiet hours rules where your customers are.
More setup guides
How to set up missed-call text back in GoHighLevel
Turn it on under Settings > Phone System > Voice, set a 10 to 20 second timeout, and register your number for texting first.
How to set up appointment reminders and no-show follow-up in GoHighLevel
An Appointment Status workflow with waits timed from the appointment, plus a second workflow for no-shows with a rebooking link.
How to set up database reactivation in GoHighLevel
A smart list of past customers who agreed to hear from you, a short workflow, and drip mode to send it out in batches.
How to set up review request automation in GoHighLevel
Connect Google Business Profile, set the review link and templates in Reputation, then send a request from a workflow when a job is done.
Related fixes
GoHighLevel workflow not triggering: a checklist
Usually it's still in Draft, the trigger filters don't match, or re-entry is off. The execution logs tell you which.
Read the fixGoHighLevel form not submitting, or not creating a contact
Check Submissions first. Then deduplication settings, an out-of-date embed code, sticky contact on shared devices, or a form HighLevel didn't build.
Read the fixGoHighLevel leads not being assigned to users
Usually the trigger never ran, unassigned-only skipped contacts that had an owner, or the notification ran before the assignment.
Read the fixGoHighLevel sending duplicate text messages
Usually two triggers firing on one event, re-entry left on, or the same person saved as two contacts.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.