How to Build an Automatic Follow-Up Workflow for Unresponsive Leads in GoHighLevel

Intermediate7 min readUpdated on 08/11/2026

Losing a lead simply because no one followed up in time is one of the most preventable problems in sales. GoHighLevel's workflow builder lets you automate a multi-step follow-up sequence that runs on its own — sending messages, updating contact records, and notifying your team when a lead finally responds. This guide walks you through the entire setup process.

What You Need Before You Start

Before building the workflow, make sure the following are in place:

  • A GoHighLevel sub-account with at least one pipeline and stage configured.
  • A connected communication channel — SMS, email, or both. Channels must be verified and active in Settings → Phone Numbers / Email Services.
  • Contacts already entering a pipeline stage (manually, via a form, or from an ad integration). The workflow trigger will depend on this.
  • Basic familiarity with the Workflows section under Automation. If you have never opened it, spend five minutes clicking through a blank workflow first.

Note: Some automation features — such as the number of active workflows or AI-powered actions — vary depending on your plan tier. Check your account limits before designing a complex sequence.


Step 1 — Create a New Workflow and Set the Trigger

  1. Navigate to Automation → Workflows in the left sidebar.
  2. Click + Create Workflow and choose Start from Scratch.
  3. Give the workflow a clear internal name, such as "Unresponsive Lead Follow-Up — 7 Days".
  4. Click Add New Trigger and select Pipeline Stage Changed (or Opportunity Status Changed, depending on how your CRM is structured).
  5. In the trigger filters, set:
  • Pipeline → select the relevant pipeline.
  • New Stage → select the stage where unresponsive leads sit (e.g., "Contacted — No Reply").
  1. Click Save Trigger.

This means every time a contact is moved into that stage — whether manually or by another automation — this workflow will fire.


Step 2 — Build the Follow-Up Message Sequence

The core of this workflow is a timed sequence of outreach attempts. A reasonable starting structure for a 7-day window looks like this:

  1. Day 0 (immediate): Send an initial SMS or email.
  2. Day 2: Send a second touchpoint via a different channel if available.
  3. Day 5: Send a final attempt, often with a softer "closing the loop" message.
  4. Day 7: Internally notify the assigned user and move the contact to a "Cold Lead" stage.

Adding Each Step in the Workflow Builder

  1. After saving the trigger, click the + icon below it to add the first action.
  2. Select Send SMS or Send Email, depending on your preferred first channel.
  3. Write a short, natural message. Avoid generic templates — personalization tokens like {{contact.first_name}} pull the contact's actual name.
  4. Click Save Action.
  5. Click + again and select Wait.
  6. Set the wait period to 2 days. You can also configure it to only wait during business hours under Advanced Wait Settings — useful if you serve a specific time zone.
  7. Repeat steps 1–6 for the second and third touchpoints.

For the Day 7 internal notification, add a Send Internal Notification action addressed to the contact owner. This keeps your team aware without requiring them to monitor the CRM manually.


Step 3 — Add a Goal or Conditional Exit

Without an exit condition, a lead who replies on Day 1 will still receive the Day 2 and Day 5 messages. That is a common mistake and one that frustrates contacts.

  1. Click Add Goal at the top of the workflow canvas (the flag icon, depending on your interface version).
  2. Set the goal event to Contact Replied (covers both SMS and email replies, depending on your setup) or use Conversation Status Changed → Open.
  3. Enable Remove from Workflow When Goal is Met.

Alternatively, use an If/Else branch after each wait step:

  • Condition: Has the contact replied in the last 48 hours?
  • Yes branch: Remove from workflow / move to a "Replied" stage.
  • No branch: Continue to the next follow-up action.

The Goal method is cleaner for linear sequences. The If/Else method gives you more control if different replies should trigger different responses.


Step 4 — Update the Pipeline Stage at the End

After the final follow-up attempt, close the loop on the contact record:

  1. Add an Update Opportunity action.
  2. Set Stage to "Cold Lead" or "Closed — No Response", whichever fits your process.
  3. Optionally, add a Add Tag action (e.g., no-reply-7d) so you can filter and re-engage these contacts later with a separate campaign.

Finally, click Save and set the workflow status to Publish using the toggle in the top-right corner. The workflow will not run on live contacts until it is published.


Common Errors and Troubleshooting

Workflow fires but no messages are sent The most frequent cause is an unverified or disconnected phone number or email address. Go to Settings → Phone Numbers and confirm the number shows as active. For email, check Settings → Email Services and verify your domain authentication (SPF/DKIM records).

Contacts receive messages after replying This means the goal or exit condition is not configured correctly. Double-check that Remove from Workflow When Goal is Met is enabled and that the goal event matches the actual reply channel (SMS replies will not trigger an email-reply goal event).

The trigger fires on every stage change, including re-entries By default, GoHighLevel may allow or block re-enrollment depending on your settings. Under Workflow Settings, check the Allow Re-entry toggle. If leads are being re-enrolled unexpectedly, disable it.

Wait steps are ignoring business hours Business-hours filtering is inside Advanced Wait Settings on each individual wait step — it is not a global workflow setting. You must configure it per step.

Internal notifications are not being received Confirm the assigned user has a valid email and that notifications are not being routed to a shared inbox that no one monitors. You can also use Slack or webhook actions as an alternative notification method if your team uses those tools.


When GoHighLevel May Not Be the Right Tool

GoHighLevel is well-suited for agencies and small-to-mid-size businesses running sales pipelines. However, if your use case involves very high-volume transactional messaging (hundreds of thousands of contacts per day), a dedicated email service provider or enterprise marketing automation platform may offer better deliverability controls and pricing transparency. GoHighLevel's follow-up automation is strong for relational, sales-driven sequences — it is not optimized as a bulk broadcast tool.

Still stuck?

If this walkthrough did not solve your case, describe your exact scenario. Every question we receive becomes a new tutorial here.

Send my question