What it does
Controls how work items in a queue are matched to agents. Five options: Highest Capacity, Advanced Round Robin, Least Active (OOB), No auto assignment (pick-based, GA Aug 2026), and Custom. Assignment cycles run continuously; work items not matched in a cycle are retried next cycle.
Key facts
Highest Capacity: assigns to agent with most available capacity matching skills and presence; tie-breaks by round robin
Advanced Round Robin: rotates in order of queue join date, then last assignment timestamp; good for fairness
Least Active: assigns to agent with longest time since last capacity was released; available for voice and messaging only (not records); default for new voice/messaging queues
No auto assignment (pick-based): the system routes conversations to the queue but doesn't assign them to anyone. Representatives pick work items up from their Inbox; supervisors can assign manually from the ongoing conversations dashboard in Copilot Service workspace. GA August 2026. Use when you want manual pull or supervisor-driven allocation rather than push
Custom: fully configurable via prioritisation and assignment rulesets; workstream defaults for presence, capacity, and skills do not apply: must define explicitly in the custom rules
OOB assignment methods take priority over custom-method queues when both have the same queue priority number
Agent decline limit: default 3 attempts; configurable 1–5 via OData on
msdyn_omnichannelconfiguration; after limit, agent is excluded from auto-assignment for that item (can still manually pick)After 100 agents decline a single item, auto-assignment stops: supervisor must assign manually
Assignment cycles trigger on: new work item, presence change, agent added to queue. Records also have a 5-minute periodic trigger
Dynamic Prioritisation (Preview): AI-driven priority escalation based on wait time or queue transfer; cannot be combined with custom prioritisation rules on the same queue
Assignment scale limits (published 11 Sept 2026) — the ceilings are very different for OOB and custom methods. From Assignment scale limits:
Assignment method Backlog awaiting assignment Incoming conversation rate Max queues Max users per queue Users across queues Default, no cross-queue prioritisation 50,000 5,000/min n/a 5,000 10,000 Default, with cross-queue prioritisation 50,000 5,000/min 100 5,000 10,000 Custom, no cross-queue prioritisation 10,000 500/min n/a 2,000 10,000 Custom, with cross-queue prioritisation 10,000 500/min 20 2,000 10,000
When to use / skip
Almost all deployments use one of the OOB push methods. Use No auto assignment when the operating model is genuinely pull-based, small specialist teams, or supervisor-controlled allocation where auto-push would misfire. Use Custom only when out-of-the-box genuinely can't meet the requirement, the most common legitimate reason is needing the is_working calendar operator to respect agent shift schedules.
Configuration decisions
- Least Active vs Highest Capacity: Least Active is better for blended voice/messaging teams; prevents burnout by not re-flooding agents who just finished a call
- No auto assignment vs a push method: only choose pick-based if you have the supervision to watch the queue; nothing chases an unattended item, so SLAs depend entirely on representatives pulling work
- Whether to configure custom assignment: adds maintenance overhead; only justified for operating-hours-aware routing or complex multi-stage skill relaxation
Gotchas
- No auto assignment has no safety net. Because nothing is pushed, a quiet or distracted queue lets items sit indefinitely. Monitor the queue and set up supervisor alerting before you rely on it.
- Custom assignment costs you an order of magnitude of headroom. Custom methods cap at 10,000 queued work items and 500 conversations a minute against 50,000 and 5,000 for the out-of-the-box ones, and cross-queue prioritisation drops from 100 queues to 20. Nobody tells you this at design time; you find it when volumes grow. Check the numbers against the client's peak before you agree to a custom ruleset.
- Custom assignment requires explicit presence and capacity rules. Workstream defaults don't carry over. Miss this and work gets assigned regardless of agent availability.
- The decline limit matters operationally. If agents miss notifications at go-live (common), items can get stuck after 3 decline cycles. Configure deliberately and test the decline flow in UAT.
- Dynamic Prioritisation is Preview. Don't use in production for regulated environments yet.
Consultant notes
- Pick-based (No auto assignment) looks attractive to clients who want representatives to "choose their own work", but it moves the SLA risk onto floor supervision. Only recommend it where there's genuinely someone watching the ongoing conversations dashboard; otherwise a Least Active push queue is safer.
- Simulate the decline flow in UAT before go-live. Go-live week is when agents are learning the workspace and notification sounds: 3 misses is easy to hit accidentally. Know exactly what happens to a work item after 3 declines before the first real customer call.
- The scale limits published in September 2026 are the strongest argument yet against custom assignment. A contact centre running 2,000+ agents in a single queue, or peaking above 500 conversations a minute, is outside what custom methods support at all. Get the client's peak hour and agent counts on paper before the design workshop, not after.
- Custom assignment is a maintenance burden that almost never gets accounted for in post-go-live support scoping. If a client is asking for it, challenge them hard: if a simple classification tweak combined with an OOB method covers the requirement, take that path. Custom rulesets become orphaned config quickly.
- Dynamic Prioritisation is worth watching for GA but don't put it in any production scope while it's Preview, particularly in regulated environments.
Source last updated: 2026-09-11 | Review when: Dynamic Prioritisation reaches GA, or the published assignment scale limits change