In this tutorial, we’ll walk you through exactly how to connect GoHighLevel to n8n using a webhook. This is the foundational step for building powerful, multi-app automations that can save you hours every week.
Real-World Example: We recently built a client automation where whenever an appointment was booked in GoHighLevel, it would trigger a process in n8n to call an AI tool (Fireflies.ai), extract the call transcript, analyze it, create follow-up messages, and upload the analysis to Google Drive—all automatically!
Let’s dive into the first crucial piece: getting the data from GoHighLevel into n8n.
What You’ll Need
- An active GoHighLevel account (A sub-account is fine).
- An active n8n instance (Cloud or self-hosted).
- Basic familiarity with navigating both platforms.
Step-by-Step Guide: The GoHighLevel to n8n Connection
Step 1: Set Up the Webhook in n8n
First, we’ll create the “endpoint” in n8n that will listen for data from GoHighLevel.
- Log in to your n8n account and go to your Workflows.
- Click the + (plus sign) to create a new workflow. You can name it something like “GHl Webhook Test” or leave it unnamed for now.
- In the empty canvas, click + to add a node. Search for and select the Webhook node. n8n Webhook Node
- Click on the newly placed Webhook node to configure it.
- For this tutorial, we’ll use the test URL. Make sure the Method is set to POST.
- You can set a Path to make your webhook URL unique, like
gohighlevel-tutorial
. This will change the final part of your webhook URL. - The most important part is your webhook URL! Copy the “Test URL” provided. You’ll need this for the next step. Copy the n8n Webhook Test URL
- Click Execute Node to put the webhook into listening mode. It’s now waiting for an incoming connection from GoHighLevel.
Step 2: Create the Automation in GoHighLevel
Now, let’s tell GoHighLevel when and where to send the data.
- Log in to your GoHighLevel account and navigate to your Sub-Account.
- In the left-hand menu, go to Automation.
- Click Create Workflow and choose Start from Scratch. Name it (e.g., “n8n Webhook Trigger”).
- Setting the Trigger:
- Click + Trigger.
- Search for and select Appointment Status Change.
- Pro Tip: Using “Appointment Status Change” is more reliable than “New Appointment Created” for triggering workflows in GoHighLevel.
- Leave the Event Type as “Normal” and click Save Trigger.
- Adding the Action:
- Click the + button next to your trigger to add an action.
- Search for and select Webhook.
- In the configuration, paste the n8n Test URL you copied in Step 1 into the URL field.
- Click Save Action, then Save Flow.
- Finally, publish your automation by toggling the status or clicking “Publish”. Your workflow should now be active.
Step 3: The Moment of Truth – Testing the Connection
It’s time to see if everything works! We’ll trigger the automation manually and watch the data flow into n8n.
- Go to your GoHighLevel Calendar and select Appointment List View.
- Find an existing test appointment (or create a new one).
- Click on the appointment and change its status (e.g., from “Scheduled” to “Completed” or “No-Show”).
- Click Update.
Now, quickly switch back to your n8n tab. If you’ve set everything up correctly, you should see a green success indicator on your Webhook node, and the number “1” will appear, showing it has received one execution.
*n8n Successfully Receives Data from GoHighLevel*
Step 4: Analyze the Incoming Data
The connection is live! Now, let’s see what data we received.
- In n8n, click on the Webhook node and select the Execution tab.
- Here, you can see all the raw data that GoHighLevel sent. You can explore the JSON structure to find valuable information like:
- Contact Name
- Contact Email/Phone
- Appointment Date & Time
- Location Details
- And much more!
This data is now available in n8n to use in subsequent nodes. You can pass it to Google Sheets, Airtable, an AI agent, or any other service you connect.
Conclusion:
Congratulations! You have successfully connected GoHighLevel to n8n using a webhook. You’ve just automated the first and most critical step: getting the data out of your CRM and into your automation platform.
This simple connection is the gateway to incredibly powerful workflows. You can now:
- Automatically add new leads to an email sequence.
- Create a new row in a Google Sheet for every “No-Show” appointment.
- Trigger an internal Slack or Teams notification when a high-value deal is closed.
- Build the advanced AI transcript analysis system described at the beginning of this post.
Want to take it further? Let us know in the comments what kind of advanced GoHighLevel or n8n automation you’d like a tutorial on next. We’re particularly excited about the new GoHighLevel MCP (Model Context Protocol) and its potential for AI agents.