How I Automate Subaccounts, Users, and Custom Values in HighLevel Using N8n

Look, if you’re still manually adding users and locations inside HighLevel, stop. 

You’re wasting time, introducing errors, and slowing down client onboarding.

I’ve been deep in the trenches automating my agency’s workflows and I’m here to save you hours of confusion when it comes to using HighLevel’s API + N8n.

This post is all about:

  • Creating subaccounts (aka “locations”) automatically 🏗️
  • Adding users without the manual headache 👥
  • Updating custom values dynamically 🔧

Let’s break it down, step-by-step, because once you get this dialed in, everything else in your agency runs smoother.

Why N8n?

If you’ve used Zapier, you’ll notice a huge difference: N8n gives you way more control. 

You can build complex automations and keep things clean by using pinned data which means you don’t have to resubmit forms or deal with duplicate data at every step.

⚠️ Important: Always use OAuth instead of private API keys. 

It’s more secure, more scalable, and gives you better permission control. You’re not hacking something together, you’re building a real integration.

What I Automated (And How)

Subaccount (Location) Creation

HighLevel calls them “locations,” but in the API world, they’re “subaccounts.”

Using N8n’s HTTP request node, I trigger a POST request to the HighLevel API with the proper agency ID. 

✅ Pro tip: The ID you need is the company ID (not the relationship ID you see in the UI).

With the right fields in place (business name, email, etc.), I can now create a fully functional subaccount automatically.

Adding Users to the Right Place

Once the subaccount is live, I auto-assign users to it using another API call. 

This saves so. much. time. 😩💨

✅ I use pre-configured credentials and map fields dynamically so it works across any client.

👨‍💻 No more copy-pasting emails into the UI. N8n handles it all.

Updating Custom Values

This one is a game-changer.

Say you’re collecting form data and want it to update custom values inside HighLevel. 

Normally you’d have to dig through IDs and match things manually. But with N8n and .map() logic, you can auto-match field names to custom value IDs.

🔥 Trigger Tip: Use a webhook on form submit. From there, N8n kicks off your automation and handles everything behind the scenes like magic.

Action Items for You

If you want to replicate what I’ve done, here’s your to-do list:

✅ Set up your own N8n instance (self-hosted or cloud is fine)
✅ Use OAuth tokens to connect HighLevel securely
✅ Build a workflow to create subaccounts with the HTTP node
✅ Automate user assignments with pre-configured credentials
✅ Use the Get Custom Values API + .map() to update fields on the fly
✅ Test each step with real sample data to avoid surprises

Want More Like This?

If you’re trying to make HighLevel bend to your will with custom automations, you’re in the right place.

Frequently Asked Questions

Why N8n?

If you’ve used Zapier, you’ll notice a huge difference: N8n gives you way more control. You can build complex automations and keep things clean by using pinned data which means you don’t have to resubmit forms or deal with duplicate data at every step. ⚠️ Important: Always use OAuth instead of private API keys. It’s more secure, more scalable, and gives you better permission control. You’re not hacking something together, you’re building a real integration.

Want More Like This?

If you’re trying to make HighLevel bend to your will with custom automations, you’re in the right place.

What should I know about subaccount (Location) Creation?

HighLevel calls them “locations,” but in the API world, they’re “subaccounts.” Using N8n’s HTTP request node, I trigger a POST request to the HighLevel API with the proper agency ID. ✅ Pro tip: The ID you need is the company ID (not the relationship ID you see in the UI). With the right fields in place (business name, email, etc.), I can now create a fully functional subaccount automatically.

Start Your HighLevel Free Trial

Browse all GoHighLevel guides · HighLevel Custom Values · HighLevel Integration.