⚡ Quick Summary

Most GHL agency owners give out Admin access too freely and regret it. Sub-accounts keep each client isolated in their own workspace, and role settings control exactly what each team member can see and do inside that account. Use custom roles for virtual assistants and sales agents, reserve Admin for anyone who manages automations or settings, and audit permissions every 90 days.

🎯 Key Takeaways

  • Never assign Admin access by default u2014 use the User role or a custom role for anyone who only needs to work with contacts and conversations, not manage settings.
  • Create a custom role in GoHighLevel (Settings u2192 Team Management) to limit a team member to specific modules in under 10 minutes u2014 this prevents accidental workflow edits or data exports.
  • Each client gets their own sub-account u2014 adding them as a User or Admin inside only that sub-account keeps them from seeing any other client's data.
  • GoHighLevel logs actions per user, so individual logins (never shared credentials) give you a real audit trail when something goes wrong in a campaign or pipeline.
  • Restrict pipeline visibility when adding a user u2014 agents should only see deals assigned to them, not every opportunity in the account.
  • If you're handing a white-labeled GHL account to a client, add them as an Admin inside their own sub-account so they experience it as their own platform, not a shared agency tool.
  • Audit your existing sub-accounts every 90 days u2014 remove or downgrade team members who no longer need elevated permissions, especially former employees or contractors.

🔍 In-Depth Guide

Admin vs User vs Custom: Which Role Goes to Whom

Here's what I actually recommend to my clients after training hundreds of GHL users: never give a team member Admin access unless they genuinely need to edit automations or account settings. The Admin role inside a sub-account allows the person to change workflows, delete pipelines, and even add new users u2014 which in a client-managed account is almost always overkill.nnFor most sales agents or appointment setters, the standard User role is sufficient. They can see the CRM, handle conversations, book appointments, and update contact records. They cannot break your automations or tamper with your pipelines.nnWhere it gets interesting is the Custom role option. You can build a role from scratch inside GHL u2014 tick only the permissions that matter. I set this up for virtual assistants who manage social media conversations: they get access to the Conversations tab and the Contacts section, nothing else. No automations, no settings, no payment data. This took me about 7 minutes to configure the first time, and it has saved multiple client accounts from accidental data issues. Always start with the minimum permissions needed and add more only when requested.

How to Add a Team Member to a GoHighLevel Sub-Account

Adding a user to a specific sub-account u2014 not your whole agency u2014 is a step I walk through in my GHL course because it confuses almost everyone the first time. Here's exactly how it works.nnFirst, go to your Agency view and click into the sub-account you want to manage. Inside that sub-account, navigate to Settings u2192 Team Management. Click 'Add Employee' and enter their email address. GHL will send them an invitation. When they accept, they land directly inside that sub-account u2014 they won't see your other clients or agency-level settings.nnOne thing I always check: make sure the email address matches exactly what they'll use to log in. I had a client in Dubai whose operations manager used two different emails u2014 a personal Gmail for the invite and a work email for everything else. The invitation sat unaccepted for a week before anyone noticed. Once the user is added, select their role from the dropdown. If you've already created a custom role, it appears in the same list. Then set their assigned pipelines if you want to restrict which deals they can view. This alone reduces noise and stops agents from seeing deals they're not responsible for.

Multi-Location and Agency Access: Keeping Clients Separate

If you run an agency managing multiple clients u2014 which is the primary use case for GHL at the agency tier u2014 the sub-account structure is your best protection against cross-contamination. Each client is isolated. Their contacts don't bleed into another client's CRM. Their automations run independently. The only person who can see across all accounts is the agency admin.nnA common scenario I see with real estate training clients: they manage marketing for three different property developers in Dubai. Each developer has their own sub-account. The developer's internal team gets User-level access to their own sub-account only. The marketing agency team gets Admin access to all three. Nobody from Developer A can accidentally view or modify Developer B's pipeline.nnIf a client wants to manage their own GHL account eventually u2014 fully white-labeled and handed over u2014 you can transfer sub-account ownership or give them an admin user login that feels like their own platform. The action you can take today: audit every current sub-account you manage, check who has Admin vs User roles, and remove or downgrade anyone who doesn't actively need elevated permissions. This takes under 20 minutes and has saved my clients from real problems.

📚 Article Summary

