Skip to main content

Go High Level (GHL) Integration

Integrate Go High Level (GHL) to sync leads and appointments directly with ChiroHD.

📝 Overview

The Go High Level (GHL) integration connects your marketing automation platform with ChiroHD, allowing leads booked through GHL to flow directly into ChiroHD as patients — and keeping both systems in sync throughout the care journey. When a new patient books through a GHL form, ad, or widget, ChiroHD creates their profile automatically and adds the appointment to the clinical calendar. Appointment updates, attendance status, and referral sources then flow back, giving your marketing team visibility into real patient outcomes.
​

The integration handles:

  • New patient lead capture and chart creation

  • Bidirectional (or one-way) appointment sync

  • Attendance status reporting back to GHL (showed, no-show)

  • Referral source mapping for marketing attribution

  • Calendar availability blocking to prevent double bookings (Beta)

  • Tag syncing from ChiroHD to GHL based on milestones (see conditions below)

NOTE: ChiroHD activates the integration on our end. Once active, your team owns the configuration inside GHL. A professional marketing company is recommended for managing GHL workflows, automations, and pipelines — ChiroHD support does not troubleshoot GHL-side settings.


Pricing

GHL is a charged add-on at $30/month per location. This fee covers the secure, ongoing connection between ChiroHD and GHL. It can be cancelled at any time without a contract, but cancelling disconnects the integration and requires full reconfiguration to reconnect. The fee applies per location, including satellite locations.


What Syncs — and in Which Direction

Data

GHL → ChiroHD

ChiroHD → GHL

New patient profile (name, phone, email, DOB, referral source)

Yes

—

Contact edits (fill in blank fields only)

Yes

—

Appointments (bookings, reschedules, cancellations)

Yes

Yes (bidirectional mode)

Attendance status (showed / no-show)

—

Yes

Referral source (GHL Contact Source field)

Yes

—

Tags (visit count, patient status milestones)

—

Yes (conditions apply)

Calendar blocked time / exceptions

—

Yes (Beta)

Intake / paperwork completion

No

No

Patient status

No

No

Payments

No

No

Notes on contact sync:

When a new patient is created — either in GHL or in ChiroHD — their profile is created in both systems and linked. After that initial creation, ongoing contact edits only flow in one direction: GHL into ChiroHD, and only to fill in blank fields. Edits made in GHL will not overwrite data that already exists in ChiroHD. Edits made in ChiroHD do not push back to GHL. After a patient checks in, ChiroHD is the system of record.


​Notes on tag sync:

Tags push from ChiroHD to GHL based on milestones like visit count or patient status, but three conditions apply: tag sync must be enabled for the network, the tag must be mapped in the integration settings, and the patient must already be linked to a GHL contact. Tag pushes are best-effort and do not retry on failure — do not describe them as guaranteed.


Appointments deleted in GHL are not automatically deleted in ChiroHD. This is intentional.


Sync Timing and What to Expect

The integration is not real-time. Appointments from GHL sync into ChiroHD periodically in the background — there will be a brief delay before a newly booked patient appears in ChiroHD. Plan accordingly and avoid assuming an appointment is missing just because it hasn't appeared yet.
​

Pre-existing appointments:

Appointments that existed in either system before the integration was enabled do not backfill. Historical appointments will not appear in GHL, and GHL appointments created before setup will not appear in ChiroHD. Going forward, only appointments created after the integration is active will sync.


Setting Up the Integration

Step 1: Request activation

Contact ChiroHD Support via chat or email at [email protected] to have GHL enabled for your location. This must be a live location — not a training or system-level account.

Step 2: Authenticate

Navigate to Settings, Initial Setup, Integrations, Go High Level.
​


Before clicking Enable, log into your GHL account in a separate browser tab in the same browser.

Click Enable and follow the prompts to select your GHL sub-account.


After enabling, you’ll be prompted to authenticate by selecting your Go High Level sub-account.


