GoHighLevel Integration
Native connector
Verify HighLevel sub-account contacts, write custom fields and status tags, set email DND on bad addresses and verify new contacts as they are created.
Connect GoHighLevel
Dashboard → Integrations → GoHighLevel
DashboardBounce guarantee
Connect your sending provider and bounced "deliverable" addresses are refunded automatically
How it worksConnect with
OAuth (or access token)
Category
CRM
Write-back
Fields + tags
Auto-verify new
Yes
How to Connect
In RocketVerifier open Dashboard → Integrations → GoHighLevel and click Connect. You are sent to GoHighLevel to approve access, then back to the dashboard. Pick the sub-account (location) to connect; agency-level installs are rejected. Alternatively paste a Private Integration Token and its location id.
Pick the source to sync, the schedule and the write-back options in the integration settings, then click Sync now or wait for the schedule.
| Field | Required | Where to find it |
|---|---|---|
| Private Integration Token (instead of OAuth) | Optional | A sub-account Private Integration Token with contacts read/write, locations read, custom fields read/write and tags read access. |
| Location id | Optional | The id of the sub-account the token belongs to (the <id> in app.gohighlevel.com/v2/location/<id>/...). Required with a token. |
Tokens are stored encrypted and, where the platform issues expiring tokens, refreshed automatically. If access is revoked the integration is marked as needing re-authorization; reconnect it from the dashboard.
What It Syncs
Sources
All contacts, or contacts with a given tag (one source per location tag).
Incremental syncs
Contacts whose dateUpdated is after the last sync.
Schedules & Credits
- Schedule: Manual only, Daily, Weekly or Monthly. Each run syncs the source chosen in the settings; Sync now starts one immediately. Only one sync runs per integration at a time.
- Mode: Full re-checks every contact in the source except those verified in the last N days (default 30, 0-365); Incremental only checks contacts changed since the last sync.
- Each sync creates a regular verification job: 1 credit per unique address, and
unknownresults are refunded when it completes. If the balance is too low the sync stops withinsufficient_creditsbefore anything is charged. - Results are written back when the job completes; the sync history in the dashboard shows updated, failed and skipped counts per run.
Write-back
Fields ("Write status fields")
RV Email StatusRV Email Sub-statusRV Email ScoreRV Verified AtRV Email Recommendation
Contact custom fields (keys contact.rv_email_status etc.), created automatically on first use; the score is a numeric field, the rest are text.
Tags ("Tag contacts with their status")
rv-status:<status> (prefix configurable), e.g. rv-status:undeliverable.
Status values are deliverable, undeliverable, risky and unknown (disposable addresses are undeliverable, catch-all addresses unknown). Sub-status is a sub_status value (none when there is no extra detail), score is 0-100 and verified-at is an ISO 8601 UTC timestamp.
Action Rules
In the integration settings, pick an action per result: Invalid, Disposable, Risky, Catch-all, Unknown or Valid. Actions run after the field/tag write-back.
Add tag
Adds the action tag (default rv-invalid).
Unsubscribe
Turns on email-channel DND with the message "RocketVerifier: email failed verification". Other channels keep their settings and contacts already on DND are left as they are; Undo clears DND only on contacts RocketVerifier changed.
DeleteNot in dashboard yet
Deletes the contact.
Auto-verify New Contacts
Turn on Auto-verify new contacts. The RocketVerifier marketplace app receives HighLevel's ContactCreate events, checks each delivery's X-GHL-Signature (Ed25519) against HighLevel's published public key (the legacy RSA X-WH-Signature is accepted when the Ed25519 header is absent), matches it to the integration by location id and de-duplicates it; each new email is verified and written back.
Every new contact costs 1 credit. Addresses this integration verified in the last 30 days are skipped, and webhook events are de-duplicated for 24 hours, so platform retries never charge twice.
One integration covers one sub-account. Connect each sub-account separately.
Smart lists are not exposed by HighLevel's public API; use tags to sync a segment.
New-contact events come from the marketplace app, so auto-verify works with the OAuth connection.
Need Help?
Having trouble connecting GoHighLevel? We're here to help.
