Docs/Integrations/GoHighLevel
🪜

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

Dashboard

Bounce guarantee

Connect your sending provider and bounced "deliverable" addresses are refunded automatically

How it works

Connect with

OAuth (or access token)

Category

CRM

Write-back

Fields + tags

Auto-verify new

Yes

How to Connect

1

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.

2

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.

FieldRequiredWhere to find it
Private Integration Token (instead of OAuth)OptionalA sub-account Private Integration Token with contacts read/write, locations read, custom fields read/write and tags read access.
Location idOptionalThe 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 unknown results are refunded when it completes. If the balance is too low the sync stops with insufficient_credits before 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 Status
  • RV Email Sub-status
  • RV Email Score
  • RV Verified At
  • RV 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.