IMPORTANT Info about Authenticating the GHL Sub-Account: ​

  • Always reconnect the same GHL sub-account. If the integration disconnects and you reconnect a different GHL sub-account, all previously synced patients and appointments will lose their link to ChiroHD records.

  • Each GHL sub-account can only be connected to one ChiroHD Location at a time.

  • If it doesn’t appear automatically, type it in manually.

  • Once authenticated, you’ll be redirected to the Integrations page to continue setup.
    ​


Step 3: Map your calendars

Click Connect to a Go High Level Calendar and configure the following:

  • A - Go High Level Calendar
    Select the GHL calendar leads are booking on.

  • B - ChiroHD Calendar
    Select the ChiroHD calendar where those appointments should appear.

  • C - Appointment Type
    The type assigned to all synced appointments from this calendar.
    ​

    What this means is that when a lead has booked on the specified GHL calendar (Step A), we will copy that lead over as a patient on your ChiroHD calendar (Step B) with the desired appointment type (Step C).
    ​

  • D - Send SMS & Emails
    Toggle off to prevent ChiroHD from sending reminders if GHL is already handling patient communications. This is off by default — review it at setup, especially for multi-location practices.

  • E - Syncing Method

    • Sync from Go High Level to ChiroHD (one-way): New appointments created in GHL sync into ChiroHD. ChiroHD does not create new appointments in GHL. However, if a synced appointment is later changed or updated in ChiroHD, that change will push back to GHL. Only the initial appointment creation is one-directional.

    • Sync both ways between calendars: New appointments created in ChiroHD also sync into GHL, in addition to all GHL-originated appointments syncing to ChiroHD.
      ​Note: only appointments that match your calendar mapping configuration will sync to GHL.

  • F - Sync Availability to Go High Level (BETA)
    Blocks GHL time slots when ChiroHD is booked. See the Availability Sync section below for important limitations.

  • G - Go High Level Hours (BETA)
    Configure GHL calendar hours directly from ChiroHD.
    ​
    ​✅ Hit Save
    ​

There is no limit to the number of GHL calendars you can connect. Each GHL calendar maps to one ChiroHD calendar with one appointment type. To handle multiple appointment types (e.g., New Patient and ROF), create a separate GHL calendar for each and add them individually.


Step 4: Configure Referral Source mapping


Navigate to the Referral Sources tab in GHL.
​
This is enabled automatically — when GHL contacts sync in, their Contact Source field maps to a ChiroHD referral source. Review this tab periodically to confirm all sources are mapping correctly.

When a contact is synced from Go High Level to ChiroHD, this field can be mapped to a referral source in ChiroHD. This can help you accurately track where you new patients are coming from in ChiroHD.

This setting will simply map that referral source name in GHL into ChiroHD and set the referral source in the patient's profile. This will help ensure that your marketing analysis report in ChiroHD is accurate.

NOTE: If a source name is not mapped when the contact first arrives, mapping it later will not backfill historical records.
​

Step 5: Configure Contacts (optional)

By default, only contacts with appointments sync into ChiroHD.
​
Enable Sync Contacts from GHL Without Appointments if you want all GHL contacts — including pure leads without an appointment — to create profiles in ChiroHD.


Calendar Availability Sync (Beta)

The availability sync feature blocks GHL time slots when ChiroHD is fully booked, reducing the chance of double bookings. This feature is still in Beta and has important limitations:

  • Not real-time: The sync runs in the background periodically. There is a window during which GHL may still show a slot as available even if ChiroHD is booked. Double bookings are possible — front desk staff should check both systems when conflicts arise.

  • Per-calendar opt-in: Not all calendars are included by default.

  • Hours round outward: A 9:30 AM opening syncs to GHL as 9:00 AM, and a 5:30 PM close syncs as 6:00 PM. This means GHL may advertise slightly wider availability than ChiroHD actually has — which is the riskier direction. Front desk staff should watch for bookings at the edges of the day.

  • Days off with no appointments are not automatically blocked.

  • Standing schedule changes are not automatically picked up: Changes to a provider's regular weekly schedule do not sync automatically and must be updated manually.

  • Standard working hours must be configured separately in both systems. Only exception time — holidays, lunch blocks, individually blocked slots — syncs across.


