Ever wish you could hit a button and magically spin up a full HighLevel account—with users, settings, and custom values already dialed in?
Good news. You can. Mario Aldayuz, Head of Partnerships at HL Pro Tools, broke it down step-by-step on a live session.
He cracked open the magic of automating subaccount creation, user assignment, and custom value updates using N8n + HighLevel APIs.
If you’re ready to stop doing this manually (and honestly, you should be), read on.👇
Why Automate Subaccount & User Creation?
Let’s be real—doing this manually every time a client signs up is:
- ⏱️ Time-consuming
- 🙄 Boring
- 💸 Costly if you’re scaling
Here’s what you could be doing instead with N8n:
- Spinning up new locations instantly after a form submission
- Automatically adding users with the right roles and permissions
- Customizing each location with dynamic data from surveys or onboarding forms
This is how real SaaS agencies scale—by automating repeatable processes so you can spend your energy on selling, onboarding, and growing.
Here’s What We Automated (and How)
1️⃣ Creating a Subaccount (Location)
Using N8n’s HTTP request node, Mario showed how to fire a POST call to HighLevel’s API to create a new subaccount.
Important gotcha he flagged:
Don’t confuse the company ID (used in the API call) with the relationship ID (what you see in the UI). It’ll trip you up if you’re not paying attention.
✅ Pro Tip: Use variables from your form or CRM to populate subaccount names and details dynamically.
2️⃣ Adding Users to the Subaccount
This is where things usually get messy—adding users manually, assigning roles, matching emails.
But with N8n? One webhook later and BOOM 💥 — user added automatically.
🔐 Mario also suggested using pre-configured credentials for security and consistency. No more copy/pasting tokens like a caveman.
3️⃣ Updating Custom Values Like a Pro
This part got geeky in the best way.
Mario tackled the infamous question: “How do I update custom values by name instead of ID?”
Answer:
Use the Get Custom Values API call, then map results dynamically using .map() in a Function node. Clean, scalable, and totally badass if you’re syncing survey data or onboarding inputs.
⚡ Trigger it all from a single form submission. Your whole onboarding process? Done in 60 seconds.
Final Thought
Look, this stuff may seem technical at first—but once you set it up once, it’s like giving your business a second brain.
You could spend another year doing this manually…
Or you could let us help you set it up the smart way.
👉 Head over to hlprotools.com — we’ll help you automate, delegate, and dominate the HighLevel game.