Configure workstreams and work classification rules
A workstream is the routing container for a channel or record type in Dynamics 365 Contact Center. Every work item, whether a voice call, a chat conversation, or a customer case, enters the routing system through a workstream. The workstream defines the channel configuration, routing rules, capacity requirements, and queue associations for the work items it handles.
Workstreams come in three types:
- Voice: Routes inbound and outbound calls
- Messaging: Routes digital channel conversations such as live chat, SMS, social media, and Microsoft Teams
- Record: Routes Dataverse records such as cases, emails, and activities
A single workstream can belong to multiple channel instances of the same type—for example, multiple chat widgets can share one messaging workstream. All conversations from those channels inherit the routing and work assignment settings of the shared workstream.
Create a workstream
To create a workstream:
- In Copilot Service admin center, select Workstreams in the Customer support section.
- Select New workstream and select between Inbound or Outbound.
- In the Create a workstream dialog, enter a name such as "Contoso chat workstream."
- Select the Type: Messaging, Record, or Voice.
- If you selected Messaging, select the Channel from the list.
- Select the Work distribution mode: Push or Pick. You can't change this setting after the workstream is created.
- Push mode: The system automatically routes work items to representatives using a message alert.
- Pick mode: Representatives explicitly select work items from their dashboard.
- Select or create a Fallback queue for work items when no route-to-queue rules match.
- Select Create.
After creating the workstream, configure the channel-specific settings such as the chat widget or voice channel.
Note
Unified routing must be provisioned before you can use workstreams for record routing. For more information, see Provision unified routing for Customer Service.
Configure work distribution
Work distribution settings control how capacity and presence interact with agent assignment for each workstream. To update these settings, select See more in the Work distribution area of the workstream.
Key settings include:
- Capacity: Set unit-based or profile-based capacity. This determines how much of a CSR's capacity a single work item consumes. Profile-based capacity is the recommended approach; it gives you finer control over concurrency across different work types. Voice workstreams only support profile-based capacity.
- Allowed presences: Specify which presence statuses, such as Available or Busy, allow new work item assignments. Avoid selecting Inactive and Do not disturb if you don't want to assign work to CSRs who miss or reject notifications.
- Default skill matching algorithm: Select Exact Match or Closest Match to control how strictly the system matches CSR skills to work item requirements.
- Block capacity for wrap up: Control whether CSR capacity is held during the wrap-up period after a conversation ends.
Tip
Use profile-based capacity when different CSR groups handle different work types at different concurrency levels. For example, voice CSRs handling one call at a time and chat CSRs handling three concurrent chats benefit from separate capacity profiles.
Configure work classification rules
Work classification rules add detail to incoming work items before routing. The system uses this detail to determine which queue receives the work item and what skills the assigned CSR should have.
Classification rules are optional but enable more precise routing. Each workstream supports up to 10 rulesets, with up to 100 rule items per ruleset.
The output values set by one ruleset can become conditions in the next ruleset. For example, if ruleset 1 sets Priority to High, then ruleset 2 can evaluate If Priority equals High, set Severity to Critical.
Logical classification rules
Logical rules follow the pattern: if [condition] is met, then set [output attribute] to [value].
To create a logical classification ruleset:
- In the workstream, select Create Ruleset in the Work classification (optional) area.
- Select Create new and choose Logical rules as the rule type.
- Enter a name and select Create.
- Select Create Rule, enter a name, and define the conditions.
- In the Output area, select the attribute and value to set when the conditions are met.
- Repeat for other rules.
Define conditions for up to two levels of related records and attributes. For a single rule item, set output values for up to five attributes.
Skill attachment rules
Skill attachment rules are a subtype of logical classification rules. Instead of setting generic attributes, they attach specific skills to the work item so the assignment engine can match it to agents with those skills.
To create a skill attachment ruleset:
- Follow the same steps as logical rules, selecting Logical rule as the rule type.
- In the Output area, select Skills and choose the skills to attach when the conditions are met.
Note
Ensure that the rating model you choose for a skill in the classification rule matches the rating model defined for the same skill in the representative's profile. Mismatched rating models prevent correct skill-based assignment.
Classification rulesets based on capacity profiles
Classification rules can also dynamically set the capacity profile for a work item. This approach lets capacity requirements vary based on work item attributes rather than being fixed at the workstream level.
To configure a capacity profile-based ruleset:
- Follow the same steps as logical skill classification rulesets.
- In the Output area, select Capacity profile and choose the profile to apply when the conditions are met.
Configure route-to-queue rules
After all classification rulesets run, the route-to-queue ruleset determines which queue receives the work item. These rules follow the same logical pattern: if [condition] is met, then route to [queue].
Route-to-queue rules use one of two evaluation policies, which you can configure on the workstream:
- Hit-all (default): The system evaluates all rules. If multiple rules match and none of their queues are overflowing, the work item routes to the queue of the first matching rule in the list. If all matched queues are overflowing, the work item routes to the first available queue.
- Hit-first: The system stops evaluating after the first match and routes to that queue, regardless of overflow state.
If no rules match, the work item routes to the fallback queue defined on the workstream.
You can also configure percentage-based routing within a route-to-queue rule to split traffic across multiple queues. For example, directing 70 percent of billing conversations to your primary team queue and 30 percent to an overflow vendor queue. The system still evaluates overflow conditions after the percentage-based selection determines the queue.
One route-to-queue ruleset is allowed per workstream, with up to 200 rule items supported.
Note
Route-to-queue rules determine which queue receives a work item. How that queue behaves once work arrives—including queue priority, operating hours, overflow handling, and assignment methods—is configured on the queue itself.