Connecting GoHighLevel
Open the integrations page
In Wave Runner, click Settings in the navbar, then select the Integrations tab.
Click Connect on the GoHighLevel card
Find the GoHighLevel card in the CRM section and click Connect. Wave Runner redirects you to the GoHighLevel marketplace authorization screen.
Select a location
Choose the location (sub-account) you want to connect. If your GHL account has multiple locations, select the one that corresponds to the contacts you want Wave Runner to access.
Authorize the integration
Review the requested permissions and click Allow. GoHighLevel redirects you back to Wave Runner.
GoHighLevel’s OAuth flow may drop query parameters during the redirect in some browser configurations. Wave Runner uses a fallback cookie mechanism to preserve your session, so the connection completes successfully regardless.
Trigger events
After connecting, select GoHighLevel → Contact Created as the trigger in any Wave Runner workflow. When a new contact is created in your GHL location, Wave Runner executes any active workflow using this trigger immediately.CRM action nodes
Add a GoHighLevel action node inside any workflow to write data back to your CRM:- Create Contact — creates a new contact in the connected GHL location
- Update Contact — updates fields on an existing GHL contact record
- Add to Campaign — enrolls the contact in a GoHighLevel campaign sequence
- Add Tag — applies a tag to the contact record
Facebook Lead Ads via GoHighLevel
If you route Facebook Lead Ads through GoHighLevel, Wave Runner captures those leads through the GHL contact-created webhook. When someone submits a Lead Ad form connected to your GHL pipeline, GHL creates a contact and Wave Runner fires the Contact Created trigger.Contact variables
When a workflow starts from a GHL Contact Created event, Wave Runner makes the contact’s fields available as variables in any text field.| Variable | Description |
|---|---|
{name} | Full contact name |
{phone_number} | Contact’s phone number |
{email} | Contact’s email address |
GHL contact variables are populated from the webhook payload. If a field is empty in GHL, the variable resolves to an empty string.