Microsoft’s release of dynamic work classification with Power Fx in Dynamics 365 Supply Chain Management aims to prune that sprawl. Tracked under Microsoft 365 Roadmap ID 576865 and delivered as part of the 2026 Release Wave 1 cycle, the feature reached public preview on April 24, 2026, and general availability on June 5, 2026, for Worldwide (Standard Multi-Tenant) web environments. Instead of maintaining dozens of rigid templates, warehouse administrators and business analysts can attach low-code Power Fx formulas to a single work template to evaluate operational data and assign work parameters at runtime.
Prerequisites and Version Nuances
Before diving into formula syntax, administrators need to check their environment version and Feature Management workspace. According to Microsoft Learn documentation, dynamic work classification requires Dynamics 365 Supply Chain Management version 10.0.48 or later.
In version 10.0.48, administrators must explicitly enable the feature in Feature Management, where the toggle still carries the label (Production Ready Preview) Dynamic work classification despite the feature's June 2026 general availability milestone on the roadmap. Starting with version 10.0.49, the capability is turned on by default. Because roadmap status classifies the feature as "Enabled by admins/makers/marketers for end users," nothing changes on the warehouse floor until an administrator builds the classification rules and links them to active work templates.
How Runtime Classification Works
Dynamic work classification operates across two distinct lifecycle moments in the warehouse:
- Classification at Work Creation: When the system generates warehouse work, it evaluates the Power Fx formula attached to the work template. The formula can inspect the generated work header (
workTable) alongside related records—specifically theLoad,Shipment,Wave, and the first Transportation Management (Appointment) record—to dynamically override the work pool, default work priority, location directive codes, and work classes. - Reclassification After Load Updates: Warehouse realities rarely stay still once a wave runs. If a logistics coordinator reassigns a load to a different carrier or updates a scheduled shipping time after work has already been created, the system can re-evaluate the Power Fx rule and update the open work headers to reflect the new parameters.
There is an important boundary to keep in mind here. While Microsoft Learn notes conceptually that work can be re-evaluated when a formula depends on the current date or time, the rule configuration fields labeled Reclassification schedule ID and the Work reclassification schedules button on the Action Pane are explicitly documented as reserved for future use and have no effect in the current release. Administrators planning time-based priority formulas need to account for that limitation when designing their rules.
Step-by-Step Configuration Guide
Setting up dynamic work classification requires three main steps: deciding how the system handles load updates globally, writing the classification rule, and binding that rule to a work template.
1. Configure Global Load-Update Behavior
Work is always classified at creation if its template has an associated rule. However, if you want changes on a load to trigger reclassification of existing work, you must enable it at the warehouse parameter level:
- Navigate to Warehouse management > Setup > Warehouse management parameters.
- On the General tab, expand the Work FastTab.
- Locate the Work classification on load update field and choose between:
- Disabled: Load changes will not trigger reclassification.
- Synchronous: Updating a load immediately reclassifies all associated work headers.
Admin tip: Microsoft warns that choosing Synchronous can introduce a brief UI wait when users save load updates while the system recalculates every linked work header. Even with Synchronous selected globally, only individual rules that also have their own Reclassify work on load update toggle set to Yes will actually re-run.
2. Build a Dynamic Work Classification Rule
Next, define the logic that calculates your overrides:
- Go to Warehouse management > Setup > Work > Dynamic work classification rules and select New.
- Enter a name in Dynamic work classification rule and a clear Description.
- Set the Rule scope, which dictates when formulas execute and which data tables are in scope:
- Work: Runs the main formula once after the work header is generated. This is the right choice when decisions rely strictly on header-level data like carrier codes or load shipping times.
- Work and initial work lines: Runs two separate formulas. First, as the initial pick work line is selected, an Initial work line formula evaluates item-level or line-level properties (such as
workLine.ZoneId,workLine.InventTable, orworkLine.WHSInventTable). Once all initial work lines are gathered, the main formula runs against the header.
- On the Recalculation FastTab, set Reclassify work on load update to Yes if you want load changes to re-trigger this specific rule.
- Enter your Power Fx expressions on the Power Fx formula FastTab (and the Initial work line formula FastTab, if using the line-level scope).
- Use the Preview button on the Action Pane to test your formula against an existing work header without committing any changes to live data, or use Copy to duplicate an existing rule as a template.
3. Associate the Rule with a Work Template
- Navigate to Warehouse management > Setup > Work > Work templates.
- Select the target template and set the Dynamic work classification rule field to your newly created rule.
Critical Grouping Requirement: Ensure your work template’s grouping settings match your formula’s assumptions. For instance, if an initial work line formula classifies work by pick zone (workLine.ZoneId), the work template must be configured to group work creation by zone so a single work header never mixes lines from multiple zones.
Understanding the Power Fx Return Record and Syntax Gotchas
A work-level classification formula returns a Power Fx record containing up to four optional override fields:
| Return Field | Data Type | Operational Impact & Scope |
|---|---|---|
WorkPoolId | String | Overrides the work pool assigned to the generated work header. |
DefaultWorkPriority | Number | Overrides the numeric priority on the created work. |
DirectiveCodeOverrides | Record | Maps existing location directive codes (field names) to replacement directive codes (values) across all pick/put pairs. |
WorkClassOverrides | Record | Maps existing work classes to replacement classes, but applies only to the second and subsequent pick/put pairs. |
If you need to override the work class on the first pick/put pair, you cannot use WorkClassOverrides in the main work formula. Instead, you must set the rule scope to Work and initial work lines and return WorkClassId (or WorkPoolId) from the initial work line formula.
There is also a crucial distinction in how Power Fx handles empty values here:
- Returning
Blank()for a field—or leaving the field out of the record entirely—preserves the original value configured on the static work template. - Returning an empty string (
"") actively clears the value on the generated work (for example, stripping the work pool completely).
Real-World Warehouse Scenarios
Microsoft’s documentation highlights several practical ways to consolidate templates using these formulas:
- Carrier-Based Routing and Bay Door Assignment: Suppose three carriers pick up at different times, and each requires its own work pool, priority, and outbound bay door staging. Rather than maintaining three separate work templates and location directive codes, a single
Switchstatement inspectingworkTable.Load.CarrierCodecan assign"Carrier1"to priority100with{BAYDOOR: "BAYDOOR-C1"},"Carrier2"to priority50with{BAYDOOR: "BAYDOOR-C2"}, and"Carrier3"to priority10with{BAYDOOR: "BAYDOOR-C3"}. If a dispatcher swaps the carrier on the load later in the afternoon, synchronous reclassification updates the work pool, priority, and bay door directive automatically. - Zone-Specific Equipment or Gear Restrictions: In facilities with specialized storage—such as a sub-zero freezer zone requiring workers with insulated gear—an initial work line formula can dynamically build a work class ID using
Concatenate("S-", workLine.ZoneId). Combined with zone-based template grouping, this restricts freezer picks to appropriately assigned mobile device menus and workers without duplicating template trees for every zone in the building. - Shipping Deadline Prioritization (and Performance Tradeoffs): To ensure time-sensitive loads are picked first, administrators have two formula patterns. The first converts the UTC scheduled shipping time (
workTable.Load.LoadSchedShipUTCDateTime) into a 24-hour clock integer (Hour(...) * 100 + Minute(...)) for same-day shipments—turning a 9:00 AM cutoff into priority900and a 3:00 PM cutoff into1500—while assigning3000to future-day loads andBlank()to unscheduled loads. The second approach usesDateDiff(Now(),...)to calculate exact minutes remaining until departure. Microsoft explicitly recommends the first (time-of-day) approach: because a countdown formula relies onNow(), keeping priorities accurate requires running a recurring reclassification batch job, which can add significant database and processing load when a warehouse has a high volume of open work headers. By contrast, the time-of-day integer only needs recalculation if the load's scheduled shipping timestamp actually changes.
The Bottom Line for ERP and Warehouse Teams
Bringing Power Fx into Dynamics 365 Supply Chain Management warehouse rules is a smart architectural convergence. Rather than forcing supply chain consultants to build sprawling query matrices—or asking X++ developers to write custom extensions just to route a carrier to a specific bay door—Microsoft is reusing the low-code expression language already familiar to Power Platform makers and Dynamics 365 Finance users. Test your formulas thoroughly with the built-in Preview tool, watch out for the Blank() versus "" distinction, and align your work template grouping before flipping the switch in production.
References
- Dynamics 365 Supply Chain Management: Warehouse management - Automate dynamic work classification with Power FX Microsoft 365 Roadmap · 2026-10-16T19:09:57.468653Z
- Automate dynamic work classification with Power FX | Microsoft Learn learn.microsoft.com
- Dynamic work classification - Supply Chain Management | Dynamics 365 | Microsoft Learn learn.microsoft.com