Skip to main content

Integrations - Marketing - HighLevel (GHL)

How to connect GHL to TrackStat

Purpose

This integration keeps tags and notes synced between TrackStat and HighLevel and automatically updates HighLevel opportunity stages when patients schedule, cancel, no-show, or check in for visits in your EHR.

You do not need to manually update HighLevel when patient activity happens in TrackStat. This does not allow you to market to leads (not in your EHR) from TrackStat.


Audience

  • Practice admins

  • Marketing or agency users

Required: You must be the be an administrator level in TrackStat and have a High Level CRM user.

If you experience an endless loading screen or login loop while setting up an integration, ensure that the user attempting the process has "Administrator" permissions in TrackStat. Without these permissions, the integration cannot be completed successfully. See troubleshooting steps in the FAQs for additional guidance.


Definitions

  • HighLevel (GHL): CRM used for contacts, tags, notes, and opportunities.

  • TrackStat: EHR where patients, visits, and visit status live.

  • Tag: A label used to segment contacts or patients.

  • Note: Written information added to a contact or patient.

  • Opportunity stage: A step in a HighLevel pipeline.

  • Automation (HighLevel): A workflow that sends updates using triggers and webhooks.

  • Webhook: Sends changes from HighLevel to TrackStat.


Rules and Constraints

  • Tags sync both ways between TrackStat and HighLevel.

  • Notes sync both ways between TrackStat and HighLevel.

  • Opportunity stages in HighLevel update automatically when a patient:

    • schedules an appointment

    • cancels

    • no-shows

    • checks in

  • Automations are required. If you skip them, syncing will not work.

  • ors.

Step 1: Connect TrackStat to HighLevel

In TrackStat, open 3 dots > Integrations.

  1. Select HighLevel (GHL).

  2. Connect your HighLevel account.

Step 2: Go to automations DO NOT SKIP THIS STEP PLEASE, IT IS CRITICAL

This step is required for syncing to work.

  1. In HighLevel, open the side menu.

  2. Click Automations.

  3. Create a new automation from scratch.

  4. Add these triggers:

    • Note added

    • Note changed

    • Contact added

    • Contact changed

    • Tag added or removed

  5. Add an action: Webhook.

  6. Set the webhook to:

    • Method: POST

    • URL:

      https://nevfc4iaj27qh5pkyr3ugbbpbi0ysdmw.lambda-url.us-east-1.on.aws
  7. Add the required key and value provided during setup. They are listed in 3 and 4 in the image above.

  8. Save and publish the automation.

Step 3: Map Appointment Types To GHL Opportunity Stages

Prepare Appointment Types in Your EHR (Required)

Before starting, you must create and sync all required appointment types.

Required appointment types (only if you have those matching stages in GHL)

  • NP Unconfirmed

  • NP Confirmed

  • NP (or standard NP visit)

  • Second Visit / ROF

  • Accepted Care (or Care Plan Conversation)

Setup steps

  1. Create any missing appointment types in your EHR

  2. Schedule a test appointment for each appointment type

  3. Do not delete these test appointments

  4. Wait 15 minutes for the sync

  5. Log out, then log back in


Confirm Appointment Types Appear in TrackStat

Navigation

  1. Go to TrackStat → GHL Integration

  2. Select your pipeline (make sure to use a different pipeline if you are using one HighLevel account with multiple TrackStat accounts).

  3. Click Add Row

  4. Select Visits (Scheduled)

  5. Click Filters

  6. Select Purpose of Visit / Appointment Type

What to check

  • Open the dropdown

  • Confirm your appointment types are listed

If appointment types do not appear

  1. Wait the full 15-30 minutes

  2. Log out and log back in

  3. Perform a hard refresh:

Windows

  • Ctrl + Shift + R

  • or Ctrl + F12

Mac

  • Command (⌘) + Shift + R

Then check again.

Do not continue until your appointment types appear in this filter.


Rules for Appointment Status

  • Scheduled stages → Future

  • No Show stages → Cancelled

  • Show stages → Checked In


Example Stage Setups

NP Unconfirmed

  • Row Title: NP Unconfirmed

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): NP Unconfirmed

  • Expression: A

  • Appointment Type: NP Unconfirmed

  • Appointment Status: Future


NP Confirmed

  • Row Title: NP Confirmed

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): NP Confirmed

  • Expression: A

  • Appointment Type: NP Confirmed

  • Appointment Status: Future

Easiest setup method:

Copy the NP Unconfirmed row, then update:

  • Appointment type → NP Confirmed

  • Row stage → NP Confirmed

  • Appointment status (keep as Future if unchanged)


NP No Show

  • Row Title: NP No Show

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): NP No Show

  • Expression: A

  • Appointment Type: NP

  • Appointment Status: Cancelled

Best practice: Mark no-shows as Cancelled. Some EHRs do not mark an appointment as 'missed' until the next day, which can cause an unwanted stage move after it was moved to a scheduled stage.


NP Show

  • Row Title: NP Show

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): NP Show

  • Expression: A

  • Appointment Type: NP

  • Appointment Status: Checked In

Do not include Completed. Providers rarely complete their note and enter charges before the patient schedules the next visit, and this will also cause an unwanted stage move after you have scheduled their next visit.


Day 2 / ROF Show

  • Row Title: Day 2 / ROF Show

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): Day 2 / ROF Show

  • Expression: A

  • Appointment Type: Second Visit / ROF

  • Appointment Status: Checked In


Accepted Care / Started Care

  • Row Title: Accepted Care / Started Care

  • Data Source: Visits (Scheduled)

  • Row Stage (GHL): Start

  • Expression: A

  • Appointment Type: Accepted Care or Care Plan Conversation

  • Appointment Status: Checked In


Step 4: Referral Source Mapping

Referral Source Mapping connects the source field in GHL to the correct referral source in your EHR.


How to Get the Exact Source Name from GHL

You must use the exact text shown in GHL.

  1. Open a contact in GHL

  2. Locate the Source field

  3. Copy the value exactly as it appears

    • Do not retype it

    • Do not change spacing or capitalization

This value must match exactly for the mapping to work.


How to Create a Referral Source Mapping

  1. Go to Referral Source Mapping

  2. Paste the exact Source value from GHL

  3. Select the matching Referral Source from your EHR

  4. Save


If the Referral Source Does Not Exist in Your EHR

You must create it in your EHR first.

  1. Add the new Referral Source in your EHR

  2. Assign that referral source to at least one patient

  3. Wait for sync (up to 1 hour)

  4. Return to TrackStat and select it from the dropdown


FAQs

Q: Where do I find automations in HighLevel?
A: In the left side menu, click Automations.

Q: What syncs between TrackStat and HighLevel?
A: Tags and notes sync both ways. Appointment and visit status updates opportunity stages in HighLevel.

Q: How fast do updates sync?
A:

  • TrackStat → HighLevel: every 5–10 minutes

  • HighLevel → TrackStat: every 1–2 minutes

  • Some automations (like NP start from TrackStat): every 6 hours

  • Financial data from some systems: once daily overnight

Q: Why is the automation required?
A: Without it, HighLevel does not send changes to TrackStat.

Q: Is calendar sync available?
A: Not yet. Two-way calendar sync is coming soon.

Q: Why do I encounter endless loading screens or login loops during integration setup? A: These issues usually occur due to insufficient permissions. Ensure the user attempting the integration process has an "Administrator" role in TrackStat. Without this role, integrations cannot be configured. Verify and update user roles if necessary.

Did this answer your question?