Skip to Content
Documentation Sections

Search guides, the API reference, Help Center and FAQ.

Bring Your Own CRM

Download Markdown

Connect CloseMagnet to the CRM you already use. This guide explains the available connection paths, what information moves, which credentials to create and how to check your setup. The API Reference supplies the exact fields, resp

On This Page

Connect CloseMagnet to the CRM you already use. This guide explains the available connection paths, what information moves, which credentials to create and how to check your setup. The API Reference supplies the exact fields, response examples, limits and supported operations for your integration.

Reading this public guide requires no account. Changing a connection, creating a credential or running an integration requires your authorized CloseMagnet login. Code examples describe supported source behavior; they are not proof that an integration has been tested on your account.

Choose Your Connection Path

PathWhat You ConfigureImportant Boundary
GoHighLevel / LeadAttractor CRMInstall the marketplace connector for the correct CRM location, then configure your intake workflowsA connected badge does not replace the individual workflow and sender checks
Another CRMSend supported events to the documented HTTPS endpoints using that CRM's webhook/workflow facilitiesThere is no universal automatic two-way sync for every CRM
AI assistant or custom applicationCreate a scoped credential and use the customer API or hosted MCP connectionScopes limit what the integration may read or change
Client-owned buyer emailSet up Mailgun or SendGrid separatelyEmail-provider setup is not the same as a CRM connector

Read Set Up Buyer Email when your goal is sending and receiving buyer email. CRM data intake, a customer API credential, and an SMTP credential have different jobs.

Prepare These Details

  • Your CloseMagnet account owner login and access to Settings -> API.
  • The CRM account/location you intend to connect, plus permission to configure its workflows.
  • The campaign or test records you will use, without using a real buyer as a test contact.
  • The events you need: leads, buyers, properties, KPI events, calls or document status.
  • For an outbound callback, a public HTTPS destination that your team controls and its required authentication method.

Keep API keys, provider passwords and signing credentials in protected settings or your secret manager. Do not put them in a worksheet, shared screenshot, browser URL, customer note or support chat.

Create the Right Credential

Open Settings -> API, which requires a login. The account owner can create named scoped credentials, choose an expiration and select only the permissions the integration needs. A scoped credential is displayed once; save it securely before closing the dialog.

Create a different credential for each integration. This makes it possible to revoke or replace one connection without disrupting every other system.

IntegrationPermission to Review
Lead intake for a campaignleads:write
Read leads in one campaignleads:read
Read account-wide leadsleads:read_all
Legacy buyer intakeAccount API token; check that exact operation's authentication
Property intakeproperties:write
KPI events and labelled call outcomeskpi:write
Legacy call/transcript intake for coachingAccount API token; check that exact operation's authentication
Contract-signed notificationdocuments:write
Report message outcomesblasts:write
An AI assistant starting read-onlyOnly the named read scopes needed for its first task

The automatic account API token and a scoped credential are not interchangeable for every operation. Use the authentication and permission listed for that exact operation in the API Reference. A credential that can receive an intake event does not automatically have permission to read the whole account.

Some legacy buyer and call-ingest paths currently use the account token rather than a newly minted scoped key. A scope name existing in the credential vocabulary does not prove that every older endpoint accepts that credential type. The operation's own authentication section is authoritative.

Use an HTTP header, not a query parameter:

http

Authorization: Bearer YOUR_SCOPED_CREDENTIAL
Content-Type: application/json

YOUR_SCOPED_CREDENTIAL is a placeholder, not a usable token. Replace it in your protected integration configuration only. The header name is Authorization; the value is Bearer, one space, then the actual credential.

Install the GoHighLevel Connector

  1. Sign in to the correct CloseMagnet client as its owner and open Settings -> API.
  2. Confirm the CRM location/account ID matches the GoHighLevel sub-account you intend to use. Do not install into a different location just because it is visible in your provider account.
  3. Use the CRM connection card to connect and complete the marketplace authorization.
  4. Review the access requested and finish the install for that exact location.
  5. Return to CloseMagnet and inspect the connection status. If an additional permission or reinstallation is required, follow the named instruction rather than assuming an older install gained new access automatically.
  6. Keep call recording, transcription and the intended sender user configured in your CRM where those features require them.

The connector supports its own conversation, call and CRM behavior. It does not mean that every contact, property, pipeline change or document event is automatically synchronized. Your intake workflows still determine which records are sent into CloseMagnet.

A legacy Private Integration Token is not a substitute for every marketplace permission. If you are unsure which connection is being used, have support inspect the named location and connection status without sharing the token in chat.

Build Your Intake Workflows

Choose the operation by the business event, then use its exact schema from the API Reference. Start with one team-controlled test record and record the response before enabling a workflow for an audience.

