Table of Contents›
GoHighLevel is powerful on its own, but there are workflows that require logic, data transformation, or connections to tools that GHL cannot handle natively. N8N is a self-hosted workflow automation tool that fills those gaps. When you connect N8N to GHL, you get a level of automation depth that most agencies cannot match.
This guide explains what N8N is, how to connect it to GoHighLevel using the current API v2, how to secure your webhooks with the updated X-GHL-Signature standard, and the most valuable workflows agencies build with the combination.
Important: GHL API v1 Is End-of-Life
GoHighLevel API v1 reached end-of-support on 31 December 2025. Existing integrations built on v1 will continue to function but receive no support or updates. All new N8N + GHL integrations must be built on API v2. The base URL for v2 is services.leadconnectorhq.com — not the legacy api.gohighlevel.com used by v1.
If you have existing N8N workflows pointing at the old v1 URL, schedule migration before a breaking change causes silent failures across your client automations.
What Is N8N?
N8N (pronounced "n-eight-n") is an open-source workflow automation platform similar to Zapier or Make, but self-hosted. You install it on your own server or use N8N Cloud and build automation workflows using a visual node-based editor.
Key advantages of N8N over Zapier for agencies:
- Self-hosted — your data never leaves your infrastructure, which is critical for GDPR compliance when handling client contact data
- Unlimited executions on self-hosted instances — no per-task pricing regardless of volume
- Code nodes — write JavaScript or Python directly inside any workflow for complex data transformations that visual builders cannot handle
- 400+ native integrations — Airtable, Google Sheets, Notion, Slack, OpenAI, Twilio, and hundreds more
- HTTP Request node — connect to any REST API with no native integration required, including the full GHL v2 API
- Native HighLevel node — N8N now includes a dedicated HighLevel node for common CRM operations without manual HTTP configuration
Why Use N8N With GoHighLevel?
GHL's native workflow builder is excellent for CRM automation within GHL. But it has hard limits:
- You cannot pull data from external databases or spreadsheets to inform GHL branching decisions
- Complex conditional logic with more than 2 branches requires nested workarounds that become unmaintainable
- You cannot call AI models (Claude, GPT-4, Gemini) mid-sequence to generate personalised content per contact
- Syncing GHL pipeline data to external reporting tools requires manual exports
- Multi-account operations — querying all sub-accounts simultaneously — are not possible inside GHL's single-account workflow builder
N8N solves all of these by sitting outside GHL and communicating via webhooks and the GHL REST API v2.
How to Connect N8N to GoHighLevel
Step 1: Generate a Private Integration Token
For internal tools and single-account use cases, a Private Integration Token is the correct authentication method for API v2.
- In GHL, go to Settings → Integrations → Private Integrations
- Click Create Private Integration and name it (e.g. "N8N Agency Automation")
- Select the API scopes your workflows will need: contacts.readonly, contacts.write, opportunities.readonly, conversations.write, and any others relevant to your use case
- Copy the generated token immediately — it will not be visible again
Store this token in N8N's built-in credential manager, not hardcoded in workflow nodes. Create a new credential of type Header Auth with the name Authorization and value Bearer YOUR_TOKEN.
For multi-account agency setups where N8N needs to act across multiple client sub-accounts, use OAuth 2.0 instead. OAuth tokens are scoped per sub-account and allow N8N to operate across accounts without managing separate tokens manually.
Method 1: Outbound Webhooks from GHL to N8N
This covers most trigger-based use cases — new lead, stage change, form submission, appointment booked:
- In N8N, create a new workflow and add a Webhook trigger node. Set HTTP method to POST and copy the webhook URL.
- In GHL Workflows, add a Custom Webhook action at the point where you want to trigger N8N. Paste the N8N webhook URL.
- Configure the webhook body in GHL to include the contact fields N8N will need: name, email, phone, location ID, and any custom fields.
- Test the webhook by triggering the GHL workflow on a test contact. N8N will display the received JSON payload in the execution log.
- Add processing nodes in N8N to act on the incoming data.
A typical JSON payload GHL sends to N8N looks like this: contact_id, location_id, first_name, last_name, email, phone, pipeline_stage, and any custom fields you configured. N8N receives this as a structured object you can reference in downstream nodes.
Method 2: N8N Calling the GHL API v2
For cases where N8N needs to read from or write to GHL proactively — scheduled reports, data enrichment write-back, cross-account queries:
- In N8N, add an HTTP Request node
- Set the URL to a GHL v2 endpoint, e.g. https://services.leadconnectorhq.com/contacts/{contactId}
- Set the Authorization header to Bearer YOUR_PRIVATE_INTEGRATION_TOKEN
- Add a Version header set to 2021-07-28 — this is required for all GHL v2 endpoints
Common GHL v2 API operations used in N8N workflows:
- GET /contacts/{contactId} — fetch a contact record
- POST /contacts/ — create a new contact
- PUT /contacts/{contactId} — update contact fields or custom data
- POST /contacts/{contactId}/tags — add tags to a contact
- GET /opportunities/search?pipeline_id=xxx — fetch pipeline data
- GET /locations/{locationId}/pipelines — list all pipelines in a sub-account
Securing Your Webhooks: X-GHL-Signature (Action Required Before July 2026)
This is the most critical update for existing N8N + GHL integrations in 2026. GoHighLevel is deprecating the legacy X-WH-Signature header on 1 July 2026. After that date, webhooks will only be signed with X-GHL-Signature using an Ed25519 public key.
If your N8N webhook nodes are not verifying the signature at all, you have an unsecured endpoint — anyone who discovers the URL can send fake data. If they verify using the old X-WH-Signature method, they will break on July 1.
How to handle this in N8N:
- Add a Code node immediately after your Webhook trigger
- Retrieve the x-ghl-signature header from the incoming request headers
- Use JavaScript's crypto module to verify the Ed25519 signature against GHL's published public key (available in the HighLevel Developer Marketplace webhook documentation)
- If verification fails, stop the workflow and return a 401 response
The recommended verification flow: if X-GHL-Signature is present, verify with the Ed25519 key. If only X-WH-Signature is present during the transition period, verify with the legacy RSA key. Reject the request if either verification fails. This dual-check handles the transition period gracefully.
High-Value N8N + GHL Automation Workflows
1. AI-Personalised Follow-Up Messages
GHL fires an outbound webhook when a new lead arrives. N8N receives the contact data — name, source, service interest, form responses — calls the Claude API or OpenAI to generate a personalised first message based on their specific enquiry, then calls the GHL v2 API to send that message via SMS or email. Every lead gets a unique, relevant first touchpoint instead of a generic template. Conversion rates on AI-personalised first messages run 2–3x higher than template-based sequences.
2. Lead Scoring with External Data Enrichment
When a new contact is created in GHL, N8N triggers and looks up the contact's company via a data enrichment API (Clearbit, Apollo, or Hunter). It scores the lead based on company size, industry, and seniority, then writes the score back to a GHL custom field via the v2 API. GHL workflows then route high-score leads into a premium pipeline and low-score leads into a long-term nurture sequence — automatically, with no manual qualification.
3. Daily Pipeline Reporting to Google Sheets
An N8N schedule trigger fires at 8am daily. It calls the GHL API v2 to pull the previous day's pipeline movements, new lead count, appointment stats, and response times across all sub-account IDs. N8N normalises the data and appends rows to a Google Sheet. Clients get a live, automatically-updated dashboard without the agency touching anything manually.
4. Facebook Lead Ads to GHL Without Zapier
N8N's Facebook node receives leads from Facebook Lead Ad forms in real-time. N8N maps field names to GHL's custom field structure, creates or updates the contact in GHL via the v2 API, and triggers the instant follow-up workflow. This replaces Zapier for the Facebook → GHL route, saving £40–£150 per month depending on lead volume, while also eliminating Zapier's task limits.
5. Slack Notification on Hot Leads
When a GHL contact moves to a "Hot Lead" or "Ready to Book" pipeline stage, GHL fires an outbound webhook. N8N receives it and sends a formatted Slack message to the relevant sales rep's channel: contact name, phone number, lead source, and a direct deep-link to the GHL contact record. Response times drop from hours to minutes. This workflow typically pays for the entire N8N setup within the first week.
6. Cross-Account Pipeline Sync
N8N runs on a schedule and calls the GHL v2 API across all your sub-account location IDs to pull pipeline data simultaneously. It normalises the response format and writes a real-time view of every client's pipeline into a central Airtable or Notion database. This is impossible inside GHL's own workflow builder, which operates within a single account only. Agencies with 10+ clients use this to manage their portfolio without logging into each sub-account manually.
Hosting N8N: Self-Hosted vs N8N Cloud
Self-Hosted (Recommended for Agencies)
- Run on a VPS — Hetzner, DigitalOcean, or AWS — for £4–£15 per month
- Full data control: client data never leaves your server, which is the correct posture for GDPR compliance
- Unlimited workflows and executions at no extra cost, regardless of how many clients or automations you run
- Requires Docker or Node.js setup — approximately 1–2 hours of initial configuration
Minimum recommended VPS spec for an agency running 10–20 active workflows: 2 vCPU, 4GB RAM, 40GB SSD. This handles hundreds of daily executions across multiple clients without performance issues.
N8N Cloud
- Starter: $24/month — 5 active workflows, 2,500 executions/month
- Pro: $60/month — 15 active workflows, 10,000 executions/month
- No server management required, good for non-technical teams
- EU data centre available for GDPR-conscious agencies
For agencies managing more than 10 clients with active lead flows, self-hosted quickly becomes more cost-effective. At volume, N8N Cloud's per-execution model creates predictable cost pressure that self-hosted eliminates.
Troubleshooting Common N8N + GHL Issues
401 Unauthorised Errors
The most common cause is a v1 API URL being used with a v2 token, or vice versa. Confirm your HTTP Request node URL starts with https://services.leadconnectorhq.com — not the legacy api.gohighlevel.com. Also confirm the Private Integration Token has the correct scopes enabled for the operation you're attempting.
404 Not Found on Contact Endpoints
The GHL v2 API requires a Version header set to 2021-07-28. Without it, many endpoints return 404 even with correct authentication and a valid document ID. Add Version: 2021-07-28 as a custom header in every HTTP Request node that calls any GHL v2 endpoint.
Webhook Not Receiving Data
Verify your N8N webhook URL is publicly accessible — it must not be a localhost address. If testing locally, use ngrok or N8N's built-in tunnel mode. Also confirm the GHL workflow is active (not still in draft) and that the Custom Webhook action is pointing at the correct N8N URL.
Signature Verification Failures
If you are verifying X-WH-Signature and seeing failures, GHL may have already started issuing the new X-GHL-Signature header for your account. Check the raw incoming headers in N8N's execution log. Update your Code node to handle both signatures during the transition window before the July 1, 2026 deprecation deadline.
Frequently Asked Questions
Does GoHighLevel have a native N8N integration?
Yes. N8N has a native HighLevel node that handles common operations — creating contacts, updating pipelines, triggering workflows — without manual HTTP Request configuration. For advanced operations not covered by the native node, use the HTTP Request node with GHL's v2 REST API directly.
Can N8N write data back into GoHighLevel?
Yes. Using the GHL v2 REST API, N8N can create contacts, update custom fields, add or remove tags, move pipeline stages, create opportunities, send messages, and trigger workflows. Any endpoint in the GHL v2 API is accessible from the HTTP Request node with a valid Private Integration Token and the correct scopes.
Is N8N better than Zapier for GHL integrations?
For agencies managing multiple clients, yes. N8N's self-hosted unlimited execution model means you pay a flat server cost — typically £5–£10/month — rather than Zapier's per-task pricing that scales with volume. At high message volumes across 10+ clients, Zapier can cost hundreds per month. N8N also supports code nodes, complex data transformation, and direct GHL v2 API access.
What API version should I use for new GHL integrations?
Always use API v2 with the base URL services.leadconnectorhq.com. GHL API v1 reached end-of-support on 31 December 2025. New integrations built on v1 will not receive support and may break without notice as GHL continues migrating infrastructure.
How technical do you need to be to use N8N with GHL?
A basic understanding of JSON and REST APIs is helpful. Most of the integration is visual drag-and-drop. The webhook signature verification requires a small amount of JavaScript in a Code node. The self-hosted setup requires some server familiarity. Agencies that want the automation depth without the technical overhead typically hire a specialist to build and maintain the N8N instance.
Setting Up N8N + GoHighLevel for Your Agency
Nebtrix builds N8N + GHL integration setups for UK marketing agencies. This includes self-hosted N8N configuration, GHL v2 API connection with scoped Private Integration Tokens, webhook security (X-GHL-Signature verification before the July 2026 deadline), and your initial workflow library — AI personalisation, Facebook Lead Ads routing, Slack notifications, and automated reporting. If you want to extend GHL beyond its native limits, book a free audit call and we will design the right automation architecture for your agency.
Nebtrix
AI Automation Specialist · Nebtrix
Nebtrix builds AI automation systems for small businesses — dental clinics, hospitals, and retail stores.