Lead distribution across a shared SDR roster
Distribute leads across a shared rep pool without collisions: a named roster per client project, expiring lead reservation, inbound routing to whoever owns the conversation, and permission-scoped visibility.
What this gets you
- A named SDR roster per client project, separate from the account manager
- Expiring reservation so two reps never work the same company
- Inbound calls and SMS routed to whoever actually owns the conversation
- Permission-scoped visibility — contractors see only their rostered clients
- Capacity-aware allocation using per-rep, per-client rates
Distribution is not round-robin
Most lead distribution software assumes a single pool and a rule for splitting it: round-robin, weighted, by territory. That works for one company with one list.
An SDR agency has a harder shape. Reps are shared across clients, not dedicated. The same rep may work three client projects with different scripts, different pricing and different commission. And the question “who owns this lead right now” has to have one answer at every moment — including when the prospect calls back.
The roster is the unit of distribution
Each client project has a named roster: the specific set of SDRs assigned to work it, held separately from the account manager who owns the client relationship. Those are different jobs and conflating them is why credit disputes happen.
A roster is explicit state, not an inference from who happened to log activity. So:
- “Who is working Client A this week?” — stored answer.
- “Should this rep be seeing Client B’s leads at all?” — permission question, answered below.
- “Who gets credit for this booking?” — exactly one rep.
Then reservation does the fine-grained work
Within a roster, distribution happens by claim rather than assignment. Opening a lead reserves it to that rep with an expiry; placing a call or logging an outcome extends it; a terminal outcome releases it; a background job clears stale holds.
This is deliberately different from pre-assigning leads. Pre-assignment looks tidy and produces a graveyard: leads sitting against a rep who touched one once and will never return. An expiring claim keeps the list circulating while still guaranteeing nobody collides.
Leads with established contact are protected from automatic release — a lead where somebody actually answered keeps its hold rather than being handed to a colleague who has to start over.
Inbound has to agree with outbound
The hardest part of distribution is the callback. A prospect rings the number back, or replies to an SMS — who should that reach?
One shared resolver answers it for every inbound channel, with this precedence:
- Whoever has the lead reserved.
- Whoever made the most recent outbound touch — across calling and SMS. A prior outbound SMS makes that rep the owner of an inbound call, and a prior call makes them the owner of an inbound SMS.
- The project roster, as a fanout.
That cross-channel step is the one most systems miss, and it is why callbacks end up with whoever happens to be free rather than whoever had the conversation. If the owner does not answer, the call falls through to a wider set rather than being dropped.
Visibility is a permission, not a role
Who can see which leads is decided by explicit permissions rather than job title. An SDR without an all-access grant sees only the client projects they are rostered on; granting the employee template flips the same person to all-access with no role change.
This matters most for contractor reps, who often should not see each other’s clients at all. It is a configuration rather than a code change or a fake role.
Capacity-aware allocation
Distribution and capacity are the same question asked twice. Bookings-per-hour rates are maintained per rep per client project with manager overrides layered on top, so allocating next month’s hours across the roster is arithmetic rather than instinct — and the available-hours side subtracts public holidays and absences rather than counting weekdays.
See capacity planning for how the rates are computed, and lead management for what happens to the list before it reaches anyone.