Business EventCustomer Endpoint / Integration
A lead should enter a voice campaignCampaign lead intake under /api/v2/voice-campaigns/{campaignId}/leads
Your CRM adds or updates a buyerGeneric /api/v2/buyers, or the documented GoHighLevel buyer adapter
A seller/property is added or updatedGeneric /api/v2/properties, or the documented GoHighLevel property adapter
A sales activity or disposition is recorded/api/connector/kpi, with the documented event-type header
A call transcript/recording is available/api/v2/coaching/calls
A document becomes signed/api/connector/doc-signed
Your external delivery system reports a message outcome/api/v2/messages/events

Important distinctions:

  • Generic buyer intake uses the documented ghl_contact_id field as its deduplication anchor. A non-GoHighLevel CRM supplies its own stable contact identifier in that field. The GoHighLevel adapter can map its native payload differently; do not assume the generic endpoint accepts every native alias.
  • Property intake is not the same operation as agent/property upsert. Intake and record-changing APIs can have different required fields, credentials, side effects and retry rules.
  • A KPI event is not automatically the same as a call record. Send the event that matches the actual activity, with the required original event time and deduplication identity.
  • A CRM's workflow feature may be limited by its plan. Check that it can set the required method, headers and JSON body before choosing that path.
  • Do not fabricate delivery, click or reply events to make a dashboard move. Report only the actual event for the corresponding message and account.

Understand What Comes Back Out

Some configured workflows send call results or request pre-call context from a destination your team supplies. An external message-delivery webhook is another, separate transport: your system receives a message request and performs delivery itself. It is not a mailbox and does not automatically bring replies back.

When you use an external message-delivery integration, preserve the message identity supplied by CloseMagnet. Report supported outcomes to the documented message-events endpoint using that exact identity and original event time. Reusing your CRM's unrelated message ID or a new timestamp on every retry can break correlation or create distinct events.

Review your configured transport before testing. A saved webhook URL does not mean it is the active route. Existing GoHighLevel messages and conversations keep their own route; a custom Mailgun or SendGrid connection does not silently copy messages into GoHighLevel.

The reference documents the actual outgoing payloads, authentication, destination restrictions and retry behavior. Do not assume a callback is signed, retried forever or guaranteed to be delivered exactly once. Your receiving system must verify the configured authentication and safely handle repeats.

Connect an AI Agent Separately

An agent does not need your CRM's password, a provider API key or a client-secret pair. It needs a scoped CloseMagnet credential and a host that supports the required remote MCP authentication. Start with read scopes and follow Connect an AI Agent.

Read access, record-changing access, preparing a draft and actually sending a customer message are different permissions and actions. An agent's statement that it completed a task is not a delivery receipt or a saved-record check. Inspect the actual returned record and the relevant product screen.

Verify Before Enabling Real Work

  1. Confirm the correct CloseMagnet account and CRM location are connected.
  2. Run one authorized test event against one team-controlled record using the exact operation schema.
  3. Check the returned status and body. A successful HTTP status alone does not mean every optional downstream action completed.
  4. Read the correct CloseMagnet screen to confirm the intended record and fields, not a similarly named record.
  5. Check duplicate handling using the documented operation-specific identity. Do not blindly replay a write whose result is uncertain.
  6. If using a callback, verify your receiver authenticated the request and correlated it with the original event.
  7. Test real sending, threaded replies and receipts through the separate approved email setup flow before inviting buyers to use it.
  8. Record anything that remains unverified. A connector badge or a working read call does not verify sending or every webhook.

Fix Common Problems

SymptomCheckNext Step
Authentication is refusedExact header, token type, expiry, revocation and required scopeHave the owner replace or adjust the named credential; never post its value in support chat
A request is rejectedExact operation schema, required field names, UUIDs and field boundsCorrect the named input rather than retrying unchanged
A workflow runs but the record does not appearCorrect client, campaign/location, event identity and response bodyInspect the exact event and its expected destination
A record appears twiceWhether retries kept the original dedupe/idempotency identityFix the sender's identity mapping before expanding the workflow
Too many requestsOperation-specific rate limits and retry guidanceBack off and spread the work out; use bounded list pages
Sending works but replies or Delivered do not appearSeparate receiving and delivery-tracking setupUse the email provider guide; do not treat queued/sent as delivered
A CRM feature is missingWhether it is actually supported by this connection pathDo not assume universal pipeline, stage or conversation sync

Keep Your Integration Maintainable

Give each integration an owner, a named credential and an expiration/replacement plan. Store its mapping alongside your own workflow configuration, not a live key in this public guide. Revisit the API Reference when a source operation or permission changes. Recheck a replaced provider connection or sender rather than transferring an old verified badge by assumption.

Continue with API Reference, Connect an AI Agent, or Set Up Buyer Email.

Related Articles