Linking HighLevel as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

The HighLevel connector syncs your CRM, sales, marketing, and payment data – contacts, opportunities, conversations, messages, forms, surveys, payments, and more – from a HighLevel sub-account into PostHog.

To link HighLevel:

  1. Go to the sources tab of the data pipeline section in PostHog.

  2. Click + New source and then click Link next to HighLevel.

  3. You need a private integration token from HighLevel. In your HighLevel sub-account, go to Settings → Private Integrations. Create a new private integration and grant it the read scopes for the tables you want to sync. Copy the token (it starts with pit-).

  4. You also need your Location ID. Find it under Settings → Business Profile, or in the sub-account URL after /location/.

  5. Back in PostHog, paste the private integration token and Location ID in the respective fields and click Next.

  6. Select the tables you want to sync, set the sync method and frequency, then click Import.

Once the syncs are complete, you can start using HighLevel data in PostHog.

Available tables

TableDescriptionSync method
contactsPeople and businesses in the CRMIncremental
opportunitiesDeals in the sales pipelinesFull refresh
pipelinesSales pipelines and their stagesFull refresh
calendarsBooking calendarsFull refresh
calendar_groupsGroups that organize calendarsFull refresh
conversationsConversation threads across channelsFull refresh
messagesMessages for all channels except emailIncremental
email_messagesEmail messages in conversationsIncremental
custom_fieldsCustom fields defined in the sub-accountFull refresh
tagsTags defined in the sub-accountFull refresh
formsForms built in the sub-accountFull refresh
form_submissionsSubmissions of formsIncremental
surveysSurveys built in the sub-accountFull refresh
survey_submissionsSubmissions of surveysIncremental
invoicesInvoices sent from the sub-accountFull refresh
transactionsPayment transactionsFull refresh
ordersOrders from funnels, websites, and storesFull refresh
subscriptionsRecurring payment subscriptionsFull refresh
productsProducts sold in the sub-accountFull refresh
workflowsAutomation workflowsFull refresh
campaignsCampaignsFull refresh

Incremental tables sync only new or updated records on each run. Full refresh tables reload all data on each sync.

The contacts table uses a 10-minute lookback window to account for HighLevel's indexing delay. The messages and email_messages tables track creation time only – delivery status changes after the initial sync aren't picked up by incremental syncs.

Required scopes

The private integration token needs the following read scopes for the tables you want to sync:

  • calendars.readonly
  • calendars/groups.readonly
  • campaigns.readonly
  • contacts.readonly
  • conversations.readonly
  • conversations/message.readonly
  • forms.readonly
  • invoices.readonly
  • locations/customFields.readonly
  • locations/tags.readonly
  • opportunities.readonly
  • payments/orders.readonly
  • payments/subscriptions.readonly
  • payments/transactions.readonly
  • products.readonly
  • surveys.readonly
  • workflows.readonly

You only need to enable the scopes for the tables you plan to sync.

Configuration

OptionDescription
Private integration token
Type: password
Required: True
Location ID
Type: text
Required: True

The ID of the sub-account the token belongs to. Find it under Settings > Business Profile, or in the sub-account URL after /location/.

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
contacts

People and businesses in the HighLevel sub-account's CRM.

Incremental, Full refreshdateUpdated—
opportunities

Deals in the sales pipelines of the sub-account.

Full refresh——
pipelines

Sales pipelines and their stages.

Full refresh——
calendars

Booking calendars in the sub-account.

Full refresh——
calendar_groups

Groups that organize calendars.

Full refresh——
conversations

Conversation threads with contacts across channels such as SMS, email and chat.

Full refresh——
messages

Messages in the sub-account's conversations, for every channel except email.

Incremental, Full refreshdateAdded—
email_messages

Email messages in the sub-account's conversations.

Incremental, Full refreshdateAdded—
custom_fields

Custom fields defined in the sub-account.

Full refresh——
tags

Tags defined in the sub-account.

Full refresh——
forms

Forms built in the sub-account.

Full refresh——
form_submissions

Submissions of the sub-account's forms.

Incremental, Full refreshcreatedAt—
surveys

Surveys built in the sub-account.

Full refresh——
survey_submissions

Submissions of the sub-account's surveys.

Incremental, Full refreshcreatedAt—
invoices

Invoices sent from the sub-account.

Full refresh——
transactions

Payment transactions in the sub-account.

Full refresh——
orders

Orders placed in the sub-account's funnels, websites and stores.

Full refresh——
subscriptions

Recurring payment subscriptions in the sub-account.

Full refresh——
products

Products sold in the sub-account.

Full refresh——
workflows

Automation workflows in the sub-account.

Full refresh——
campaigns

Campaigns in the sub-account.

Full refresh——

Still have questions?

Was this page useful?