Setting up the CRM webhook
Greylytics receives bad leads from your CRM via webhook. Currently supported CRM: GoHighLevel. When a contact receives a disqualifying disposition in GoHighLevel, it fires a webhook to Greylytics which triggers the suppression flow.
What you'll need
- A GoHighLevel account with admin access.
- Your Greylytics Webhook URL and Webhook Secret — both found in Space Settings → General.
Step 1 — Get your webhook credentials
Open Space Settings
In Greylytics, click Space Settings in the navigation.
Copy your Webhook URL and Secret
Under the General tab, you'll see your unique Webhook URL and Webhook Secret. Copy both — you'll need them in GoHighLevel.
Warning
Keep your Webhook Secret confidential. It's used to verify that webhook events are genuinely from your CRM. Do not share it publicly.
Step 2 — Configure the webhook in GoHighLevel
Open your GoHighLevel sub-account
Log into GoHighLevel and navigate to the sub-account for the business you're connecting.
Go to Settings → Integrations → Webhooks
In the sub-account settings, find Integrations and then Webhooks (sometimes under Developer Tools).
Add a new webhook
Click Add Webhook (or the + button).
Enter the Greylytics webhook URL
Paste your Greylytics Webhook URL into the URL field.
Select the trigger event
Choose Contact as the object type and select the Contact DND Updated or Contact Tag Changed event — whichever your workflow uses to mark bad leads. If you use contact dispositions, select Opportunity Status Changed.
Save the webhook
Click Save. GoHighLevel will now send events to Greylytics when contacts are updated.
Step 3 — Test the connection
After saving the webhook, trigger a test event in GoHighLevel (mark a test contact as DND or update their disposition). Then check the Greylytics dashboard — the test contact should appear in your lead list within a few minutes.
Tip
Use a fake contact for testing so you don't accidentally suppress a real person.
Troubleshooting
No leads appearing after setup
- Double-check the webhook URL is correct — it must be the exact URL from your Space Settings, including the path.
- Verify the Webhook Secret matches. A mismatch will cause Greylytics to reject all incoming events silently.
- Check that the correct event type is selected in GoHighLevel.
Leads appearing but not syncing to Meta Ads
- Check that your Meta Ads connection is active and not expired. See Meta Ads token expiry.