Create a task filter
Task filters allow you to define specific criteria for evaluating and identifying suitable agents for each task. You can also enable or disable auto-assignment and choose the frequency for task assignments.
Before you begin
Role required: admin
About this task
Task Filters can be configured to segment tasks based on attributes like skill requirements, geographical location, and priority. This aids in narrowing down the most suitable tasks for each field agent, ensuring efficient task allocation.
- Appointment Tasks
- Planned Maintenance Tasks
- Assignment: Assign Pending Dispatch Work Order Task
- Reassignment: reassign unassigned task
All Work Order Tasks Filter: The Dynamic Scheduling plugin includes an "All Work Order Tasks" filter that identifies all active work order tasks. This filter serves as a starting point for task assignments.
- More is better: A higher value is preferred. For example, more availability is better when determining the agent ranking.
- Less is better: A lower value is preferred. For example, fewer assigned cases (or tasks) are better when determining agent ranking.
Procedure
Result
The task filter is ready for use in the dynamic scheduling process, helping optimize task assignments based on your defined criteria and preferences.
Dynamic scheduling adds the values of the matching criteria and their respective weights and uses these values to determine overall agent ranking using the following formula.
(Criteria_1 rating x Criteria_1 weight) / total criterion weight + (Criteria_2 rating x Criteria_2 weight) / total criterion weight + (Criteria_3 rating x Criteria_3 weight) / total of criterion weight = agent rank/score.
What to do next
Dynamic Scheduling with assignment types
Learn how Dynamic Scheduling behaves when combined with Auto Assignment and Immediate Assignment settings, exploring different configurations and their resulting outcomes.
Dynamic scheduling with auto assignment and immediate assignment
The following table helps you to understand the process of Dynamic scheduling when enabled in the configuration.
| Dynamic scheduling | Auto assignment | Immediate assignment | Result |
|---|---|---|---|
| Enabled | Enabled | Enabled | Dynamic Scheduling runs immediately and the work order asks are assigned to field agents automatically |
| Enabled | Enabled | Disabled | Dynamic Scheduling runs and work order tasks are added to a scheduled job batch, and tasks are assigned to agents at the specified interval. |
| Enabled | Disabled | Disabled | Dispatcher invokes Dynamic Scheduling to assign work order asks to agents. The tasks are returned to the dispatcher for confirmation |
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.
| Criteria | Description | Type | Applies to [Table] |
|---|---|---|---|
| Agents with most parts | Identify agents with the most number of required parts using dynamic scheduling. | Scripted | Task |
| Assigned Cases | Calculates the workload based on all the assigned cases (all priorities P1, P2, P3, etc.). The agent's overall rank decreases with more assigned cases. The more cases assigned, the lower the contribution to the agent's overall rank. | Aggregate | sn_customerservice_case |
| Availability Today | Determines availability based on the schedule, overlap timezone, and current time. Availability is calculated based on the agent's work schedule, and personal time off. The more availability an agent has, the higher the contribution to the agent's overall rank. | Scripted | Task |
| Consistent Assignment for SM tasks | Assigns work order tasks with the same parent work order to the same agent. Ensures assignment consistency across all matching agents. | Scripted | sm_task |
| Current Distance From Task | Considers an agents distance from the task location. | Scripted | Task |
| Distance from Task | Evaluates the agent's distance from the task location. | Scripted | Task |
| Distance from task with radius exclusion | Ranks agents based on the nearest location to perform the job, excluding those outside the defined radius. | Scripted | Task |
| Filter out off-shift agents | Excludes agents who are not available based on schedule or having time-off events. | Scripted | wm_task |
| Ignore Excluded Technician | Prevents automatic assignment of excluded technicians to work order tasks associated with specific accounts. Excluded technicians won’t be assigned if the work order task is associated to an Account for which the technician has been excluded. | Scripted | wm_task |
| Ignore Rejected Technician | Avoids reassignment of tasks to technicians who have recently rejected the same task. The system property work.management.rejected.technician.duration determines the time period from when a technician rejected a task to when that task can be automatically reassigned to the same technician. | Scripted | wm_task |
| Last Assigned | Prioritizes agents based on their most recently assigned work to balance the workload. For the sake of balancing assigned work, prioritized the agent based on the last assigned work. | Scripted | task |
| Matching Mandatory Parts For Dynamic Scheduling | Assigning only the agents with the mandatory parts. Ranks agents based on the availability of mandatory parts required for the job. | Scripted | task |
| Matching Mandatory Skills For Dynamic Scheduling | Ranks agents based on the availability of mandatory skills and optional skills defined in Task Skills that are required for the task. The more skills that match, the higher the contribution to the agent's overall
rank. Note: If using the mandatory skills feature, use the Matching Skills - Mandatory Skills Support criterion to match agents with the mandatory skills identified for a case. |
Scripted | task |
| Matching Skills | Evaluates availability based on the skills matching the task requirements. The agent's rank increases with more matching skills. | Scripted | task |
| Matching Skills Level Gap For Dynamic Scheduling | Ranks agents based on the number of skills and skill levels, using the "less is better" method. Prioritize agents with the sufficient skill level over agents that are over-skilled for the task. | Scripted | task |
| Prioritize Preferred Technicians | Assigns tasks based on technicians who are most preferred for working on a customer account. | Scripted | wm_task |
| Radius Exclusion | Ranks agents based on the defined radius, excluding those outside the radius. | Scripted | task |
| Rank Preferred Technicians | Identifies technicians who are most preferred for working on a customer account using dynamic scheduling. | Scripted | task |
| Timezone Overlap | Ranks agents based on their timezone overlap with the task location. | Scripted | task |
| Matching mandatory crew skills for dynamic scheduling Note: Needs Field Service Crew Operations plugin (com.snc.fsm_crew_scheduling) to be activated. |
Match mandatory skills for a crew task to crews with agents that have those skills. | Scripted | wm_crew |
| Crew skill level gap for dynamic scheduling Note: Needs Field Service Crew Operations plugin (com.snc.fsm_crew_scheduling) to be activated. |
Match mandatory skill levels for a crew task, to crews with agents that have skills at the required level. | Scripted | wm_crew |
| Crew Matching Skills Note: Needs Field Service Crew Operations plugin (com.snc.fsm_crew_scheduling) to be activated. |
Match crews with the skills listed in the work order task, and assign the task to that crew. | Scripted | wm_crew |
| Matching crew skills for task resource requirements Note: Needs Field Service Crew Operations plugin (com.snc.fsm_crew_scheduling) to be activated. |
Match crews with the skills listed in the resource requirements, and assign the task with those resource requirements to that crew. | Scripted | wm_crew |
| Crew Distance from Task Note: Needs Field Service Crew Operations plugin (com.snc.fsm_crew_scheduling) to be activated. |
Evaluates the crew's distance from the task location. | Scripted | wm_crew |
- 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
((0.666 x 10) / Total of criterion weight (10+10+10)) + ((0.875 x 10) / Total of criterion weight (10+10+10)) + ((0.0769 x 10) / Total of criterion weight (10+10+10))(6.66 / 30) + (8.75 / 30) + (0.769 / 30)0.222 + 0.291 + 0.0256 = 0.53This 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.