If you’re still manually creating locations and assigning users in HighLevel every time you onboard a new client, I’ve got some bad news.
You’re wasting time you could be spending closing more deals, building better workflows, or, I don’t know—actually enjoying your life. 😅
So let me show you how I stopped doing all that by hand and started automating it with N8n and HighLevel’s API.
This isn’t “just another tech stack.” This is how I bought back hours every week and made onboarding way smoother in the process.
Why N8n? Why Not Zapier?
If you’re familiar with Zapier and wondering what makes N8n better, here’s the TL;DR:
N8n gives you more power and flexibility.
It’s open-source, lets you pin data (so you’re not re-fetching stuff all the time), and it’s built for nerds like us who actually want to control things under the hood.
Oh, and did I mention it’s cheaper, too? 💸
First, Let’s Talk About Tokens
This is important. Most people use private API tokens. But if you’re scaling, you’ll want to start using OAuth.
Why?
- OAuth lets you manage permissions per user
- It’s more secure
- You can scope access to only what’s needed
If you’re running client automations, using OAuth means you’re not giving blanket access to everything, which is a huge win for security and peace of mind.
How I Automated Location & User Creation (Step-by-Step)
Here’s what I built with N8n and the HighLevel API:
1. Auto-Creating a New Location (Subaccount)
Using N8n’s HTTP node, I fire off a POST request to HighLevel’s /locations endpoint.
⚠️ Pro tip: You need the company ID, not the relationship ID. If you’ve been copying what’s in the UI, you’re probably using the wrong one.
2. Automatically Assigning Users to That Location
Once the location is created, I send another request to add users.
💡 I use pre-configured credentials in N8n so I don’t have to re-auth the API every time. Saves time and avoids errors.
3. Updating Custom Values Dynamically
This one got spicy. I needed to sync survey responses to custom values inside HighLevel. So I:
- Pulled all existing custom values with a GET request
- Used .map() inside N8n to match survey fields to the right value IDs
- Triggered it all via a form submission webhook
It worked like magic. And yes, I fist-pumped when it ran perfectly the first time. 💪
Here’s What You Can Steal From This
If you’re building systems with HighLevel, this is the level you want to play at:
✅ Pin your data in N8n to avoid repeated API calls
✅ Use OAuth to securely manage client integrations
✅ Trigger workflows with form submissions to automate onboarding
✅ Pre-configure credentials so your workflows run clean and consistent
✅ Map custom values with code so your automations stay flexible and scalable
Wanna Build Stuff Like This Faster? 🧠
That’s where I hang out and share all my tools, templates, and tutorials with other HighLevel nerds. 🙌
Frequently Asked Questions
Why N8n? Why Not Zapier?
If you’re familiar with Zapier and wondering what makes N8n better, here’s the TL;DR:N8n gives you more power and flexibility. It’s open-source, lets you pin data (so you’re not re-fetching stuff all the time), and it’s built for nerds like us who actually want to control things under the hood. Oh, and did I mention it’s cheaper, too? 💸
What should I know about first, Let’s Talk About Tokens?
This is important. Most people use private API tokens. But if you’re scaling, you’ll want to start using OAuth. Why? OAuth lets you manage permissions per user It’s more secure You can scope access to only what’s needed If you’re running client automations, using OAuth means you’re not giving blanket access to everything, which is a huge win for security and peace of mind.
How I Automated Location & User Creation (Step-by-Step)?
Here’s what I built with N8n and the HighLevel API:
Start Your HighLevel Free Trial
Browse all GoHighLevel guides · HighLevel Integration · HighLevel Automations.