Connect GoHighLevel (GHL) to automatically sync leads and booking data to your CRM.
Automatic Lead Sync: Leads pushed to GHL automatically
Status Updates: Booking status synced in real-time
Custom Field Mapping: Form responses sync to GHL fields
Workflow Triggers: Trigger GHL automations from bookings
Go to Settings > Integrations
Find GoHighLevel
Click Connect
Enter your GHL API credentials or authorize via OAuth
Select your GHL location/sub-account
Save the connection
You'll need from GoHighLevel:
API Key or OAuth Connection
Location ID (sub-account)
Log into GoHighLevel
Go to Settings > API
Generate or copy your API key
Find your Location ID in GHL settings or the URL when viewing your sub-account.
When a lead is captured in SalesCal:
Contact created in GHL
Contact data mapped to GHL fields
GHL contact ID stored in SalesCal
Future updates use this ID
Event | GHL Action |
Step 1 Complete | Contact created (status: incomplete) |
Qualification Pass | Contact updated (status: qualified) |
Qualification Fail | Contact updated (status: disqualified) |
Booking Complete | Contact updated (status: booked) |
SalesCal Field | GHL Field |
First Name | First Name |
Last Name | Last Name |
Phone | Phone |
Custom Fields | Custom Fields (mapped) |
Lead Score | Custom Field (optional) |
Lead Grade | Custom Field (optional) |
Event Name | Tag or Custom Field |
Map SalesCal form fields to GHL custom fields:
Go to integration settings
Find Field Mapping
For each SalesCal field:
Select the corresponding GHL field
Or create a new GHL field
Save mappings
Match field types (text to text, dropdown to dropdown)
Use consistent naming
Map all important fields
Test with a sample lead
SalesCal sets these statuses/tags:
Meaning | Status |
incomplete | Started form, didn't finish |
qualified | Passed qualification rules |
disqualified | Failed qualification rules |
booked | Completed a booking |
Use these in GHL automations to trigger workflows.
On Incomplete Lead:
Send follow-up email
Add to nurture sequence
Notify sales rep
On Qualified Lead:
Send confirmation
Assign to rep
Add to hot lead list
On Disqualified Lead:
Send polite decline
Add to long-term nurture
Log for analysis
On Booking:
Send preparation email
Create task for rep
Add calendar reminder
In GHL, create a workflow
Set trigger: "Contact Tag Added" or "Custom Field Changed"
Use the SalesCal status values
Add your automation steps
When a lead already exists in GHL:
By Email: Existing contact updated
New Contact: Created if no match found
Merge Settings: Follow your GHL duplicate settings
Verify API key is correct
Check Location ID is valid
Ensure API access is enabled in GHL
Try regenerating API key
Verify connection is active
Check for sync errors in settings
Confirm GHL location is correct
Test with a new lead
Verify field mapping is saved
Check field types match
Ensure GHL field exists
Test the specific field
Review GHL duplicate settings
Check if email matching is enabled
Consider merging duplicates manually
Verify webhook/trigger is active
Check GHL automation is running
Look for GHL error logs
In SalesCal lead records:
GHL Contact ID: Shows if synced
GHL Synced At: Last sync timestamp
Sync Status: Success or error
To remove the connection:
Go to Settings > Integrations
Find GoHighLevel
Click Disconnect
Confirm
Note: Existing GHL contacts remain, but new leads won't sync.
Only lead data is sent to GHL
Follows your GHL privacy settings
You control what fields sync
Can disconnect at any time
Map all fields before going live
Test sync with sample leads
Set up automations for each status
Use same field names when possible
Keep custom fields organized
Document your mapping
Check sync status regularly
Address errors promptly
Review automation performance
Automate follow-ups
Create tasks for sales team
Segment leads by status/grade
For more control, use webhooks:
Enable webhook mode in integration settings
SalesCal sends events to your webhook
Your system processes and syncs to GHL
More flexibility for custom logic
Managing Leads - Lead management in SalesCal
Qualification Rules - Status triggers
Lead Grading - Scoring data sync