By connecting
iClosed with your GoHighLevel account, you'll be able to seamlessly transfer your most important data to your CRM.
Every booking, reschedule, cancellation, and call outcome flows one-way into GoHighLevel contacts, opportunities, calendar appointments, tags, and custom fields so your CRM always reflects what's happening in iClosed.
⭐ GoHighLevel integration is available with Growth and Business subscription plans (learn more about iClosed pricing and feature breakdown here).
Step-By-Step Guide
How to connect GoHighLevel with iClosed
Navigate to the Integrations page and click on the GoHighLevel (GHL) card to start
A new confirmation window will appear → click on the "Integrate" button
You will be redirected to GHL marketplace login page → Click the "Login" button
Enter your GoHighLevel login information to sign into your GHL account
Select the account you want to connect (in case you're part of multiple accounts)
Review permissions and install the app by clicking the "Next" button
Select Sub account you'd like to connect
You'll be directed back to iClosed to complete the configuration
Configuring Integration
Once you're back in iClosed after connecting, you'll land on the Connection & configuration tab, where you'll be able to configure the integration in six steps.
Pro Tips
Whenever one of your selected events happens in iClosed (contact created, call booked, outcome logged, etc.), iClosed automatically sends it to GoHighLevel.
New contacts become GoHighLevel Contacts, booked calls become Appointments, and call outcomes and sales become Opportunities.
You can then map each iClosed trigger to a GoHighLevel pipeline stage and opportunity status.
Step 1 - Select event(s)
Choose which iClosed events should push data to GoHighLevel. Only data from the selected events will be sent. You can select all events or narrow it down to specific ones.
Step 2 - Select pipeline
Choose the GoHighLevel pipeline that data from your selected events will be pushed into. iClosed fetches your pipelines and their stages directly from GHL.
Step 3 - Book appointments (optional)
Pick a GoHighLevel calendar to create an appointment when a call is booked. The appointment is updated on reschedule and cancelled when the call is cancelled.
Leave this set to "Don't book appointments" to skip appointment booking entirely.
Step 4 - Opportunity mapping
This is where you control how each iClosed trigger creates or updates opportunities in GoHighLevel.
iClosed triggers are organized into five groups:
Contact Statuses
Call lifecycle
Call outcomes (Sale)
Call outcomes (No sale)
Discovery call outcomes (Approved/Rejected)
For each trigger shown on the far left you can choose to update three things:
Opportunity Action
GHL Stage it lands in and
Opportunity Status
Opportunity Action (what iClosed does with the opportunity):
Create or update — create the opportunity if it doesn't exist, or update it if it does
Create only — only create a new opportunity; never update an existing one
Update only — only update an existing opportunity; never create a new one
Do not sync — skip opportunity sync for this trigger entirely
GHL Stage
GHL Stage is selected from a searchable dropdown. The same stage list is available across all trigger groups and includes Potential, Qualified, Disqualified, Strategy Call Booked, Rescheduled, Cancelled, Won, Deposit, Recurring, Follow Up Scheduled, Unqualified, Not Interested, No Show, Admin Cancelled, Contact Cancelled, Other, Discovery Call Approved, and Discovery Call Rejected — plus any custom stages in your selected pipeline.
Opportunity Status options are
Open
Won
Lost and
Abandoned
Important Notes
Every enabled trigger needs a GHL stage. To skip opportunity sync for a trigger, disable it or set its action to "Do not sync."
Even when opportunity sync is skipped, only the opportunity is affected as the contact, tags, notes, and custom fields still sync.
Step 5 - Assign opportunities to GoHighLevel users
Map each iClosed host to a GoHighLevel user so opportunities are assigned to the right person.
You can map users manually from the dropdowns, or click "Automap by email" to match hosts to GHL users automatically by email address.
Step 6 - Custom field mapping
Choose how iClosed invitee questions and fields are mapped to GoHighLevel.
Automatic mapping — iClosed matches invitee questions to GoHighLevel custom fields by name and automatically creates any that are missing.
Manual mapping — you map each iClosed field to a specific GoHighLevel custom field yourself.
When you're done, click "Save configuration" to finish. You can return any time to adjust these settings.
Testing the integration
Navigate to the AI Scheduler → Events page
Click "View Booking Page" to access the live scheduler
Enter form information and schedule a call
Navigate to GoHighLevel and check that all data mapped correctly — the contact, opportunity, appointment, and tags
If anything is off, return to the Integrations page and edit mapping settings via "View Configuration."
Before deleting your "testing lead" from iClosed and GoHighLevel, try changing the lead status or adding outcomes (if the call is in the past) to confirm that information also flows through (if you've mapped those fields).
Pro Tips
As soon as the lead fills out a phone number or email (depending on which is set as primary on your form's first page), iClosed captures the data and sends it to iClosed Global Data and to your GoHighLevel account.
Such a lead will be tagged "Potential" until the status changes.
FAQ's
Will changes I make in GoHighLevel show up in iClosed / Is this a two-way sync integration?
Will changes I make in GoHighLevel show up in iClosed / Is this a two-way sync integration?
No. The integration is one-way only: iClosed → GoHighLevel.
Bookings, reschedules, cancellations, outcomes, and contact status changes flow from iClosed into GHL automatically, but anything you change directly in GoHighLevel will not flow back into iClosed.
If you need GHL-to-iClosed updates, you'll need to build that separately with Zapier or Make, including:
Syncing data from GoHighLevel back into iClosed (any GHL → iClosed direction)
Connecting more than one GoHighLevel location to a single iClosed account — the native integration links one iClosed account to one GHL location, so additional sub-accounts need a separate automation
Triggering downstream actions in other tools (outside GHL) off an iClosed booking or outcome
Which GoHighLevel records does the integration create?
Which GoHighLevel records does the integration create?
Contacts, opportunities (in your chosen pipeline/stage), calendar appointments, tags, and custom fields — all flowing one-way from iClosed into GoHighLevel.
Does iClosed create its own stages in GoHighLevel, or do I map to my existing pipeline stages?
Does iClosed create its own stages in GoHighLevel, or do I map to my existing pipeline stages?
You map to the stages that already exist in your GoHighLevel pipeline.
When you select a pipeline in Step 2, iClosed pulls in that pipeline's stages, and in Step 4 you choose which stage each iClosed trigger should land in from the GHL Stage dropdown.
The integration does not push iClosed's statuses into GHL as new stages. (It does auto-create missing custom fields if you choose automatic field mapping, but that applies to fields, not pipeline stages.)
The best practice is to set up the pipeline and stages you want in GoHighLevel first, then map to them in iClosed.
Does the integration support opportunity/pipeline updates?
Does the integration support opportunity/pipeline updates?
Yes, the integration lets you map each iClosed status to a specific pipeline stage and opportunity status, so opportunities move automatically as the lead progresses.
If I change a contact's status in Global Data, will it update in GoHighLevel?
If I change a contact's status in Global Data, will it update in GoHighLevel?
Yes. Contact status changes push to GoHighLevel regardless of where you make them.
The Contact statuses trigger group (Potential, Qualified, Disqualified) fires whenever a contact is created or its status changes in iClosed, so a status change made from Global Data syncs to GHL like any other — provided that trigger is enabled and mapped in your configuration.
Can I connect one iClosed account with more than one GoHighLevel sub-account (Location)?
Can I connect one iClosed account with more than one GoHighLevel sub-account (Location)?
The integration connects to one GoHighLevel Location at a time. For multiple sub-accounts, use iClosed with your main Location, or build automations with Zapier or Make for the others.
Will the appointment show on the assigned user's calendar?
Will the appointment show on the assigned user's calendar?
Yes — appointments are booked on the GoHighLevel calendar you configure during setup when calls are scheduled.
What is the recommended configuration per iClosed triggers
What is the recommended configuration per iClosed triggers
Here's the recommended configuration:
Trigger group: Contact statuses
Pushed when a contact is created or its status changes in iClosed.
iClosed Trigger | Suggested Action | Suggested Status |
Potential | Create or update | Open |
Qualified | Update only | Open |
Disqualified | Update only | Lost |
Trigger group: Call lifecycle
Pushed when calls are booked, rescheduled, or cancelled.
iClosed Trigger | Suggested Action | Suggested Status |
Call booked | Create or update | Open |
Rescheduled | Create or update | Open |
Cancelled | Create or update | Abandoned |
Trigger group: Call outcomes (Sale)
Pushed when a sale outcome is logged on a strategy call.
iClosed Trigger | Suggested Action | Suggested Status |
Sale (Won) | Update only | Won |
Deposit | Update only | Won |
Recurring | Update only | Won |
Each of these three triggers has an additional checkbox: "Update opportunity monetary value from the transaction amount," which writes the deal value from the synced transaction onto the GHL opportunity.
Trigger group: Call outcomes (No sale)
Pushed when a no-sale outcome is logged on a strategy call.
iClosed Trigger | Suggested Action | Suggested Status |
Follow up scheduled | Update only | Open |
Unqualified | Update only | Lost |
Not interested | Update only | Lost |
No show | Update only | Open |
Admin cancelled | Update only | Abandoned |
Contact cancelled | Update only | Abandoned |
Other | Do not sync (disabled by default) | Open |
Pro Tips
The "Other" trigger is unchecked by default; its action shows "Do not sync" and stays greyed out until you enable it.
Trigger group: Discovery call outcomes
Pushed when an outcome is logged on a discovery call.
iClosed Trigger | Suggested Action | Suggested Status |
Approved | Create or update | Open |
Rejected | Update only | Lost |















