GoHighLevel Lead Routing Webhook: Send Leads into WiseFunnel (Step-by-Step)
Configure a GoHighLevel outbound webhook that pushes leads into WiseFunnel's Lead Routing engine in under 30 minutes. No Zapier needed.
- Direct bridge, no middleware: GoHighLevel sends lead data to WiseFunnel via a native outbound webhook. No Zapier.
- Three things to gather: Your WiseFunnel webhook URL, your funnel ID, and your workspace webhook secret.
- Standard payload: The fields
firstname,lastname,email, andphonemap automatically, all available as GHL merge tags. - Under 30 minutes, real time: Setup is quick and the connection fires the moment a workflow trigger runs.
- Free trial: 100 credits, no credit card required.
If you run GoHighLevel as your CRM and WiseFunnel as your lead distribution layer, you need a direct data bridge between them. Exporting CSVs, copy-pasting lead data, or running a Zapier sequence with two seconds of latency per lead costs you money and time. A direct GoHighLevel lead routing webhook removes all of it.
What does a GoHighLevel lead routing webhook actually do?
It sends a JSON payload from a GHL workflow to an external URL the moment a trigger fires. When you add a "Custom Webhook" action to any GHL workflow, GoHighLevel packages the contact's data, sends an HTTP POST request to the URL you specify, and moves on. No polling, no delays.
On the WiseFunnel side, the inbound webhook endpoint receives that JSON, identifies the lead, and drops it directly into your funnel's CRM. From there, your Lead Routing rules take over. The entire handoff happens in real time, and most payloads resolve in under two seconds.
Where do you find your WiseFunnel webhook endpoint?
Your WiseFunnel webhook URL is specific to each funnel. To find it:
- Open WiseFunnel and go to the funnel you want to receive the leads.
- Open Funnel Settings and look for the Integrations or Inbound Webhook section.
- Copy the endpoint URL. It follows this format:
`` POST https://[project].supabase.co/functions/v1/external-lead-webhook?funnelid=YOURFUNNEL_ID ``
- Also copy your webhook secret. This is the
x-wisefunnel-secretvalue. It authenticates incoming requests so only authorized sources can push leads.
Keep both values ready. You paste them into GoHighLevel next.
You need two values from WiseFunnel: your endpoint URL (includes funnel_id as a query param) and your x-wisefunnel-secret header value. Both live in Funnel Settings under the Integrations tab.
How do you build the outbound webhook workflow in GoHighLevel?
It takes four actions inside a GHL workflow. Start with a trigger, add the webhook action, and wire in your URL and secret:
- Create a new Workflow in GoHighLevel, or open an existing one where your leads enter.
- Add a trigger that fires when a new contact is created or a form is submitted, whatever matches your lead source.
- Add a "Custom Webhook" action to the workflow. Set the method to
POST. - Paste your WiseFunnel webhook URL into the URL field. Add your webhook secret as a custom header:
`` Header name: x-wisefunnel-secret Header value: YOURWEBHOOKSECRET ``
- Set the request body to JSON format and paste this payload template:
``json { "contactid": "{{contact.id}}", "firstname": "{{contact.firstname}}", "lastname": "{{contact.lastname}}", "email": "{{contact.email}}", "phone": "{{contact.phone}}", "leadsource": "{{contact.source}}" } ``
GoHighLevel's merge tags auto-populate with real contact data when the workflow runs. Save the workflow and leave it in draft for now.
Use an existing workflow where your leads enter, or create a new one. The outbound webhook action can be added at any workflow step.
Match the trigger to your lead source. If leads come from a GHL form, use the Form Submitted trigger. For CRM imports, use Contact Created.
Paste your WiseFunnel endpoint URL. Add x-wisefunnel-secret as a custom header with your workspace secret as the value.
Use contact.id, contact.firstname, contact.lastname, contact.email, and contact.phone. GoHighLevel auto-populates these from the contact record whe
Fields like homeownership or loanamount go in as additional JSON keys. WiseFunnel stores them as quiz answer fields inside the lead record.
How do you map custom lead fields for the payload?
WiseFunnel's webhook endpoint detects GoHighLevel leads automatically when contactid is present in the payload. It then maps firstname, last_name, email, and phone directly into the lead record. No additional configuration is required for standard fields.
If you capture custom fields in GHL (for example, "homeownership" or "loanamount"), add them to the JSON body as additional keys:
``json { "contactid": "{{contact.id}}", "firstname": "{{contact.firstname}}", "lastname": "{{contact.lastname}}", "email": "{{contact.email}}", "phone": "{{contact.phone}}", "homeownership": "{{contact.homeownership}}", "loanamount": "{{contact.loan_amount}}" } ``
WiseFunnel stores these as quiz answer fields inside the lead record. Your buyers can see them in the CRM and in exported lead reports.
How do you test the webhook before leads go live?
Test before activating the workflow so bad data never hits your buyers. Use this two-step test:
- Inspect the payload with Webhook.site. Go to webhook.site and grab a temporary URL. Replace your WiseFunnel URL with the webhook.site URL, run a test contact through the GHL workflow, and confirm the JSON payload looks correct.
- Send a test lead to WiseFunnel. Swap back to your real WiseFunnel URL. Create a test contact in GHL (use
test+webhook@yourdomain.comas the email). Run the workflow manually. Open WiseFunnel's CRM and confirm the lead appears with the correct name, email, and phone number.
If the lead does not appear, check two things: the funnel ID in the URL is correct, and the x-wisefunnel-secret header value matches your workspace secret exactly.Grab a temporary URL from webhook.site, substitute it for your WiseFunnel URL, run a test contact through the GHL workflow, and confirm the JSON shap
Swap back the real endpoint URL. Create a test contact in GHL using test+webhook@yourdomain.com as the email.
Open WiseFunnel CRM and confirm the lead appears with the correct name, email, and phone.
Once the test lead appears cleanly, activate the GHL workflow. Every new contact now routes to WiseFunnel in real time.
What happens to a lead inside WiseFunnel after the webhook fires?
It gets processed immediately. WiseFunnel's Lead Routing engine runs your routing rules in order: geography check, lead score threshold, buyer availability, contract status. If a rule matches, the lead routes to that buyer and the notification fires (Slack, email, SMS, or webhook to the buyer's own CRM).
On the Scale plan, Profit Room handles multi-buyer distribution. You can split the same lead across two buyers at different prices, set daily caps per buyer, and track delivery confirmation. The Scale plan starts at $397/month, or $318/month billed annually.
| Capability | Growth plan | Scale plan |
|---|---|---|
| Webhook ingestion | Yes | Yes |
| Single-buyer routing | Yes | Yes |
| Profit Room multi-buyer | No | Yes |
| Monthly price | $197 | $397 |
Growth plan users ($197/month, or $158/month annually) get full webhook ingestion and single-buyer routing.
Get your first GHL lead into WiseFunnel today
The setup here takes under 30 minutes. Once it's live, every GoHighLevel lead routes into WiseFunnel automatically, with full CRM entry, buyer matching, and notification delivery. No manual exports, no lag, no missed leads.
Start with the free trial to build your first funnel, configure Lead Routing, and run a test lead from GoHighLevel before you commit to a plan. 100 credits, no credit card required.
- GoHighLevel: CRM and workflow automation platform with native outbound webhook actions.
- Webhook.site: Free tool for inspecting and debugging webhook payloads before going live.
wisefunnelBuild your first funnel in 5 minutes
Start with 100 free credits. No credit card required. Growth plan from $197/month.