Skip to main content

GoHighLevel

Step-by-step instructions on how to connect iClosed with GoHighLevel (GHL) and all about the data we're sending to GoHighLevel.

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

  1. A new confirmation window will appear → click on the "Integrate" button

  2. You will be redirected to GHL marketplace login page → Click the "Login" button

  3. Enter your GoHighLevel login information to sign into your GHL account

  4. Select the account you want to connect (in case you're part of multiple accounts)

  5. Review permissions and install the app by clicking the "Next" button

  6. Select Sub account you'd like to connect

  7. 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

  1. Navigate to the AI Scheduler → Events page

  2. Click "View Booking Page" to access the live scheduler

  3. Enter form information and schedule a call

  4. 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?

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?

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?

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?

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?

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)?

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?

Yes — appointments are booked on the GoHighLevel calendar you configure during setup when calls are scheduled.


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


Did this answer your question?