Contacts and Duplicate Records

Existing patients: The integration matches contacts based on an existing GHL link. If a patient already exists in ChiroHD but was never linked to a GHL contact, a new chart may be created when they come through GHL again, resulting in a duplicate.


​Family members sharing a phone number: The contact feed matches on phone number or email without a name check. If two family members share a phone number, the child's contact may be absorbed into the parent's record and a separate chart may never be created for the child. To avoid this, have front desk staff create family members directly in ChiroHD under the Family tab, rather than allowing them to sync in through GHL.


Communications Across Both Systems

ChiroHD and GHL operate as separate communication systems. There is no combined inbox — texts sent from ChiroHD appear in ChiroHD, and texts sent from GHL appear in GHL.

  • Patients may receive texts from two different numbers: one from ChiroHD (Twilio) and one from GHL.

  • Opt-outs do not sync between platforms. Each system manages its own opt-outs independently.

  • To prevent duplicate appointment reminders, use the Send SMS & Emails toggle (Setting D in calendar configuration) to suppress ChiroHD's notifications for GHL-connected calendars. This setting is off by default — review it at setup, especially for multi-location practices.

  • ChiroHD supports two-way texting — inbound patient texts appear in the patient conversation in ChiroHD. However, the ChiroHD texting number cannot receive inbound voice calls. If a patient attempts to call that number, direct them to the office phone instead.

Using SKED alongside GHL: If your practice uses SKED's new patient scheduler with a GHL integration, do not integrate GHL with both SKED and ChiroHD simultaneously — this causes bidirectional sync conflicts. Choose one: GHL integrated with SKED, or GHL integrated with ChiroHD.


Marketing Attribution and Reporting

ChiroHD captures GHL's lead source through the Contact Source field, which maps to a referral source on the patient profile. GHL-sourced patients appear in the following reports:

  • New Patient Referral Income — Reporting > All Reports Beta > Sales Reports

  • Marketing Analysis / Statistics — Reporting > Simple Reporting > Statistics

Note: GHL patients will appear under their mapped referral source name — the report will not display "Go High Level" as the source unless that is the mapped label.

Limitations:

  • ChiroHD receives only GHL's single source value. UTM parameters, campaign names, and ad-level detail are not captured.

  • Revenue and "started care" data lives in ChiroHD only — nothing flows back into GHL.

  • If a source is not mapped when the contact first arrives, it will not backfill after mapping is added later.


Implementation

Implementation Who does what:

  • ChiroHD: Activates the integration, sets the sync mode, and creates and maintains a helper calendar inside your GHL account to carry availability and blocked time. Do not edit or delete this helper calendar.

  • Your admin / marketing manager: Connects the GHL account, configures calendar mappings, and manages all GHL-side workflows, automations, and pipelines.

No API keys or technical setup are required. Once ChiroHD activates the integration, your admin connects it by logging into the GHL account through ChiroHD settings.


Identifying GHL-Sourced Appointments

Appointments synced from GHL display a sparkle icon on the ChiroHD calendar.
​


​
To confirm an appointment's origin, go to Visit History > Audit (gray button) and look for the "Go High Level" label.
​


