Module 2: LeadCapture.io to GHL
Use the LeadCapture.io add-on + Zapier to push leads into GoHighLevel. Simple checklist first, then the full white-label SOP.
What this covers
Watch this loom video first
Part 1 — Simple execution checklist (for experienced users)
- Test the LeadCapture.io form and capture a sample record
- Screenshot the form data fields
- Open the existing Zap in Zapier
- Add an outbound webhook (POST) step at the desired position
- Create an inbound webhook trigger inside GoHighLevel
- Copy the GHL webhook URL into Zapier
- Manually build all data fields inside the webhook body
- Send a test request from Zapier to populate fields in GHL
- Fetch the request inside GHL to confirm it arrived
- Clean placeholder values in Zapier and save
- Map fields inside the GHL workflow (contact fields, notes, UTM data)
- Create additional workflow actions (notes, opportunity, etc.)
- Publish the Zap and activate the GHL workflow
Part 2 — Full SOP details (for new users)
Tools & requirements:
- LeadCapture.io form (with test submissions)
- Zapier account
- GoHighLevel (white-label or standard)
- Ability to edit workflows inside GoHighLevel
- Basic understanding of pipelines and automation steps
Overview: LeadCapture.io collects lead data but doesn't automatically push into GHL. To connect the two systems: (1) create a Webhook POST in Zapier; (2) GoHighLevel receives the data through an Inbound Webhook Trigger inside a workflow; (3) map the fields (name, phone, email, property details, UTM parameters) inside GHL. This is manual, but once set up it runs automatically and reliably.
Preparation:
- Submit a test lead in LeadCapture.io — go to the form, click Edit, and run a test submission. This creates a record showing all captured fields.
- Screenshot all captured fields — this becomes your reference for rebuilding and mapping later.
- Open your existing Zap — decide whether you'll add GHL at the end, insert it mid-Zap, or replace other destinations entirely.
Step 1: Add a Webhook (POST) step in Zapier
- Inside the Zap, click Add Step
- Choose Webhooks by Zapier → POST
- Click Continue
- You'll need a URL — leave this blank for now
Step 2: Create the inbound webhook inside GoHighLevel
- Go to Automations
- Locate or create the workflow where the lead should land (example folder: FlipAnywhere → Facebook Leads)
- Select Trigger → Webhook Received (Inbound Webhook)
- GHL will generate a Webhook URL
- Copy the URL
Note
Step 3: Insert the URL into Zapier
- Return to the Zap
- Paste the copied GHL webhook URL into the URL field of the POST request
Step 4: Rebuild the webhook data fields manually
You must create each field exactly as it appears in your LeadCapture.io form. Typical fields include:
- name
- phone
- address
- property_type
- listed
- condition
- motivation
- occupancy
- price
- form_name
- utm_source
- utm_campaign
- utm_content
- utm_medium
- utm_term
Build these fields in Zapier under "Data" → "Key/Value pairs." This step is tedious but required.
Step 5: Populate placeholder data for UTM fields
If LeadCapture.io test data does not include UTM values, put placeholders:
- campaign
- content
- medium
- term
These will be removed later after the first test passes through.
Step 6: Send a test request to GoHighLevel
- Click Test & Continue in Zapier
- Zapier sends a sample POST payload to the GHL webhook
- Go to GoHighLevel → Webhook Trigger
- Click Fetch Request
- Confirm you see the JSON payload with all fields
If fields are missing, fix your Zap and send another test.
Step 7: Remove placeholder UTM values in Zapier
- Go back to the Zap
- Edit the outbound webhook fields
- Remove temporary values used for testing
- Save and publish
Step 8: Map fields inside the GoHighLevel workflow
Action: Create/Update Contact — map:
- Full Name → webhook.name
- Phone → webhook.phone
- Email → webhook.email
- Address → webhook.address (or property address)
- Any other relevant form fields
Action: Add Note (recommended) — build a note that includes all lead details:
Name: {{webhook.name}}
Address: {{webhook.address}}
Phone: {{webhook.phone}}
Email: {{webhook.email}}
Condition: {{webhook.condition}}
Motivation: {{webhook.motivation}}
Listed: {{webhook.listed}}
Price: {{webhook.price}}
UTM Source: {{webhook.utm_source}}
UTM Campaign: {{webhook.utm_campaign}}
UTM Content: {{webhook.utm_content}}
UTM Medium: {{webhook.utm_medium}}
UTM Term: {{webhook.utm_term}}
Action: Create Opportunity (optional) — choose Create/Update Opportunity, select the correct pipeline, stage, and source, then map contact name, lead details, and UTM source (optional).
Quality control checklist
- No yellow warning icons inside any Zapier fields
- Webhook has received at least one proper test request
- All GHL fields map correctly
- Note contains all relevant data
- Contact record is created successfully
- Workflow is published and active
Troubleshooting
Cause: your test submission didn't include real UTM parameters. Fix: add placeholder values → send test → refetch → remove placeholders.
Cause: the key name inside the Zap is incorrect (e.g. "nane" instead of "name"). Fix: correct the key → retest → refetch webhook → remap fields.
Cause: the Zap is not published or the webhook trigger wasn't saved. Fix: publish both the Zap and the GHL workflow.