
GoHighLevel Assign To User: Contact Owner Rules (2026)
By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 9 October 2026 · 9 min read
The GoHighLevel Assign To User action is the quiet workhorse behind every sales team that runs on HighLevel. It decides who owns a lead, who sees the conversation, who gets the follow-up task and, ultimately, whose name sits next to the revenue in your reports.
Yet most accounts we audit treat contact owner assignment as an afterthought. Leads sit unassigned for hours, reps can see each other's pipelines, and nobody knows who owns half the database once a staff member leaves. This guide walks through the rules we use to make assignment predictable, fair and reportable.
Quick Facts
| Where it lives | Workflow action “Assign To User”, which sets the contact’s Assigned To (owner) field |
| Split options | Split traffic equally (default) or unevenly, with a weight per user |
| Key toggle | “Only apply to unassigned contacts” skips anyone who already has an owner |
| Undo action | “Remove Assigned User” clears the owner and has no settings beyond its name |
| Visibility control | “Only Assigned Data” user permission limits a user to their assigned contacts and related conversations |
| Opportunity owners | Linked to the contact owner by default; a setting under Opportunities & Pipeline allows them to differ |
How the GoHighLevel Assign To User action really works
Every contact in a HighLevel sub-account has one Assigned To field. Whoever is in that field is the contact owner, and a long list of features keys off it: restricted permissions, internal notifications, smart list filters and owner-based reporting.
The Assign To User action simply writes a user into that field when a contact passes through a workflow. You can choose a single user or several, and if you choose several, HighLevel rotates contacts between them.
According to HighLevel’s own help centre article on the Assign To User workflow action (2026), the action sits alongside the other CRM actions in the workflow builder. It does one job, so surround it with the right triggers, filters and follow-up steps.
If you sell into different regions or service lines, layer your assignment on top of territory-based lead routing in GoHighLevel so the right rep pool is chosen before the rotation runs.
Splitting leads evenly vs weighted in HighLevel contact owner assignment
When you select more than one user, the action asks how traffic should be split. Split traffic equally is the default and rotates contacts one by one through your selected users.
Choose unevenly and you can give each user a weight. A senior closer on a weight of 3 and a new starter on a weight of 1 means the senior rep receives three leads for every one the junior rep receives.
| Assignment mode | How it behaves | Best used for |
|---|---|---|
| Single user | Every contact goes to one named user | Solo operators, a dedicated VIP or partner-referral owner |
| Split equally | Round-robin rotation across all selected users | Teams of similar experience where fairness matters most |
| Split unevenly | Rotation weighted by the number you give each user | Mixed-experience teams, part-time staff, reps ramping up |
| Calendar round robin | Assignment follows who takes the booking | Teams where the person on the call should own the lead |
Review weights monthly against close rates, and lower a rep’s weight while they are on leave rather than removing them.
The “only apply to unassigned contacts” rule
This one toggle prevents more internal arguments than anything else in the action. When it is on, contacts who already have an owner are skipped and keep their existing rep.
Without it, a past client who fills in a new enquiry form goes to whoever is next in the rotation, and your original rep loses the relationship.
Our default rule is simple: intake workflows keep the toggle on, reassignment workflows switch it off. That way the only workflows capable of overwriting an owner are the ones built specifically for that purpose.
Using the Remove Assigned User action
Remove Assigned User is the opposite action. It clears the Assigned To field and leaves the contact unowned, and it has no settings beyond its display name.
We use it in three situations:
- A lead is disqualified and should drop out of the rep’s working list
- A lead has gone stale and should be recycled back into the rotation
- A contact moves from sales to an account management or support team with its own assignment logic
For recycling, pair the two actions: Remove Assigned User, then Assign To User with the unassigned-only toggle on. The contact re-enters the rotation cleanly.
Contact owner vs opportunity owner in GHL
This is where most confusion starts. A contact has an owner, and each opportunity attached to that contact also has an owner, and they are not always the same person.
By default HighLevel keeps them linked, and a new opportunity takes the contact owner as its default. HighLevel’s changelog describes a setting under Settings > Opportunities & Pipeline called “Allow different owners for contacts and its opportunities”, which lets the two diverge, along with optional rules to update followers when either owner changes.
HighLevel’s own release note warns that once you allow different owners, existing automations that update owners might not update the opportunity owner. If you enable it, audit every workflow that touches ownership.
Our rule of thumb: if the person working the deal is the person who owns the relationship, keep them linked. If you run a setter-and-closer model, decouple them and set the opportunity owner explicitly in your GoHighLevel pipeline and opportunity setup rather than relying on the contact assignment to carry across.
Assigning leads to users in GHL and who can see what
Assignment becomes a security setting once you restrict a user to Only Assigned Data. HighLevel’s guide to sub-account user roles, permissions and assigned data explains that these users see the contacts assigned to them and the opportunities, appointments and tasks linked to them.
HighLevel’s help centre also notes that restricted users see the conversations belonging to their assigned contacts. That has a practical consequence: an unassigned lead who replies by SMS is invisible to every restricted rep.
So with restricted permissions, assign early, ideally in the workflow that creates the contact. It also changes how you run a shared inbox, which we cover in our guide to managing the Conversations inbox across a team.
| Permission setup | What the rep sees | Assignment risk |
|---|---|---|
| Full access | All contacts and conversations | Low visibility risk, but ownership disputes are common |
| Only Assigned Data | Their assigned contacts and related records | Unassigned leads become invisible to reps |
| Admin role | Everything in the sub-account, plus settings | Should be limited to owners and operations staff |
Notifying the owner the moment a lead lands
Assigning a lead does not tell the rep about it. Add a step straight after Assign To User that sends an internal notification to the assigned user, by email, SMS or in-app, with the contact’s name, source and a link to the record.
For manual or bulk reassignments, a separate workflow triggered by a change to the assigned user catches what your intake workflow misses. We break down the message formats that reps actually read in our article on internal team notifications in GoHighLevel.
Pair the notification with a task due within your response target. A notification can be missed; an overdue task on the rep’s dashboard is much harder to ignore.
Reassigning contacts when staff leave
Staff exits are where poor assignment hygiene costs real money: leads sit owned by a user who no longer logs in, and nobody follows up.
Our exit checklist runs in this order:
- Build a smart list filtered on Assigned To equals the departing user
- Export it as a backup before changing anything
- Bulk-add the list to a reassignment workflow with the unassigned-only toggle off
- Filter the pipeline by the departing owner and update open opportunities
- Reassign or close their outstanding tasks and check calendars for future bookings
- Remove them from every Assign To User action and calendar team, then deactivate the user
Running the contacts through a dedicated workflow, rather than editing them by hand, gives a consistent result and spreads the book evenly across the team. Our guide to GoHighLevel contact bulk actions covers selecting, filtering and adding large lists to workflows safely.
Reporting by contact owner
Once every lead gets an owner quickly, owner-based reporting becomes trustworthy. Filter contacts by Assigned To to see each rep’s book, and filter opportunities by owner to see pipeline value and win rates per person.
Watch the unassigned count most closely. A growing pool of unowned contacts is the earliest sign that a trigger, filter or permission has broken, and it usually shows up before the revenue gap does.
Common mistakes to avoid
- Leaving “only apply to unassigned contacts” off in intake workflows, so returning clients get silently reassigned
- Running several workflows that all assign the same contact, so the last one to fire wins
- Assuming the contact owner and opportunity owner always match after enabling different owners
- Restricting reps to Only Assigned Data while leaving new leads unassigned for hours
- Deactivating a departing user before their contacts, opportunities and tasks have been moved
- Assigning without a notification or task, so the rep never knows the lead exists
If you want HL Growth Partner to design lead ownership and routing rules for your sales team, book a strategy call with the HL Growth Partner team.
Frequently asked questions
What does the GoHighLevel Assign To User action actually do?
It sets the Assigned To field on the contact who is moving through the workflow, which makes that user the contact owner. You can point it at one user or rotate across several, split equally or weighted. It does not create tasks, send notifications or move opportunities on its own, so add those as separate actions.
What is the difference between splitting traffic equally and unevenly?
Equally rotates contacts one by one through the selected users so each gets the same share over time. Unevenly lets you give each user a weight, so a senior closer can receive more leads than a new starter. The rotation only counts contacts the action actually processes, so skipped contacts do not affect the balance.
Should I turn on Only apply to unassigned contacts?
In most lead-intake workflows, yes. With it on, contacts who already have an owner are skipped, so a returning lead stays with the rep who already knows them. Leave it off only in workflows whose job is deliberately to reassign, such as a stale-lead or staff-exit workflow.
Does assigning a contact also change the opportunity owner?
Not reliably, and it depends on your settings. By default HighLevel keeps contact and opportunity owners linked, but if the account allows different owners for contacts and their opportunities, the two can drift apart. When the opportunity owner matters, set it explicitly with an opportunity action rather than assuming the contact assignment carries across.
Why can a user not see some conversations in the inbox?
If the user's permissions are restricted to Only Assigned Data, they only see contacts assigned to them and the conversations attached to those contacts. Any lead with no owner, or owned by someone else, is invisible to them. Assigning the contact is what makes the conversation appear for that user.
How do I get notified when a lead is assigned to me?
Build it with a workflow rather than relying on a default alert. Trigger on the contact's assigned user changing, or add the notification straight after the Assign To User step, then use an internal notification addressed to the assigned user by email, SMS or in-app. Include the contact's name, source and a link to the record so the rep can act immediately.
What is the safest way to reassign leads when a staff member leaves?
Before you remove the user, build a smart list of everything they own, then bulk-add those contacts to a reassignment workflow with the unassigned-only toggle switched off. Check their open opportunities and outstanding tasks separately, because those may need their own owner updates. Only deactivate the user once the list is empty.
Can I report on leads and revenue by owner?
Yes. Filter contacts by Assigned To and filter or group opportunities by owner to see how many leads each user holds and what value sits in their pipeline. The reporting is only as good as your assignment rules, so make sure every new lead receives an owner within minutes of arriving.
Related Articles on HL Growth Partner
Lead routing and scheduling
- Round-robin calendars and booking in GoHighLevel
- Workflow trigger filters that stop misfires
- The Update Contact Field workflow action
Team accountability
- Managing team workload with HighLevel tasks
- Tracking changes with audit logs
- Smart lists and segments explained
