- Home
- Resources
- Integrations
- HighLevel
HighLevel n8n integrationAutomate HighLevel with n8n.
Every contact, deal, task and calendar slot in HighLevel becomes a step you can automate. The HighLevel n8n integration exposes 17 operations over 4 resources, authenticated with OAuth2 against the API v2. No trigger node ships with it, so a Schedule or a Webhook starts the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the HighLevel n8n integration actually do?
The HighLevel node ships with n8n and talks to the HighLevel API v2. It exposes 17 operations spread over 4 resources: contacts, opportunities, tasks and calendars. Each one is a step you drop into a workflow, fill in, and wire to whatever comes next.
There is no HighLevel trigger node, so the workflow starts somewhere else: a Schedule Trigger on a fixed interval, an n8n Webhook called by another service, or the trigger of another tool.
Scenario one, no lead sleeps in a spreadsheet overnight. A form posts to an n8n Webhook, which is a URL n8n exposes so another service can push data to it. The workflow runs contact.create, then writes the same row into Google Sheets for the weekly report.
Scenario two, the pipeline matches reality on Monday morning. A Schedule Trigger wakes the workflow up, opportunity.getAll pulls the deals filtered on Status, and the ones still marked open land in a Slack channel before the stand-up.
Scenario three, the follow-up never slips. Once a call is logged, task.create attaches a task to the contact with a Due Date, and Gmail sends the recap in the same execution.
Three things shape what you can build. On the list operations, Return All brings back every matching record by chaining the API pages, while leaving it off means Limit sets the maximum number of items returned. A field marked required stops the node when it is empty, so a missing Contact ID fails the execution rather than guessing. And the node itself flags two rules on opportunities: there can only be one opportunity for each contact, and an opportunity's pipeline ID cannot be updated.
For anything outside these 17 operations, the HTTP Request node calls any HighLevel API endpoint and reuses the same credential through its predefined authentication. That is the normal way to extend a workflow without leaving n8n.
If you are still weighing the platform itself, the n8n review covers hosting and how the pricing works, and the n8n training walks through building a workflow end to end.
How do you connect HighLevel to n8n?
- 01
Create the HighLevel app
Start from a HighLevel developer account on the marketplace, then open My Apps and Create App. The setup guide asks for Distribution Type set to Sub-Account. That app is what holds the Client ID and the Client Secret you will paste into n8n later, so name it after the job it does rather than after the person who created it.
- 02
Add the scopes and the redirect URL
Six scopes go on the app:
locations.readonly,contacts.readonly,contacts.write,opportunities.readonly,opportunities.writeandusers.readonly. Then copy the OAuth Redirect URL that n8n shows on the credential screen and add it as a Redirect URL inside the HighLevel app. Without that round trip, the authorization never comes back. - 03
Fill the n8n credential
Copy the Client ID and the Client Secret from HighLevel into the n8n credential, and list the same six scopes there as a space separated string. A credential is created once in the Credentials menu and reused by every workflow, which means the HighLevel node offers it in its dropdown from then on, with nothing to retype.
What can the HighLevel node do in n8n?
The HighLevel node exposes 17 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create or Update | Get | Get Many | Update | Delete | Book Appointment | Get Free Slots |
|---|---|---|---|---|---|---|---|
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Opportunity | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Task | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Calendar | ✓ | ✓ |
Operations index
Contact
5 operationsCreate or update a contact
contact.createWhat you see in n8n
Notes & use cases
One call handles both cases: if the person is already in HighLevel, the record is updated instead of duplicated.
Key parameters
- Email: the address that identifies the person (
name@email.com). Email or Phone is required to create the contact. - Phone: same role, in phone form. It has to start with a valid country code led by a plus sign, as in
+491234567890. - Additional Fields: 14 optional fields, among them First Name, Last Name, Source, Tags as a comma separated list, and Custom Fields.
Delete a contact
contact.deleteWhat you see in n8n
Notes & use cases
Removes the record from HighLevel. The node wants the identifier, not the name and not the email address.
Key parameters
- Contact ID: the HighLevel identifier of the record to remove. It usually arrives from an earlier node, picked up with an expression such as
{{ $json.field }}, which reads a field of the incoming item.
Get a contact
contact.getWhat you see in n8n
Notes & use cases
Reads a single contact and hands its data to the next node, which saves a manual lookup in the HighLevel interface.
Key parameters
- Contact ID: the record to read. Chain it after a list operation when all you have is a name or an email address.
Get many contacts
contact.getAllWhat you see in n8n
Notes & use cases
Returns a list of contacts, with filters that narrow it before the data reaches the rest of the workflow.
Key parameters
- Return All: on, n8n chains the API pages until every matching contact is in. Off, Limit sets the maximum number of contacts returned.
- Query: free text search, run on Name, Phone, Email, Tags and Company Name.
- Sort By and Order: sort on
date_addedordate_updated, ascending (asc) or descending (desc).
date_added with Return All switched on, straight into a spreadsheet for the board review.Update a contact
contact.updateWhat you see in n8n
Notes & use cases
Changes only the fields you list on an existing record and leaves the rest as it was.
Key parameters
- Contact ID: which record gets rewritten.
- Update Fields: 14 fields to pick from, among them Email, Phone, Tags, Timezone and Do Not Disturb, where true means no outbound message is permitted.
Opportunity
5 operationsCreate an opportunity
opportunity.createWhat you see in n8n
Notes & use cases
Opens a deal attached to a contact, with its name, its status and its place in a pipeline.
Key parameters
- Contact Email or ID: pick from the list or pass an ID with an expression. The node points out that there can only be one opportunity for each contact.
- Status: one of
open,won,lostorabandoned. - Pipeline Name or ID: chosen from the list, or given as an ID.
- Monetary Value: the monetary value of the lead opportunity, inside Additional Fields next to Tags and Assigned To.
open with Monetary Value taken from the quote total.Delete an opportunity
opportunity.deleteWhat you see in n8n
Notes & use cases
Erases a deal. This is the operation you reach for when records created while testing a workflow have to disappear before anyone reads the numbers.
Key parameters
- Opportunity ID: the deal to remove, most often carried over from the node that created or listed it.
Get an opportunity
opportunity.getWhat you see in n8n
Notes & use cases
Pulls one deal and its data, so a later node can branch on what came back instead of assuming.
Key parameters
- Opportunity ID: the deal to read.
Get many opportunities
opportunity.getAllWhat you see in n8n
Notes & use cases
Lists deals with 8 filters, which is what you want when a report has to be built without touching the interface.
Key parameters
- Return All: on, every matching deal comes back page after page; off, Limit caps how many are returned.
- Pipeline Name or ID and Stage Name or ID: narrow to one pipeline, then to one stage. The node asks for the pipeline first, otherwise the stages do not show up.
- Start Date and End Date: a date range on the deals.
- Status:
open,won,lostorabandoned.
open in one pipeline, split with Assigned To so each rep reads their own list.Update an opportunity
opportunity.updateWhat you see in n8n
Notes & use cases
Moves a deal along: another stage, another status, another value, or a different owner.
Key parameters
- Opportunity ID: the deal to change. The node warns that an opportunity's pipeline ID cannot be updated.
- Update Fields: 6 fields, among them Status, Stage Name or ID, Monetary Value, Assigned To and Name.
won and the final amount goes into Monetary Value, so the pipeline is right without a manual drag.Task
5 operationsCreate a task
task.createWhat you see in n8n
Notes & use cases
Attaches a to-do to a contact, with a deadline. Four fields are required here, more than on most operations of this node.
Key parameters
- Contact Email or ID: the contact the task belongs to, from the list or as an ID.
- Title: what has to be done.
- Due Date: the deadline, as a date and time.
- Completed: a required boolean, so n8n asks for its value even on a task that has just been opened.
- Body: the detail, inside Additional Fields next to Assigned To.
Delete a task
task.deleteWhat you see in n8n
Notes & use cases
Clears a task that has lost its reason to exist. Two identifiers are needed, because tasks hang off a contact.
Key parameters
- Contact Email or ID: the contact the task belongs to.
- Task ID: which task on that contact goes away.
Get a task
task.getWhat you see in n8n
Notes & use cases
Fetches one task from a contact and passes what it finds down the workflow.
Key parameters
- Contact Email or ID: the contact holding the task.
- Task ID: the task to read.
Get many tasks
task.getAllWhat you see in n8n
Notes & use cases
The tasks of one contact come back as a list. The contact is required here, so the result is always scoped to a single person.
Key parameters
- Contact Email or ID: required, the contact whose tasks are returned.
- Return All: on, every task of that contact comes back; off, Limit sets how many.
Update a task
task.updateWhat you see in n8n
Notes & use cases
Rewrites a task in place: a new deadline, a new owner, or the flag that closes it.
Key parameters
- Contact Email or ID and Task ID: the pair that points at the task.
- Update Fields: 5 fields, Completed, Title, Body, Due Date and Assigned To.
Calendar
2 operationsBook appointment in a calendar
calendar.bookAppointmentWhat you see in n8n
Notes & use cases
Books a slot in a HighLevel calendar for a contact, without anyone opening a booking page.
Key parameters
- Calendar ID: which calendar receives the appointment.
- Location ID: the location identifier the node asks for alongside it.
- Contact ID: who the appointment is for.
- Start Time: a string carrying the date, the time and the offset, in the shape
2021-06-23T03:30:00+05:30. End Time follows the same shape inside Additional Fields. - Appointment Status: optional, with allowed values
new,confirmed,cancelled,showed,noshowandinvalid.
Get free slots of a calendar
calendar.getFreeSlotsWhat you see in n8n
Notes & use cases
Asks a calendar which slots are still open across a window you define, which is the step that comes before offering times to anyone.
Key parameters
- Calendar ID: the calendar to inspect.
- Start Date and End Date: the bounds of the window, as numbers. The node gives
1548898600000and1601490599999as examples. - Timezone: the timezone used for the returned slots,
America/Chihuahuafor instance, inside Additional Fields next to User ID.
Need help automating HighLevel with n8n?
A person reads every message.