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.
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:- Click the ⋯ menu on the LeadConnector card and select Add to Campaign.
- Choose the campaign and select the GHL contacts to enroll.
- Click Add. Myna begins enrolling contacts — for large lists this may take a moment and you can track progress in the modal.
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:myna-campaign-solar-outreach to a GHL contact will:
- Import the contact into Myna if they don’t already exist.
- Assign them to the Solar Outreach campaign (case-insensitive name match).
- Set their status to Preparing Campaign.
- Add the tag
myna-status-preparing campaignback to their GHL record.
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:- Browse the custom fields defined in your GHL sub-account.
- Map each GHL field to an existing Myna custom field or create a new one automatically.
- Apply the mapping to a selection of contacts — Myna fetches each contact’s GHL field values and writes them into the mapped Myna fields.
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.