Most GoHighLevel agency owners I train make the same mistake: they hand out admin access like candy at a Dubai mall. Three weeks later, a team member accidentally deletes a client’s pipeline or exports the entire contact list. I’ve seen it happen with real estate agencies here who had 8,000+ contacts built over two years — gone, because one junior staff member had permissions they never needed.Sub-account access in GoHighLevel is how you control who sees what, who can do what, and who can break things. Every client you manage in GHL lives inside a sub-account — it’s their own contained environment with their CRM, pipelines, automations, calendars, and contacts. The agency owner (you) sits above all of them at the Agency level. Inside each sub-account, you can add team members and assign them roles that limit or expand what they can touch.There are three main roles in a standard GHL sub-account: Admin, User, and a custom role you can configure. Admins inside a sub-account can do almost everything except billing — they can edit automations, delete contacts, modify pipelines, and add other users. Regular Users have a more restricted view by default. They typically see contacts, conversations, and their own calendar, but cannot touch automation workflows or account settings. This is usually what I set up for sales agents or virtual assistants working inside a client’s account.The reason this matters beyond just preventing accidents is team accountability. When every person on your team is an admin, you have no audit trail that means anything. GoHighLevel logs actions per user — so if you assign specific roles, you can actually trace who sent which campaign, who moved which contact, and who changed a workflow. For my clients running real estate agencies across the UAE, this is non-negotiable. When a deal falls through because a follow-up wasn’t sent, you need to know exactly where the breakdown happened.

❓ Frequently Asked Questions

A sub-account in GoHighLevel is a self-contained workspace for a single client or business location. It holds its own CRM contacts, pipelines, automations, calendars, and settings u2014 completely separate from other sub-accounts in your agency. If you manage five clients, you have five sub-accounts. Each sub-account can have its own team members, branding, and workflows. The agency owner has access to all sub-accounts; client team members only access their own.
In GoHighLevel, an Admin inside a sub-account can modify automations, edit pipelines, delete contacts, adjust account settings, and add new team members. A User has a restricted view u2014 typically access to contacts, conversations, and calendar bookings, but no ability to change workflows or account configurations. For most sales agents or support staff, the User role is appropriate. Use Admin only for team members who genuinely manage the system, not just use it.
Yes, through custom roles. Inside a sub-account, go to Settings u2192 Team Management and create a custom role where you manually select which modules the user can access u2014 for example, Conversations and Contacts only, with no access to Automations, Payments, or Settings. You can also restrict which pipelines a user can view when you add them to the account. This is especially useful for virtual assistants, social media managers, or client-side staff who should only see their relevant section of the system.
Add the client as a user directly inside their sub-account, not at the agency level. Go to the sub-account u2192 Settings u2192 Team Management u2192 Add Employee, enter their email, and assign them an Admin role within that sub-account. They will log in and see only their own environment u2014 no other clients, no agency dashboard, no billing. If you're white-labeling GHL, they'll log in through your custom domain and see your branding, not GoHighLevel's.
GoHighLevel does not cap the number of users per sub-account on standard agency plans u2014 you can add as many team members as needed. However, each user must accept their invitation via email before they can log in. There's no per-seat cost at the sub-account level on most agency plans, though specific SaaS pricing tiers or reseller agreements may have different terms. Always verify against your current plan in the Agency Settings under Billing.
For a typical real estate sales agent, I recommend a custom role with access to Contacts, Conversations, Calendar, and Opportunities (pipelines) u2014 limited to only the pipelines relevant to their work. Remove access to Automations, Reporting, Settings, and Payments entirely. This way the agent can log calls, update deal stages, book viewings, and message leads without being able to accidentally modify nurture sequences or export contact lists. It takes about 10 minutes to set up and prevents the most common data issues agencies face.
GoHighLevel logs activity per user across several areas. In the Contacts section, you can see which user made a note, sent a message, or changed a status. In the Conversations tab, messages are attributed to the team member who sent them. For workflow and automation changes, the system logs when a workflow was last modified and by whom. This audit visibility is one reason I always insist on individual user logins for each team member u2014 shared logins make accountability impossible.
Sawan Kumar

Written by

Sawan Kumar

I'm Sawan Kumar — I started my journey as a Chartered Accountant and evolved into a Techpreneur, Coach, and creator of the MADE EASY™ Framework.

Free Mini-Course

Want to master AI & Business Automation?

Get free access to step-by-step video lessons from Sawan Kumar. Join 55,000+ students already learning.

Start Free Course →

LEAVE A REPLY

Please enter your comment!
Please enter your name here