Source connector
HighLevel connector
HighLevel integration for databases, warehouses and BI tools
Agency-focused CRM for leads, funnels, and customer messaging. Datrise captures HighLevel entities such as agency CRM records, funnels, opportunities, and messaging workflows, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The HighLevel API 2.0 (REST, Version header 2021-04-15 / 2021-07-28 / 2023-02-21 / v3) authenticates with OAuth 2.0, API key, incremental runs key on dateUpdated, and HighLevel caps calls at Burst limit of 100 API requests per 10 seconds and daily limit of 200,000 API requests, counted per Marketplace app per resource (one Location or one Company); published for OAuth-authenticated API 2.0 calls, with `X-RateLimit-Remaining` and `X-RateLimit-Daily-Remaining` response headers as the authoritative counters.
Of the 4 objects, 4 sync as upserts keyed on the primary key and 0 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `highlevel_agency_crm_records`) with a schema derived from the HighLevel API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the HighLevel pipeline page, and join the waitlist to get the HighLevel connector (CRM) with guided onboarding.
What HighLevel data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| agency CRM records | highlevel_agency_crm_records | Upsert by primary key, incremental on updated-at |
| funnels | highlevel_funnels | Upsert by primary key, incremental on updated-at |
| opportunities | highlevel_opportunities | Upsert by primary key, incremental on updated-at |
| messaging workflows | highlevel_messaging_workflows | Upsert by primary key, incremental on updated-at |
HighLevel API: setup facts for the connector
Verified against the vendor documentation on 2026-10-05. Unknown values are left blank rather than guessed.
| API | HighLevel API 2.0 (REST, Version header 2021-04-15 / 2021-07-28 / 2023-02-21 / v3) |
|---|---|
| Authentication | OAuth 2.0, API key — Marketplace apps use OAuth 2.0 (`https://services.leadconnectorhq.com/oauth/token`, Location or Company `user_type`, access token 86,399 s, single-use refresh token valid 1 year or until used); a single agency or sub-account can instead issue a static, scope-restricted Private Integration Token sent as `Authorization: Bearer` (API 2.0, distinct from the legacy API 1.0 API Key that reached end-of-support on 2025-12-31). |
| Pagination | cursor — v3 `POST /contacts/search` and `POST /opportunities/search` paginate with `page` + `pageLimit`/`limit` (max 500 per page, 10,000 records total) and switch to the `searchAfter` cursor array returned with each result beyond 10,000; legacy list endpoints such as `GET /contacts/` (deprecated) and `GET /opportunities/search` use `startAfter` (epoch ms) + `startAfterId` with max 100 per page. |
| Rate limit | Burst limit of 100 API requests per 10 seconds and daily limit of 200,000 API requests, counted per Marketplace app per resource (one Location or one Company); published for OAuth-authenticated API 2.0 calls, with `X-RateLimit-Remaining` and `X-RateLimit-Daily-Remaining` response headers as the authoritative counters |
| Incremental cursor | dateUpdated — Contacts expose `dateUpdated` (ISO 8601) and `POST /contacts/search` accepts a `range` filter (`gte`/`lte`) and sort on it; opportunities use the `date_updated` range filter (response field `updatedAt`), and the vendor warns search results lag writes by a few seconds, so use an overlapping window. |
| Webhooks | Yes — Marketplace app webhooks (ContactCreate/ContactUpdate/ContactDelete, OpportunityUpdate/OpportunityDelete, ...) signed with `X-GHL-Signature` |
| Bulk export | No |
| Deletes detectable | Yes — `ContactDelete` and `OpportunityDelete` webhook events carry the deleted record's `id` and `locationId`; the search and list endpoints return no deleted flag, so polling-only (Private Integration Token) syncs cannot see deletes. |
What bites when replicating HighLevel
- Every API 2.0 request must carry a `Version` header (`2021-04-15`, `2021-07-28`, `2023-02-21` or `v3`, released 2026-06-11) and the same path can change shape between versions: the dated `GET /contacts/` list endpoint (`startAfter` epoch-ms + `startAfterId`, max 100 per page) is marked deprecated in favour of `POST /contacts/search`.
- `POST /contacts/search` standard `page`/`pageLimit` pagination stops at 10,000 records with at most 500 per page; beyond that you must drop `page` and pass the `searchAfter` array returned with each hit, the `query` string is capped at 75 characters, and the vendor notes updates 'may take a few seconds to appear in the search results', so an incremental window on `dateUpdated` needs overlap.
- OAuth refresh tokens are single-use: each refresh returns a new refresh token and invalidates the old one, the access token expires after 86,399 seconds (~24 h) and an unused refresh token dies after 1 year, so a connector that loses one refresh response has to be re-authorized by the agency or sub-account admin.
- Private Integration Tokens are static bearer tokens (no automatic refresh, up to 20 per agency and 20 per sub-account, 90-day rotation advised with a 7-day overlap when rotated) and webhooks are only delivered to Marketplace OAuth apps, so a PIT-based sync gets no `ContactDelete` event; the published 100/10 s and 200,000/day limits are likewise stated for OAuth-authenticated calls only.
Popular destinations for HighLevel
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
HighLevel connector FAQ
- What HighLevel data does the connector extract?
- 4 objects: agency CRM records, funnels, opportunities and messaging workflows. Each lands in its own table with types preserved; history-style objects (0) load as append-only streams.
- Is the HighLevel integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load HighLevel data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each HighLevel → destination pair has its own page with the object-to-table mapping.
Related CRM sources
Other sources in the same category, each with its own connector page.
Early access
Launch your HighLevel pipeline with guided onboarding
Join the waitlist to get priority access for HighLevel integrations with guided setup, schema-aware mapping, and production-grade incremental sync.