Route work items to different people or queues based on multiple criteria evaluated together. More maintainable than nested if-else chains.
Rendering diagram…
Use a routing matrix when:
Instead of hardcoding routing logic in the workflow, store it in a lookup table:
| Department | Amount Range | Region | Route To |
|---|---|---|---|
| Marketing | $0 – $5,000 | Any | Marketing Manager |
| Marketing | $5,001 – $25,000 | US | Marketing Director |
| Marketing | $5,001 – $25,000 | EMEA | EMEA Marketing Lead |
| Marketing | $25,001+ | Any | CMO |
| Engineering | $0 – $10,000 | Any | Engineering Manager |
| Engineering | $10,001+ | Any | VP Engineering |
| * | $100,001+ | Any | CFO |
The workflow reads this table at runtime and routes accordingly.
Create a SharePoint list, database table, or Excel file with columns for each criterion:
When a request arrives:
Using the matched row:
Give business users a simple interface to manage routing rules:
A new purchase request arrives with:
The workflow queries the routing table and finds:
The task is assigned to the EMEA Marketing Lead with appropriate SLA.
The power of this pattern is that business users can change routing rules by editing a table, without touching the workflow. This is a huge win for maintainability.
Split a workload into parallel branches, process them simultaneously, then aggregate the results. Dramatically reduces processing time for batch operations.