Most sales teams need to split leads between reps in GoHighLevel at some point, whether it's new leads as they arrive or an existing list being divided up. HighLevel handles new leads well through the Assign to User workflow action. Dividing an existing book, especially one with documents attached, takes more work. This guide covers both.
Two different jobs
| Job | Example | Native tool |
|---|---|---|
| Distribute new leads as they arrive | Form fills from ads go to the next rep | Assign to User workflow action |
| Divide an existing list | 3,000 aged leads split across four reps | Bulk tag plus a workflow, or CSV work |
| Hand a rep their book with documents | A rep leaves, or a partner takes over a segment | No native method for the files |
Split leads between reps in GoHighLevel with Assign to User
This is the standard round robin in HighLevel.
- Go to Automations > Workflows and create a workflow.
- Add a trigger for new leads, such as Form Submitted, Contact Created or a Facebook lead form trigger.
- Add the Assign to User action.
- Under Select the Users, choose the reps who should receive leads.
- Set Split Traffic:
- Equally rotates through the selected users one at a time.
- Unevenly lets you set a ratio per user, such as 5:2, to weight one rep.
- Turn on Only Apply To Unassigned Contacts if returning contacts should stay with their existing owner. Leave it off if every new submission should be reassigned.
- Add the next steps: notify the assigned user, create an opportunity, start the follow-up sequence.
- Publish.
Labels are as of October 2026.
Tips for a fair split
- Weight by capacity, not seniority. A rep working half days gets half the ratio.
- Pull reps out when they're off. Edit the user list in the action when someone is on leave, or their leads sit untouched.
- Separate lead sources. Use one workflow per source if hot inbound leads and aged data should go to different reps.
- Assign the opportunity too. If your team works from pipelines, make sure the opportunity's owner matches the contact's.
Split an existing list
There's no "divide this smart list among these users" button. Two workable native approaches:
Option A: Tag and run through a workflow
- Build a workflow with a Contact Tag trigger for a tag like
redistribute-oct. - Add Assign to User with the reps and the split you want. Leave Only Apply To Unassigned Contacts off if you're reassigning.
- Publish.
- In Contacts > Smart Lists, filter to the list, select all, and bulk add the tag.
The workflow rotates through the reps as contacts enter. For very large lists, check the workflow's execution logs to confirm everyone was processed.
Option B: Split in a spreadsheet
- Export the list to CSV.
- Add an owner column and divide the rows however you like: by state, industry, lead age or simple rotation.
- Re-import with the owner mapped, or tag each segment and assign by tag.
This gives you full control, for example keeping all of one state with one rep, at the cost of manual work.
Keep reps in their own lane
Once leads are split, decide what each rep can see. In each user's permissions, HighLevel lets you limit a user to the contacts and conversations assigned to them. Check this on every rep, especially after bulk-creating users. Bulk adding users covers setting permissions as you create accounts.
Handing over a book with its documents
Assigning an owner changes who sees a contact. It doesn't help when a rep needs their leads as a package, for example:
- A rep is leaving and the business wants a clean record of what they handled.
- A partner or independent rep is taking a segment into their own sub-account.
- A lending broker is handing merchants to an ISO along with bank statements and applications.
Natively, you'd export each segment's CSV, then download every file from every contact in that segment by hand, and keep them organized per contact. If the rep has their own sub-account, the Copy Contact to Sub-Account workflow action can move the records, but HighLevel's docs say it doesn't transfer files or documents. See moving contacts and files between sub-accounts for the details.
Where the native way gets slow
Round robin for new leads is solid and needs no add-ons. The trouble starts with existing books: splitting by rules other than rotation means spreadsheets, and anything involving documents means downloading files contact by contact. That's where a "quick reassignment" becomes a day of work.
How Backup & Insights handles it
Backup & Insights from RGS Tools handles the book-with-documents case.
- Rep packages split a sub-account's contacts into packages with their files, one per rep.
- Copy to another sub-account pushes contacts and their documents into a different sub-account, for reps or partners who work in their own account.
Use the Assign to User action for incoming leads and Backup & Insights when a book needs to move with its files. Backup & Insights is $99/mo per agency with unlimited sub-accounts and a 7-day free trial. To see how each rep is performing after the split, read building a GoHighLevel user activity report.
Questions
How do I round robin leads in GoHighLevel?
Use the Assign to User action in a workflow, select several users, and set Split Traffic to Equally. Contacts are assigned to the selected users in turn.
Can I give some reps more leads than others?
Yes. In the Assign to User action, set Split Traffic to Unevenly and give each user a ratio, such as 5:2, so one rep gets more of the flow.
How do I stop reps from seeing each other's leads?
Set each rep's user permissions so they only see contacts and conversations assigned to them. Check those settings on every user after creating them, since defaults can show all data.