Skip to content

GoHighLevel Integration

Send abandoned leads from SNG Lead Recovery to GoHighLevel (GHL) and run your recovery follow-up — emails, SMS, pipelines, tasks — directly from your GHL workflows.

Available from version 1.1.0

Webhook integrations are available in SNG Lead Recovery 1.1.0 and newer.


How It Works

  1. A visitor starts your Client Onboarding form and leaves without finishing.
  2. SNG Lead Recovery marks the lead Abandoned and sends it to your GHL workflow — name, email, phone (with consent), the step they reached, and their personal resume link.
  3. GHL creates or updates the contact and starts your follow-up.
  4. When the visitor finishes the signup, SNG Lead Recovery sends a completed or recovered event so your workflow can stop following up.

When GoHighLevel handles follow-up, SNG Lead Recovery does not send its own recovery emails or SMS — your leads are never messaged twice. See the Integrations Overview for how events work, and the Custom Webhook reference for every field that is sent.


Before You Start

  • SNG Lead Recovery 1.1.0 or newer, set up as described in Initial Setup
  • A GoHighLevel sub-account where you can create workflows
  • If you have several Sweep&Go locations with separate GHL sub-accounts, repeat the setup below for each sub-account (see Multiple Locations)

Step 1: Create Custom Fields in GoHighLevel

So the resume link and progress are stored on the contact, create these custom fields in your GHL sub-account:

In your sub-account settings, open Custom Fields and add:

Field name Field type Purpose
Resume Link Single Line / Text The visitor's personal link to continue their quote
Onboarding Step Number The form step they reached
Onboarding Progress Number Form completion percentage
Lead Recovery ID Single Line / Text The LR-000012 ID, to match the contact with the lead in WordPress

Step 2: Create the Workflow and Inbound Webhook

Depending on your GoHighLevel plan, Inbound Webhook may be a premium trigger.

  1. In GoHighLevel, go to Automation → Workflows and create a new workflow from scratch, for example Lead Recovery — Incoming.
  2. Add the trigger Inbound Webhook.
  3. Copy the webhook URL GHL shows for this trigger.

Step 3: Connect SNG Lead Recovery

  1. In WordPress, go to SNG Lead Recovery → Settings → Recovery Delivery & Integrations.
  2. Under Who sends recovery messages?, choose External system via webhook.
  3. Paste the GHL URL into Webhook URL.
  4. Keep both Send Events turned on.
  5. Click Save & Send Test.

GoHighLevel now receives a sample lead (Jane Doe). Back in the GHL trigger, use the received sample to see all available fields.


Step 4: Create or Update the Contact

In the workflow, add the action Create/Update Contact and map the incoming fields:

GHL contact field Incoming field
First Name first_name
Last Name last_name
Email email
Phone phone
Postal Code zip_code
Resume Link (custom) resume_link
Onboarding Step (custom) step
Onboarding Progress (custom) progress
Lead Recovery ID (custom) lead_id

Always use Create/Update Contact

Use Create/Update Contact, not a plain "Create Contact" action. Create/Update matches the existing contact by email or phone and updates it — this is what prevents duplicate contacts.


Step 5: Route Abandoned vs. Completed Leads

The same webhook receives both "abandoned" and "completed/recovered" events. Use the event field to tell them apart.

After the Create/Update Contact action, add an If/Else step on the incoming event field:

Branch Condition Action
Abandoned event is lead.abandoned Add tag lead-recovery-abandoned
Finished event is lead.completed or lead.recovered Add tag lead-recovery-completed

Save and publish the workflow.


Step 6: Build Your Follow-Up Workflow

Create a second workflow, for example Lead Recovery — Follow-Up:

  1. Trigger: Contact Tag added → lead-recovery-abandoned
  2. Steps: your follow-up sequence, for example:
    • Send Email immediately
    • Wait 1 day → Send SMS
    • Wait 2 days → Send Email
  3. Goal: Contact Tag added → lead-recovery-completed — when the visitor finishes their signup, the contact leaves the follow-up automatically.

Use the Resume Link custom field in your messages so the visitor can continue exactly where they left off. In GHL messages, insert the Resume Link custom field using its merge field — GoHighLevel shows it in the field's settings (for example {{contact.resume_link}}).

SMS consent

The phone field is only filled when the visitor checked the marketing permission box on the onboarding form, and sms_consent tells you explicitly. Only send SMS to contacts with consent.


Step 7: Test It End to End

  1. Open your Client Onboarding page in a private window, fill in name, email, and phone, check the marketing permission box, and close the window.
  2. In WordPress, go to Tools → Scheduled Actions, find sng_lead_recovery_detect, and click Run (after the Mark Abandoned After time has passed).
  3. The lead's timeline in SNG Lead Recovery → Leads should show Sent to Webhook.
  4. In GoHighLevel, the contact should exist with the lead-recovery-abandoned tag, the resume link filled in, and your follow-up workflow running.

Already Using SNG GoHighLevel?

The SNG GoHighLevel plugin syncs partial onboarding submissions to GoHighLevel when a visitor reaches the quote step. SNG Lead Recovery works alongside it:

  • SNG GoHighLevel creates the contact first (about 10 minutes after the quote step).
  • When the visitor abandons, SNG Lead Recovery's webhook arrives later and updates the same contact with the resume link, step, and progress — no duplicate.

To keep it that way:

Rule Why
Use Create/Update Contact in your workflow Matches the existing contact instead of creating a new one
Use the same sub-account as SNG GoHighLevel Contacts in different sub-accounts are different contacts
Keep Allow Duplicate Contact turned off in your sub-account settings Lets GHL match contacts by email or phone
Keep Mark Abandoned After at 15 minutes or more Lets the SNG GoHighLevel sync finish first
Let one workflow send follow-ups If you already follow up on new partial-submission contacts, use this integration instead, so visitors aren't messaged twice

When SNG GoHighLevel is active, the Lead Recovery settings page shows a reminder of these rules.


Multiple Locations

If each Sweep&Go location has its own GHL sub-account, set up the workflows in each sub-account, then enter each sub-account's webhook URL under Per-Location Webhook URLs in the Lead Recovery settings. Leads are sent to the URL of the location they came from.


Troubleshooting

Problem What to check
Test fails The URL must start with https:// and be the exact Inbound Webhook URL from GHL. Check that the workflow is published.
Lead never reaches GHL The lead must be Abandoned and have an email or a consented phone. Check the lead's timeline for Sent to Webhook or Webhook Delivery Failed.
Duplicate contacts See Already Using SNG GoHighLevel? — usually a plain "Create Contact" action or a different sub-account.
Follow-up continues after signup Make sure Lead completed / recovered is on under Send Events, and that your follow-up workflow has the lead-recovery-completed goal.
Need to send a lead again Open the lead and click Resend to Webhook.