Create a task filter

  • Release version: Washingtondc
  • Updated February 5, 2026
  • 11 minutes to read
  • 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.

    By default, the Dynamic Scheduling plugin provides four pre-configured task filters for the Work Order Task Table. You can modify these filters or add new filters to further refine the task list.
    1. Appointment Tasks
    2. Planned Maintenance Tasks
    3. Assignment: Assign Pending Dispatch Work Order Task
    4. 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.

    Ranking Methods: Two ranking methods are provided. For multiple technicians, dynamic scheduling will calculate a score for each technician and then stack rank each technician to determine the best field agent for routing, based on the dynamic scheduling configuration. A stack rank is a ranking of technicians, highest score to lowest score, to determine who is the best fit for that task.
    • 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

    1. Navigate to All > Field Service > Administration > Dynamic Scheduling Configuration.
    2. In the Task Filters related list, click New.
    3. Fill in the fields on the Task Filter form, as necessary.
      Table 1. Task Filter form
      Field Description
      Name The task filter name.
      Active Select to mark the filter as active.
      Execution Order Sets the priority for task filters. The filter with the lowest Execution Order is the first to be applied, creating the initial task list. Filters with higher values are applied next, further refining the task list. For instance, filters for maintenance tasks have a lower order than filters for pending dispatch or appointment tasks.
      Table Select the task table for this dynamic scheduling configuration.
      Conditions Define conditions that identify the specific list of tasks.
      Resource Type Choose the category of resource. This association is used to filter the work order tasks based on the resource type, such as individual users or crews.

      To select an individual user, select User[sys_user]. To select a crew, select Crew [wm_crew].

      Auto Assign Select to automatically assign tasks using this filter. Enabling Auto Assign displays the Auto Assignment Frequency field.
      Auto Assignment Frequency Select to set how often tasks get assigned. Dynamic scheduling can either automatically assign tasks the moment they're ready or do so at specified intervals. You can also manually trigger dynamic scheduling. The frequency options are:
      • Immediate: tasks are assigned as soon as they are ready to be assigned.
      • Interval: tasks which are ready to be assigned are selected at the defined interval and assigned.
      Selecting Interval displays the Auto Assignment Interval field.
      Auto Assignment Interval Set the interval, in minutes, for selecting tasks for auto-assignment. The task filter with a higher Execution Order value must have an interval greater than a task filter with a lower Execution Order value.
    4. In the Select Criteria related list, select the criteria from the matchng criteria list to evaluate and identify suitable agents for each task.
      For more information, see Matching criteria for assigning tasks.
    5. Optional: Adjust the Weight for the selected criteria.
      Note:
      By default, each matching criterion has an assigned weight of 10. You can assign a higher weight to the criteria that are more important or assign a lower weight to the criteria that are less important.
    6. Optional: Select a Ranking Method for the selected criteria.
      • More is better: This method prefers a higher value for the criterion. For example, when determining agent ranking, more availability would be considered better.
      • Less is better: A lower value is preferred. For example, fewer assigned cases are better when determining agent ranking.
    7. Click Save.

    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

    Create a task ordering rule

    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.

    Matching criterion are used by other ServiceNow applications. For example, the 'Assigned Cases' matching criteria applies to the Case [sn_customerservice_case] table and is used by Customer Service Management (CSM). Any criterion can be copied, renamed, and configured for use against other tables, such as the work order task table. Be sure to test any configuration changes thoroughly. There are three types of matching criteria:
    • 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.
    Note:
    Workforce optimization schedule and personal events aren't supported when using matching criteria.
    Table 2. Matching criteria for task filters
    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
    As part of selecting the matching criteria, you can specify the following settings for each individual criterion:
    • ranking and display usage
    • ranking method
    • ranking weight
    • threshold
    • active/inactive

    Ranking and display usage

    In the Use for field, specify how you want that matching criterion to be used:
    • 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

    There are two ranking methods:
    • 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

    Dynamic Scheduling adds the values of the matching criteria and their respective weights and uses these values to determine the overall agent ranking.
    1. Calculate a number for each criterion.
    2. Multiply that number by the criterion weight.
    3. Divide the result by the total of all criterion.
    4. Repeat for each criterion and add the results.
    The following example shows how the ranking is determined for an agent with these matching criteria values:
    • Matching Skills with Mandatory Skills Support: 5/6
    • Availability Today: 7 hours
    • Assigned Cases: 2
    Calculations:
    • 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.53

    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.