Skip to main content
GoHighLevel (GHL) is a popular CRM and marketing automation platform used by agencies, sales teams, and service businesses. Myna integrates with GoHighLevel so you can import your existing contacts, trigger Myna campaigns directly from GHL workflows, and keep contact status synchronized between both platforms — all without manual data entry. The integration connects one Myna workspace to one GHL sub-account (location). Contacts imported from GHL become standard Myna contacts available for any campaign.

What the Integration Does

Contact sync

Import contacts from your GHL sub-account into Myna by filtering on GHL tags, previewing the list, and selecting which contacts to bring over.

Workflow triggers

Use GHL Marketplace Custom Actions to enroll contacts into Myna campaigns directly from your GHL automation workflows — no manual step required.

Real-time webhooks

When a contact is created or updated in GHL, a webhook notifies Myna and queues the contact for review. You can accept or dismiss each incoming contact.

Status tag mirroring

As contacts advance through Myna campaign stages, Myna writes status tags back to GHL (e.g., myna-status-in conversation) so your GHL pipeline stays current.

Connecting Your GoHighLevel Account

1

Open Integrations

Go to Integrations in the left sidebar. You will see the LeadConnector card (GoHighLevel’s API platform name).
2

Start the connection

Click Connect. Myna redirects your browser to the GoHighLevel authorization page.
3

Select your sub-account

On the GHL authorization page, choose the sub-account (location) you want to connect to this Myna workspace and click Allow.
4

Return to Myna

GHL redirects you back to Myna. The LeadConnector card now shows a green Connected badge and displays the name of the connected sub-account.
Each Myna workspace can only be connected to one GHL sub-account at a time. If you need to connect a different sub-account, disconnect the current one first. GHL access tokens expire periodically — if the card shows Reconnect required, click Reconnect to refresh the authorization.

Syncing Contacts from GoHighLevel

Once connected, you can import contacts from your GHL sub-account into Myna.
1

Open the sync wizard

Click the ⋯ menu on the LeadConnector card and select Sync Contacts. The Sync Contacts modal opens.
2

Filter by GHL tags

Select one or more tags from your GHL location. Only contacts that have at least one of the selected tags will be included. Leave the tag filter empty to preview all contacts.
3

Preview the contact list

Myna fetches matching contacts from GHL and shows you a preview. Contacts already imported into Myna are marked Already imported.
4

Select contacts to import

Check the contacts you want to import, or use Select all to pick the entire filtered list.
5

Import

Click Import. Myna creates new contact records for each selected contact and skips any that already exist (matching by phone number). Existing contacts have any blank fields filled in from GHL data.
Imported contacts start with Unassigned status. Assign them to a campaign from the Contacts page or enroll them in bulk using Add to Campaign from the LeadConnector action menu.

Enrolling GHL Contacts into Campaigns

After syncing contacts, you can add them to a Myna campaign directly from the integration:
  1. Click the ⋯ menu on the LeadConnector card and select Add to Campaign.
  2. Choose the campaign and select the GHL contacts to enroll.
  3. Click Add. Myna begins enrolling contacts — for large lists this may take a moment and you can track progress in the modal.
To remove contacts from a campaign without deleting them, use Remove from Campaign from the same menu.

Triggering Myna from GHL Workflows

Myna is available as a Marketplace Custom Action inside GHL’s workflow builder. This lets you enroll contacts into Myna campaigns and remove them from campaigns directly from any GHL automation — no manual sync required.
1

Install Myna in GHL Marketplace

In GoHighLevel, go to Marketplace and find the Myna app. Install it and authorize the connection using the Allow button on the Myna consent page. If your Myna workspace is already connected, the authorization completes automatically.
2

Add a Custom Action to a GHL workflow

Open a GHL workflow and add an Action step. Search for Myna in the action list. You will see options such as Add to Campaign and Remove from Campaign.
3

Configure the action

Select the target campaign from the dropdown (Myna fetches your campaign list dynamically). Save the workflow step.
4

Publish the workflow

When a GHL contact hits this workflow step, GHL calls Myna’s API, which looks up or creates the contact and enrolls them in the campaign automatically.

Tag-Based Campaign Assignment

You can also trigger campaign enrollment by adding a specific tag to a contact in GHL. Myna monitors for tags in the format:
For example, adding the tag myna-campaign-solar-outreach to a GHL contact will:
  1. Import the contact into Myna if they don’t already exist.
  2. Assign them to the Solar Outreach campaign (case-insensitive name match).
  3. Set their status to Preparing Campaign.
  4. Add the tag myna-status-preparing campaign back to their GHL record.
Only the myna-campaign- prefix is supported. The older myna- format (without campaign-) is no longer recognized.

Status Tag Mirroring

As a contact progresses through a Myna campaign, their status is reflected back to their GHL contact record as a tag. This lets your GHL pipeline stay in sync with what Myna is doing: Status tags follow the pattern myna-status-<status in lowercase>. Myna removes all existing myna-status-* tags and adds the new one each time the status changes, so exactly one status tag is present on the GHL contact at all times.

Custom Field Mapping

Myna can import GHL custom field values alongside contacts. Use the Custom Field Mapping action in the LeadConnector menu to:
  1. Browse the custom fields defined in your GHL sub-account.
  2. Map each GHL field to an existing Myna custom field or create a new one automatically.
  3. Apply the mapping to a selection of contacts — Myna fetches each contact’s GHL field values and writes them into the mapped Myna fields.
This is useful for pulling rich CRM data (property details, budget ranges, lead scores) out of GHL and making it available to the Myna AI agent. See Custom Fields for details on how to create Myna custom fields and use them in campaigns.

Pending Contact Review

When GHL sends a webhook for a newly created or updated contact, Myna holds the contact in a Pending review queue rather than importing it automatically. This gives you control over which GHL contacts enter Myna. From Integrations → LeadConnector, click the notification for pending contacts to open the review queue. For each contact you can choose Accept (creates the contact in Myna) or Dismiss (discards without creating).

Disconnecting GoHighLevel

To remove the integration, click the ⋯ menu on the LeadConnector card and select Disconnect. This deletes the stored access tokens and removes the connection from your workspace.
Disconnecting does not delete contacts that were already imported into Myna. Your existing contact records and their data are preserved. You can reconnect at any time to resume syncing.