FAQ and Troubleshooting

  • If the integration stops syncing:

    • Toggle the GHL integration off and back on in Settings > Initial Setup > Integrations > Go High Level.

    • This forces a resync and often resolves general sync failures, not just availability issues. While the integration is disabled, appointments and patient records created in either system will not sync. Data created during that window will not backfill once the integration is re-enabled. If possible, perform this toggle during a low-activity period.

    • Confirm you are reconnecting the same GHL sub-account used originally.

    • If issues persist, contact ChiroHD Support.

  • Does a clinic need two different Twilio numbers for GHL? Or can they use the same number for ChiroHD and GHL?
    ​
    A clinic needs two separate numbers — one for ChiroHD (Twilio) and one for GHL. Each service requires its own account.
    ​

  • Is there a limit to the number of calendars I can sync with GHL?
    ​
    No, there is no limit. Each GHL calendar connects to one ChiroHD calendar with one appointment type. For multiple appointment types, set up a separate GHL calendar for each.
    ​

  • Does the integration sync existing appointments?
    ​
    No. Appointments that existed in either system before the integration was enabled do not backfill. Historical appointments will not appear in GHL, and pre-existing GHL appointments will not appear in ChiroHD. Only appointments created after the integration is active will sync going forward.
    ​

  • Can we support a Two-Day Discovery Process (Day 1 and Day 2 new patient appointments)?
    ​
    Yes. Set up Day 1 and Day 2 as separate appointment types on separate GHL calendars, each connected to ChiroHD. ChiroHD will send an attendance status back to GHL for each, so both days are distinguishable events in your GHL pipeline. Tags based on visit count or patient status can also push to GHL automatically. Paperwork completion does not sync and would require a manual tag in GHL. Whether GHL workflows fire automatically when they receive a tag or status update from ChiroHD depends on how your GHL workflows are configured — this should be tested by your marketing company in your GHL environment.
    ​

  • How do I avoid duplicate appointment reminders going to patients?
    ​
    Use the Send SMS & Emails toggle on each calendar connection (Setting D in the calendar configuration). Disabling this prevents ChiroHD from sending reminders for appointments on that calendar so GHL can handle communications. This setting is off by default — review it at setup.
    ​

  • What happens if I disconnect and reconnect the integration?
    ​
    Reconnecting resets calendar mappings and other settings, which will need to be reconfigured. Always reconnect using the same GHL sub-account. Connecting a different sub-account will unlink all previously synced patients and appointments.
    ​

  • Can GHL be enabled for only one location?
    ​
    Yes. GHL is enabled per location at $30/month. Specify which location(s) should have access when contacting support. The fee applies per location, including satellite locations.
    ​

  • Do payments taken in GHL sync to ChiroHD?
    ​
    No. Payments taken in GHL do not sync to ChiroHD and must be entered manually.
    ​

  • Can GHL integration be used without a marketing company?
    ​
    A marketing manager at the practice can configure and maintain the GHL side without a third-party marketing company. ChiroHD handles activation; your team owns everything inside GHL. However, ChiroHD support cannot troubleshoot GHL-side workflows, pipelines, or automations — those require someone with GHL expertise.
    ​

  • Does intake paperwork completion sync between GHL and ChiroHD?
    ​
    No. Paperwork and intake completion do not sync in either direction. If you need to trigger a GHL workflow based on paperwork completion, a manual tag in GHL would be required.


✅ Key Takeaways

  • GHL is a $30/month per location add-on — ChiroHD activates it; your admin configures everything inside GHL.

  • The integration is not real-time — expect a brief delay before a newly booked GHL patient appears in ChiroHD. Pre-existing appointments do not backfill.

  • Each GHL calendar maps to one ChiroHD calendar with one appointment type — set up separate GHL calendars for each appointment type you need to sync.

  • Always reconnect the same GHL sub-account — connecting a different sub-account breaks all existing patient and appointment links.

  • ChiroHD and GHL are separate communication systems — opt-outs don't sync, and patients may receive texts from two different numbers. Use the Send SMS & Emails toggle to suppress duplicate reminders.

  • Map your referral sources at setup — unmapped sources at the time of a contact's first arrival will never backfill.

  • The Calendar Availability Sync is Beta — double bookings are still possible; front desk should check both systems for edge-of-day conflicts.

  • Do not integrate GHL with both SKED and ChiroHD simultaneously — choose one to avoid bidirectional sync conflicts.


📌 Conclusion

The Go High Level integration gives your practice a direct pipeline from marketing to care — leads booked in GHL arrive in ChiroHD automatically, attendance status flows back to your marketing team, and referral sources are captured for accurate reporting. With the right calendar mapping, referral source setup, and communication settings configured at launch, GHL becomes a seamless extension of your patient acquisition workflow.

Did this answer your question?