Workday Conditional Routing
Conditional routing is the mechanism that lets a single business process definition behave differently for different transactions. It is the difference between one Request Compensation Change definition that quietly adds a second approval when the proposed increase crosses a threshold, and four separate definitions that someone has to keep in sync forever. Most tenants use it heavily. Most tenants also carry routing logic that nobody has audited since go live, which is why conditional routing shows up so often in stalled approvals, missed segregation of duties controls, and audit findings.
This article covers what conditional routing actually is inside the Workday business process framework, how condition rules are built and attached, how to configure and test them, and how to troubleshoot the failures that show up in production rather than in sandbox.
What conditional routing does inside the Workday business process framework
Every business process in Workday is a definition made up of ordered steps. Each step has a type, an owning security group, and an order position. When an event initiates, the business process runtime evaluates the definition and builds the actual routing path for that specific transaction. Conditional routing is what happens during that evaluation: the runtime tests the condition rules attached to each step and decides whether the step is included in the path or skipped.
This is worth being precise about, because the mental model people carry is often wrong. Workday does not evaluate a condition and then branch to a different set of steps the way a flowchart branches. It walks the ordered step list and asks a yes or no question at each step. A step whose condition evaluates to true is included. A step whose condition evaluates to false is skipped entirely, as if it were not in the definition. There is no else branch. If you want an alternative path when a condition is false, you build a second step with the inverse condition and place it in the order where you want it to run.
That single design fact explains most of the confusion practitioners have with conditional routing. It also explains why definitions grow. Each new business requirement tends to add a step plus a rule rather than modify an existing one, and after three years a Change Job definition with nine steps has become one with twenty six.
The routing decision is made against data available at the moment the step is evaluated. For most step conditions on the parent process, that means data captured on the initiating transaction. For subprocess steps, it means data available when the subprocess initiates, which is not always the same thing. This timing distinction is the root cause of a large share of rules that appear correct but never fire.
Conditional rules versus step conditions, and when each one applies
Workday practitioners use the terms condition rule and step condition somewhat loosely, and it helps to separate them.
A condition rule is a reusable configuration object. You build it once with the Create Condition Rule task, give it a name and a business object scope, and define one or more criteria lines. It lives independently of any business process and can be attached to many steps across many definitions.
A step condition is the attachment of one or more condition rules to a specific row in a business process definition. In the Edit Business Process task, each step row has a column for condition rules. Attaching a rule there is what makes the step conditional. When more than one rule is attached to the same step, all attached rules must evaluate to true for the step to run. If you need or logic, you build it inside a single rule using multiple criteria lines with the appropriate and or or operator, rather than stacking two rules on the step.
There is a third construct that people group under the same heading: rule based business process configuration. Instead of conditioning individual steps, you create multiple definitions of the same business process type and attach a condition rule to each definition. At initiation, Workday evaluates the definition level rules and selects one definition to run. This is configured through Manage Business Processes for Organization, where you can see which definitions exist for a business process type and which organization they are scoped to.
There is also the eligibility rule and validation rule family, which shares the same rule builder but serves different purposes. Eligibility rules govern whether a worker qualifies for a plan or a compensation element. Validation rules block a transaction with an error or warning message. They are not routing constructs, and using a validation rule to enforce something that should have been a routing decision is a common design mistake.
Carrying routing logic nobody has audited since go live?
Sama's senior Workday consultants review business process definitions the way auditors do - rule scope, threshold ownership, default paths, and security group membership - so approvals stop stalling and skipped steps stop passing transactions through unapproved.
How condition rules are built, including calculated fields and Workday delivered fields
The condition rule builder asks for four things per criteria line, and the order in which it asks matters.
First, the source. This is where the rule reaches for a value, and it is expressed as a business object plus a field on that object. The builder presents the business object prompt scoped to what is reachable from the rule’s own business object. If your rule is scoped to Compensation Change Event, you can reach the event, the worker, the position, the job profile, the supervisory organization, and so on through delivered relationships. You cannot reach an arbitrary object that has no path from the event.
Second, the relational operator. The available operators change based on the field’s data type. Numeric fields offer greater than, less than, equal to, and their inclusive variants. Instance fields offer in the selection list, not in the selection list, equal to, and not equal to. Boolean fields offer equal to true or false. Text fields offer contains and starts with among others.
Third, the comparison type. This is the part that trips people up most often. You choose between comparing against a value you type, comparing against another field, or comparing against a determined value. Comparing field to field is powerful and underused. Comparing proposed base pay against current base pay, for example, lets you route on the size of an increase rather than on an absolute salary level.
Fourth, the comparison value itself.
Delivered fields cover a large share of real requirements. Employee Type, Worker Type, Job Profile, Management Level, Job Family, Location, Company, Cost Center, Pay Rate Type, Time Type, and FLSA Status are all reachable without any custom work, and you should exhaust the delivered field list before building anything.
When a delivered field does not exist, calculated fields fill the gap. Yes, calculated fields can be used in condition rules, and this is one of the most useful patterns available. The function types that matter most for routing are Evaluate Expression, which returns a value based on ordered conditions; Lookup Related Value, which pulls a field from a related instance; Arithmetic Calculation, which derives a number; and True/False Condition, which returns a boolean you can test directly.
The discipline here is to keep the calculated field narrow and named for what it returns rather than for the requirement that prompted it. A field named Annualized Proposed Base Pay USD survives a reorganization. A field named VP Approval Threshold Check does not, because the threshold will change and the name will lie.
Calculated fields used in routing also carry a performance cost. Every one of them is evaluated at runtime for every transaction that touches the step. A Lookup Related Value chained through three objects on a high volume process like Time Off is not free. Prefer delivered fields, and prefer simple calculated fields over nested ones.
Configuring conditional routing step by step
The configuration sequence is consistent across processes, and doing it in the right order saves rework. When routing requirements are complex enough to touch security groups and organizational structure at the same time, it is worth bringing inWorkday business process configuration support before the design is locked rather than after.
Defining the condition rule
Start in the sandbox tenant with the Create Condition Rule task. Name the rule descriptively and consistently. A convention that works well is process, subject, and test, so that Compensation Change Proposed Base Pay Over Threshold sorts near its siblings and is legible in a report of all condition rules.
Set the business object carefully. For a step on Request Compensation Change, the natural scope is Compensation Change Event. For a step on Change Job, it is Change Job Event or Job Change Event depending on the step. Choosing the wrong object is recoverable, but you will have to rebuild the criteria lines because the reachable field list changes.
Build the criteria lines and save. Then use the Maintain Condition Rules task to review the rule alongside others in the same family. This report view is where you notice that three people have built three nearly identical rules over two years.
Attaching the rule to a business process step
Run Edit Business Process for the definition you are changing. Find the step row and add the condition rule in the condition column. Save. In most tenants this creates a pending change that requires activation through Activate Pending Business Process Changes, and the change applies only to events initiated after activation.
In flight events keep the definition that was in effect when they started. This is a feature, not a bug, but it means that after activating a change you will have two populations of events running two different routing paths for some period. Plan communication accordingly, and do not conclude that a rule failed because a transaction started yesterday did not pick it up.
Setting the security policy and approver group
A conditional step routes to whatever security group owns the step. If that group has no members in the relevant organization, the step routes to nobody and the event stalls. Use Edit Business Process Security Policy to confirm the group can perform the action, then run Activate Pending Security Policy Changes. Security policy changes and business process changes activate through separate tasks, and forgetting the second one is a routine cause of a rule that looks configured but produces an unassigned step.
Check role assignment as well as security group membership. A step owned by Compensation Partner fails silently in any supervisory organization where the Compensation Partner role is unassigned and no role inheritance is configured.
Ordering, parallel steps, and to do steps
Order determines evaluation sequence, and evaluation sequence determines what data exists when a condition is tested. A rule that depends on a value set by an earlier step must be attached to a step ordered after it. Placing the conditional approval before the step that populates the field it tests produces a rule that evaluates against null and silently returns false.
Parallel step groups add a wrinkle. You can condition the parallel container and you can condition the individual steps inside it. Conditioning the container skips the whole group. Conditioning inner steps skips individual branches while the group still runs. Mixing both without documenting the intent creates routing that is genuinely hard to read six months later.
To do steps accept condition rules the same way approvals do. The difference is that a to do step is a task assignment with no approve or deny semantics, so conditioning a to do controls whether work is assigned, not whether the transaction proceeds. Required to do steps still block completion until marked done, which is exactly what you want for compliance tasks like I-9 verification, and exactly what you do not want if the step was meant to be informational.
Integration steps follow the same conditional pattern and are frequently used to fire outbound data only for certain populations, such as sending badge provisioning only for onsite workers. When routing conditions start driving downstream systems, the routing logic and the integration logic need to be reviewed together, which is where Workday integration design and support usually enters the picture.
Carrying routing logic nobody has audited since go live?
Sama's senior Workday consultants review business process definitions the way auditors do - rule scope, threshold ownership, default paths, and security group membership - so approvals stop stalling and skipped steps stop passing transactions through unapproved.
A worked example with real numbers
Consider a Request Compensation Change definition for a US organization with three approval tiers.
The requirement is that any proposed increase taking annualized base pay above 150,000 USD requires an additional approval from the Compensation Partner, and any increase where the proposed amount exceeds the current amount by more than 12 percent requires an additional approval from the HR Executive regardless of absolute level.
The first rule is scoped to Compensation Change Event. Source is Proposed Base Pay Annualized Amount. Operator is greater than. Comparison type is value specified in this filter. Value is 150000. Attach it to a new approval step owned by Compensation Partner, ordered after the manager approval.
The second rule is scoped to the same object but uses a calculated field. Build an Arithmetic Calculation field that divides the difference between proposed and current annualized base pay by the current amount. Then the rule tests that calculated field with greater than 0.12. Attach it to a second approval step owned by HR Executive, ordered after the Compensation Partner step.
The routing outcomes are then predictable. A worker moving from 96,000 to 104,000 triggers neither rule, since the absolute amount is below threshold and the increase is 8.3 percent. A worker moving from 145,000 to 158,000 triggers both, since the proposed amount clears 150,000 and the increase is 9.0 percent, which fails the second test, so only the Compensation Partner step is added. A worker moving from 88,000 to 102,000 triggers only the HR Executive step, since the increase is 15.9 percent while the absolute amount stays below threshold.
Note the currency assumption baked into the first rule. It compares a numeric amount against 150000 with no currency conversion. If the same definition serves a non USD population, a 150,000 EUR proposal and a 150,000 USD proposal evaluate identically. Either scope the definition to US companies or add a currency criteria line.
High value US market use cases
Requisition and offer approvals routed by compensation threshold
Recruiting is the most common home for threshold routing. Job Requisition approvals route by the compensation grade attached to the requisition, and Offer approvals route by the proposed compensation package. The practical difficulty is that the offer amount may be entered as base pay, as a total package, or as a one time payment plus base, and a rule that tests only base pay misses the case where a large sign on bonus pushes total cost over a threshold that leadership actually cares about.
Expense and supplier invoice approvals routed by amount or cost center
Financials processes lean on conditional routing for spend authority. Expense Report and Supplier Invoice definitions typically carry several tiered approval steps conditioned on total amount, with additional steps conditioned on spend category or cost center for restricted spend types. The design tension here is between tiering by amount, which produces a long chain of steps with overlapping ranges, and using an approval chain step with an aggregation limit, which collapses the tiers into hierarchy traversal. Amount tiers are more explicit and easier to audit. Chains are shorter to configure and adapt automatically when the org changes.
Compensation and job change approvals routed by grade, location, or FLSA status
FLSA Status routing is specific to the US and worth calling out. Job Profile carries an FLSA Status field, and routing overtime eligible changes through a different approval path than exempt changes is a legitimate control. The failure mode is that FLSA Status lives on the job profile rather than the worker, so a job change that alters the profile changes the value mid transaction. Test whether your rule reads the current profile or the proposed one, because the builder will happily let you pick either.
Multi state and multi entity routing considerations
US organizations operating across state lines route on work location, work address state, company, and pay group. State level routing supports things like additional review for changes affecting workers in states with specific pay transparency or final paycheck requirements. Entity level routing supports segregation between legal employers.
The design decision here is whether to encode state logic in condition rules or in organizational structure. Rules are faster to build. Structure is more durable. If you find yourself listing eleven states in a rule’s selection list, the requirement probably belongs in a custom organization or a location hierarchy that the rule can test as a single instance.
Testing, validation, and tenant migration
Build in sandbox, test against realistic data, and never test only the true path. The most common testing gap is confirming that a rule fires when it should without confirming that it stays quiet when it should not.
Workday provides a rule tester that evaluates a saved rule against an actual event instance. Find the event record, open the related actions menu, and choose Business Process and then Test Rule. This tells you what the rule returned and which criteria line drove the result, which is far faster than reasoning about it from the definition.
Build a test matrix before you build the rule. For a numeric threshold, test one value clearly below, one exactly at the boundary, and one clearly above. Boundary behavior is where greater than and greater than or equal to diverge, and it is the difference that finance and audit will notice first. For instance based rules, test a value in the list, a value outside it, and a null. Null handling deserves its own line in the matrix, because a null source field returns false for most operators, which quietly skips steps for populations you did not intend to exclude.
Migration to higher tenants goes through configuration packages. Create Configuration Package, add the business process definition, and let Workday resolve dependencies. Condition rules attached to steps migrate as dependencies. Calculated fields referenced by those rules generally do as well, but verify rather than assume, and confirm that any security groups referenced by the steps already exist in the target tenant. A package that deploys cleanly but lands on a security group with different membership produces routing that is technically correct and operationally wrong. Practical, hands on help through the build and migration cycle is available through experienced Workday consulting delivery.
Practitioner insight from implementation work
Three lessons come from doing this rather than from reading about it.
The first is that condition rules fail more often because of business object scope than because of logic. When a rule refuses to behave, check what object it is scoped to before you check the operators. The field you picked may exist on a related object that is not populated at the moment the step evaluates, and the builder gives no warning.
The second is that documentation belongs on the rule, not in a separate file. Use the rule description field to state what the rule tests, why it exists, who requested it, and what happens when it evaluates false. Every tenant that skipped this ends up with rules nobody will delete because nobody can prove they are unused.
The third is that the definition itself is the real documentation, and a definition with more than roughly a dozen conditional steps has stopped being readable. When you cross that line, the answer is usually not a better rule. It is a rule based business process configuration or a genuine simplification of the underlying policy.
Carrying routing logic nobody has audited since go live?
Sama's senior Workday consultants review business process definitions the way auditors do - rule scope, threshold ownership, default paths, and security group membership - so approvals stop stalling and skipped steps stop passing transactions through unapproved.
Comparing condition rules against separate business process definitions
There are two ways to make one business process type behave differently for different populations, and the tradeoff is worth stating plainly.
Conditioning steps within a single definition keeps everything in one place. There is one definition to open, one security policy to maintain, and one object to migrate. The cost is that the definition accumulates steps that apply to narrow populations, and the remaining steps view that end users see becomes inaccurate because it includes steps that will be skipped. Troubleshooting means reading every rule on every step to reconstruct what should have happened.
Rule based configuration creates separate definitions selected by a condition rule at initiation. Each definition is short and readable, and the remaining steps view is accurate because only relevant steps exist in the selected path. The runtime evaluates the selection rule once rather than evaluating step conditions repeatedly, which helps on high volume processes. The cost is duplication. A change to a step that appears in five definitions is five edits, five activations, and five chances to miss one.
The practical heuristic is to look at where the variation lives. If populations differ in one or two steps out of fifteen, condition the steps. If populations differ in most of the path, split the definitions. Mixing both approaches in the same process type is where tenants get into real trouble, because troubleshooting then requires knowing which definition was selected before you can reason about which step conditions applied.
Troubleshooting common conditional routing failures
When a rule does not behave, work through causes in this order.
- The change was saved but not activated. Check for pending business process changes and pending security policy changes separately.
- The event was in flight when the change activated. In flight events keep the prior definition.
- The rule is scoped to the wrong business object, so the field returns null.
- The source field is populated later in the process than the step being evaluated.
- The rule tests a current value where the transaction carries a proposed value, or the reverse.
- Multiple rules are attached to the step and one of them is false, which suppresses the step even though the rule you are focused on returned true.
- The step is owned by a security group with no members in the relevant organization, so the step exists but routes nowhere.
- A numeric comparison is being made across currencies or across annualized and non annualized amounts.
- The step is marked optional, so it appears in the definition but does not block progression.
Process history is the fastest diagnostic. Open the event, view the process history, and look at which steps are listed as not required. Workday marks conditionally skipped steps explicitly, which tells you whether the rule evaluated false or whether the step never entered the path at all. For behavior that looks like a product question rather than a configuration question, official Workday product documentation and the customer resources in the Workday Community portal are the appropriate references.
Governance and long term maintenance of routing logic
Routing logic decays because the organization changes and the rules do not. Three governance practices keep it usable.
Maintain a routing inventory. A custom report listing every business process definition, its conditional steps, the attached rules, and the owning security groups gives you something to review annually. Without it, nobody can answer the question of which processes enforce a given approval threshold.
Treat threshold values as data with owners. Every numeric threshold in a condition rule was set by somebody for a reason, and that reason has an expiry date. Record the owner and the review date. Thresholds that were reasonable at 800 employees are rarely reasonable at 3,000.
Review after every organizational change and every release. Reorganizations change role assignment, which changes who receives conditionally routed steps. Release updates occasionally change delivered field behavior. Neither event notifies you that a rule now behaves differently. Periodic cleanup of accumulated routing complexity is a standard part of Workday optimization and business process simplification work, and it is usually cheaper than living with a definition nobody will touch.
Frequently asked questions
Why is my condition rule not firing?
The most frequent cause is business object scope: the rule is reaching for a field that is null at the moment the step evaluates. Check the scope first, then check whether the change was activated and whether the event you are testing was initiated before activation. Use the Test Rule related action on the event to see what the rule actually returned.
Can conditional routing be used on to do steps?
Yes. To do steps accept condition rules exactly as approval steps do, and conditioning them is the standard way to assign compliance tasks only to the populations that need them. Remember that a required to do blocks completion of the process until it is marked done, so conditioning a required to do controls whether the transaction can finish, not just whether someone gets a task.
How does conditional routing interact with delegation?
Delegation operates after routing is determined. The condition rule decides whether the step runs and which security group owns it, and delegation then decides which specific person receives the item. A conditionally added step will route to a delegate if the delegation covers that business process, so delegation does not bypass conditional logic in either direction.
Can calculated fields be used in condition rules?
Yes, and they are often the only way to express a requirement that has no delivered field. Arithmetic Calculation, Evaluate Expression, Lookup Related Value, and True/False Condition are the most useful types for routing. Keep them simple, because each one is evaluated at runtime for every transaction that reaches the step.
What happens when no condition is met on any step?
Nothing special happens. Workday skips every step whose condition returns false and runs the remaining steps in order. If that leaves no approval steps, the event completes without approval, which is the single most dangerous outcome of poorly designed conditional routing. Always configure a default path with either no condition or an inverse condition that catches everything.
Do condition rules apply to events that are already in progress?
No. A business process definition change takes effect for events initiated after the change is activated. In flight events continue on the definition that was in effect when they started, so you will temporarily have transactions running two different paths.
Can I attach more than one condition rule to a single step?
Yes, and when you do, all attached rules must evaluate to true for the step to run. If you need or logic between conditions, build it inside a single rule using multiple criteria lines rather than attaching two rules to the step.
Should I use condition rules or separate business process definitions?
Condition rules when the variation touches a small number of steps, separate rule based definitions when the variation touches most of the path. Rule based definitions are easier to read and troubleshoot but duplicate maintenance, since a shared step change has to be applied to each definition.
Do condition rules migrate between tenants?
They migrate as dependencies of the business process definition inside a configuration package. Verify that referenced calculated fields and security groups exist in the target tenant, because a package can deploy successfully while the routing lands on a group with entirely different membership.
How many conditional steps are too many?
There is no hard limit, but readability degrades quickly past roughly a dozen conditional steps in one definition. At that point the maintenance cost of the rules exceeds the cost of restructuring, and rule based configuration or a policy simplification is the better answer.
Closing
Conditional routing is powerful precisely because it is invisible when it works. That is also why it needs deliberate design, documented rules, boundary testing, and periodic review. Scope rules to the right business object, always configure a default path, test the false case as carefully as the true case, and split definitions when a single one stops being readable. Those four habits prevent most of the routing problems that surface in production.
If you want a second set of eyes on your business process design, threshold logic, or approval architecture, book a Workday consultation.