Configure dynamic scheduling
-
- UpdatedJan 30, 2025
- 16 minutes to read
- Yokohama
- Field Service Management
Dynamic Scheduling enables automatic task assignment to field agents based on predefined rules and configurations. This feature helps streamline task distribution by verifying the correct tasks are assigned to the most suitable agents, optimizing travel time, skill matching, and task priority.
Before you begin
- Select dynamic scheduling as the preferred task assignment method. This verifies that tasks are automatically assigned to field agents based on predefined criteria and rules. For more information, see task assignment method.
- Set up agent schedules so that dynamic scheduling systematically verifies optimal task allocation. For more information, see Set up agent schedules for dynamic scheduling.
- Review the properties and other installed components related to dynamic scheduling. Customize the settings to align with your organization's specific requirements. For more information, see Review system properties and components for Dynamic Scheduling.
- Verify to configure travel time and distance calculation to determine how the system calculates an agent's estimated travel time and distance to a task location. You can choose between using the Google Maps API for real-time
travel estimates or straight-line estimates based on the geolocation property settings.
- If the
Use Google Maps API for travel time estimates
geolocation property is enabled, choose between using the Google Maps API or straight-line estimates. - If the
Use Google Maps API for travel time estimates
geolocation property is turned off, the system considers the Estimated Travel Duration field's value from the work order task.
- If the
Role required: admin
About this task
Dynamic Scheduling Config for Work Order
configuration is available with the Dynamic Scheduling plugin. You can modify the configuration as needed or use as a template to create your custom
configuration.Procedure
Result
Dynamic scheduling automatically assigns tasks to field agents based on the defined rules and schedules.
Create a task filter for dynamic scheduling
Task filters allow you to define criteria for selecting and assigning tasks to the most suitable agents using dynamic scheduling.
Before you begin
Role required: admin
About this task
Task filters help you refine how tasks are assigned to the most suitable agents. You can use the default filters provided by the Dynamic Scheduling plugin or create custom filters tailored to your organization’s specific needs.
Dynamic Scheduling, when combined with Auto Assignment and Immediate Assignment, offers flexibility in task allocation. Tasks can be assigned instantly or at scheduled intervals, depending on your configuration.
Auto assignment | Immediate assignment | Result |
---|---|---|
Enabled | Enabled | Dynamic Scheduling runs instantly, automatically assigning tasks to field agents. |
Enabled | Disabled | Dynamic Scheduling runs, adding tasks to a scheduled batch. Tasks are assigned to agents at regular intervals. |
Disabled | Disabled | The dispatcher manually triggers Dynamic Scheduling, and tasks are sent back for confirmation before assignment. |
Procedure
Result
What to do next
Matching criteria for assigning tasks
The Dynamic Scheduling uses configurable matching criteria, such as skills and availability, to evaluate the agents in a selected group and provide an overall ranking.
- Simple Match: creates one-to-one matching, such as matching the time zone of an agent with the time zone of a task location.
- Aggregate: uses a simple query and returns an aggregate result. For an aggregate type, select a table and create a filter, and then select an aggregate field such as the Assigned to field. This type of query returns a set of users.
- Scripted: uses a scripted query which returns a list of users.
- ranking and display usage
- ranking method
- ranking weight
- threshold
- active/inactive
Ranking and display usage
- Ranking and display: uses the criterion to determine agent ranking and displays it in a column on the workbench.
- Display only: displays the criterion in a column on the workbench but does not use it to determine agent ranking.
- Ranking only: uses the criterion to determine agent ranking but does not display it on the workbench.
Ranking method
- More is better: for example, more availability is better when determining the agent ranking.
- Less is better: for example, fewer assigned cases are better when determining agent ranking.
Weight
Each matching criterion has an assigned weight. By default, the matching criteria in the Recommendation for Case Assignment matching rule have an assigned weight of 10. You can assign a higher weight to the criteria that are more important.
Threshold
A threshold sets a minimum requirement for a criterion. For example, set the threshold of the Matching Skills criterion to 3 if you want to see only those agents who have at least three of the required skills for a task. For availability, set the threshold to the desired number of hours to display only those agents who have that minimum number of work hours available. You can set the threshold in the Select Criteria related list on the Matching Rule form. If necessary, personalize the list and add the Threshold column.
Active/Inactive
There can be several matching criteria associated with the matching rule that determines the assignment workbench configuration. Each individual criterion can be set to active or inactive. Changing this setting has an immediate impact on the agent ranking. You can make this change in the Select Criteria related list on the Matching Rule form. If necessary, personalize the list and add the Active column.
Calculating the agent ranking
- Calculate a number for each criterion.
- Multiply that number by the criterion weight.
- Divide the result by the total of all criterion.
- Repeat for each criterion and add the results.
- Matching Skills with Mandatory Skills Support: 5/6
- Availability Today: 7 hours
- Assigned Cases: 2
- Matching Skills:
2 / 3 = 0.666
(with 3 being the maximum number of skills) - Availability Today:
7 / 8 = 0.875
(with 8 being the maximum number of hours) - Assigned Cases:
2 / 26 = 0.0769
(with 26 being the total number of tasks in the table) - Weight: each matching criteria has an equal weight of 10
This calculation is performed for each agent in the assignment group. Agents are ranked based on the value of this calculation, with the highest number earning the highest ranking.
Create a task ordering rule
Dynamic scheduling uses task ordering rules to prioritize and arrange tasks effectively. These rules ensure tasks are handled in the right sequence, helping you streamline field service operations.
Before you begin
Role required: admin
About this task
Task ordering rules let you control how tasks are prioritized during scheduling. By defining rules, you can ensure that the most critical tasks are handled first, and tasks are ordered based on your organization’s specific needs. Multiple rules can be created and applied in sequence, based on execution order, to give you maximum flexibility and precision.
- Execution order: Rules are evaluated in order, with the rule having the lowest execution value taking precedence.
- For instance, you might create a rule that prioritizes tasks by urgency (P1, P2, P3).
- Another rule can be applied to organize tasks with the same priority by their SLA due date.
- Task dependencies: Task dependencies can override task ordering rules to ensure proper task flow.
- If a predecessor task gets reassigned and a successor task is assigned, the predecessor task is scheduled before the successor task starts.
- If a predecessor task is unassigned, the successor task remains unassigned.
- If a predecessor task is assigned, the successor task waits until the predecessor task is completed.
- If a predecessor task has a lower priority, the successor task waits until the predecessor task is assigned.
Note:Dynamic scheduling only supports Finish to Start advanced task dependency with no maximum or minimum lag time. Other types of task dependencies will be ignored.
- Simple rule
- Sorts tasks based on one selected field from the task table.
- Choose either ascending or descending sort order.
- Advanced rule
- Sorts tasks based on selections from two unrelated tables.
- Requires a reference field to connect the task table and another table. For example, you can sort work order tasks based on SLAs stored in the Task SLA table.
- Work order task priority: Uses the task's priority to determine task order, with a default execution order of 100.
- Work order priority: Uses the overall work order's priority to determine task order, with a default execution order of 200.
- Healthcare: Prioritize equipment maintenance tasks based on the criticality of medical devices.
- Manufacturing: Sort tasks by the cost of machine downtime per hour to reduce impact on production.
- Retail: Use advanced rules to prioritize tasks by footfall, ensuring high-traffic stores are serviced first.
- Utilities: Simple rules can prioritize emergency tasks, like power outages affecting critical infrastructure.
Procedure
Result
Dynamic scheduling will use this rule to prioritize tasks based on the criteria you’ve defined, ensuring that high-priority tasks are scheduled appropriately.
What to do next
Create a task unassignment constraint
Dynamic scheduling allows you to define unassignment constraints that prevent certain tasks from being unassigned, even when lower in priority. This feature ensures that critical tasks stay assigned, based on dependencies or urgency.
Before you begin
Role required: admin
About this task
Unassignment constraints help control when tasks can or cannot be unassigned, ensuring that essential tasks remain assigned. This prevents disruptions, especially when tasks have dependencies or are time-sensitive. For example, a task nearing its SLA breach or one that requires sourced parts should not be unassigned, regardless of its relative priority in the task ordering rules.
- Task with downstream: Prevents unassignment if the task has downstream tasks that depend on it.
- Would breach SLA in the next 5 hours: Prevents unassignment if the task's Service Level Agreement (SLA) is expiring within five hours.
- Part sourced: Prevents unassignment if one or more parts required for the task have already been sourced.
Enabling the unassignment option in Dynamic Scheduling configuration allows the system to unassign tasks in favor of more important tasks (as determined by task ordering rules). However, unassignment constraints can prevent specific tasks from being unassigned, even if the task is of lower priority. If a task is unassigned and has downstream tasks, the downstream tasks are also unassigned and added to the pending dispatch queue.
- Healthcare: Prevent unassignment of critical medical equipment maintenance tasks nearing an SLA breach.
- Manufacturing: Block unassignment of tasks that have sourced parts, ensuring resources are used efficiently.
- Utilities: Keep emergency repair tasks assigned when downstream dependencies are involved.
Procedure
Result
This constraint will prevent task unassignment based on the specified conditions, ensuring that tasks are not unassigned even if they have lower importance according to the task ordering rules.
On this page
Related Content
- Example - configure dynamic scheduling to assign preferred technicians to tasks
Automatically assign preferred Field Service agents to work order tasks so the correct technician is assigned to the task. If a Field Service agent isn't a good fit for a task, you can also exclude them.
- Example - configure dynamic scheduling to ignore excluded technicians
Add dynamic scheduling task filters to ensure that work order tasks are not assigned to agents who are excluded from the customer account.
- Assigning work order tasks to agents using dynamic scheduling
Dynamic scheduling increases the efficiency of Field Service Management by automatically assigning tasks to the agents.