Skip to main content
When GoHighLevel is connected to a number, Nixflex logs every call on that number into your CRM: it finds or creates the caller as a contact and adds a note with the call summary. It is configured per phone number, so each number can log into its own GoHighLevel location — ideal for agencies running many clients on one agent.

What you need

Two values from GoHighLevel:
  • Private Integration Token (PIT) — starts with pit-
  • Location ID — your sub-account ID (found in the sub-account URL)
Create the Private Integration inside the specific sub-account you want calls logged to (Settings → Integrations → Private Integrations — enable it under Labs if you don’t see it). Enable both the contacts.readonly and contacts.write scopes. The token is location-level and must belong to the same sub-account as your location_id — an agency-level token will not work for contacts. Copy the token immediately; GoHighLevel will not show it again. See GoHighLevel’s Private Integrations guide for the full walkthrough.

Connect via API

Set GoHighLevel on one of your numbers with a single call:
pit and location_id are required. tags is optional — an array or a comma-separated string. The number must be one connected to your account. Read the current config. The token is never returned — you only see whether it is set:
Disconnect:

Connect via dashboard

Prefer the dashboard? Go to Integrations → GoHighLevel, pick the agent and number, paste the Private Integration Token and Location ID, optionally add tags, and click Save.

What gets logged

After each call on the number ends, Nixflex:
  • Finds or creates the caller as a contact, matched by phone or email
  • Adds a note with the call summary, sentiment, and outcome
  • Applies any tags you set
Only the summary and call details are sent — never the full transcript. If a call has no caller phone or email to identify the contact, nothing is logged.

Troubleshooting

Contact not appearing after a call (403). A 403 points to the token, not the Nixflex connection. Check, in order:
  1. Scope — the PIT must have contacts.write (and contacts.readonly). Recreate or edit the token with these enabled if unsure.
  2. Location — the PIT must have been created inside the same sub-account as your location_id. An agency-level token, or one from a different location, will be rejected.
  3. Test the token directly with GoHighLevel, outside Nixflex:
If this returns 403, the token itself lacks permission — regenerate it in the correct sub-account with the Contacts scopes, then update it via the PUT above. GoHighLevel recommends rotating tokens every 90 days; after rotating, the old and new tokens both work for 7 days, so update the stored token within that window.

Tips

  • Use a tag like ai-call to filter AI-handled calls in your CRM.
  • Each number is independent — different clients or locations each use their own token and Location ID via per-number setup.