Assignment & Routing Pack
Bugs - Status
⚙ Technical Requirements
ServiceNow scoped application / admin access
Relevant ServiceNow product/plugins for the selected pack capability
Validate in sub-production before promoting through update sets or application repository
Automation Readiness: High — The evidence strongly indicates routing inefficiencies at intake, supported by a well-populated 'Project' field suitable for rule-based automation.
Assignment & Routing Pack — 4 rules
sn-route-001
Automated Bug Routing by Project
Decision Table Priority: Critical Effort: Medium
To accelerate initial bug assignment by automatically routing bugs to the correct development team based on the 'Project' field, bypassing manual triage queues.
Why this pack: This rule directly addresses initial task assignment, a core function of the Assignment & Routing Pack, by using a data-driven approach to determine the correct group.
Trigger
Bug task is created.
Conditions
·Bug.Project IS NOT EMPTY
Actions
·Set Assignment Group based on a lookup of the Bug.Project field.
Evidence used
·Field usage for 'Project' shows high concentrations in specific teams like 'Keycloak' (14.6%) and 'JBoss Enterprise Application Platform' (9%).
·Multiple intake states like 'Start - Triage' (14.56%), 'Start - Inbox' (7.75%), and 'Start - New' (36.39%) indicate a bottleneck and opportunity for automated dispatch.
·Variants like 'Triage -> Closed' (4.54%) show that some tickets can be handled quickly if they reach the right context owner immediately.
ServiceNow implementation
Target table
·task
Configuration area
·Flow Designer
Configuration trigger
·Record Created on the target Bug table.
Configuration conditions
·Trigger Conditions: Project is not empty
Implementation steps
·Create a new Decision Table named 'Bug Project to Assignment Group Mapping'.
·Define Input column: 'Project' (Type: String). Define Result column: 'Assignment Group' (Type: Reference to sys_user_group).
·Populate the decision table with rows mapping Project names (e.g., 'Keycloak', 'Infinispan') to their corresponding Assignment Groups.
·In a new Flow Designer flow, use the 'Look Up Decision Table' action, passing the bug's 'Project' field as the input.
·Use the result from the decision table to populate the 'Assignment Group' field on the bug record using an 'Update Record' action.
Fields used
·project
·assignment_group
Test cases
·Create a bug with Project = 'Keycloak'. Verify it is assigned to the 'Keycloak Development' group as defined in the decision table.
·Create a bug with a Project that is not in the decision table. Verify it is not assigned by this flow and follows the default assignment path.
Rollback notes
·Deactivate the Flow Designer flow responsible for the routing.
Requirements / prerequisites
·A clear mapping of 'Project' values to ServiceNow Assignment Groups must be defined and maintained.
·Flow Designer plugin (com.glide.hub.flow_designer) must be active.
sn-route-002
Establish Dedicated Bug Triage Queue
Assignment Rule Priority: High Effort: Low
To create a single, managed queue for all new bugs that are not automatically routed, ensuring no bug is left unassigned and streamlining the manual triage process.
Why this pack: This rule establishes a foundational assignment process for unclassified work, which is a key strategy for ensuring complete routing coverage and accountability.
Trigger
Bug task is created.
Conditions
·Assignment Group IS EMPTY
·(Optional) Run after the 'Automated Bug Routing by Project' flow.
Actions
·Set Assignment Group to 'Bug Triage'.
Evidence used
·Process starts in multiple unassigned states: 'Start - Triage' (14.56%), 'Start - Inbox' (7.75%), 'Start - New' (36.39%).
·The self-loop transition 'New -> New' (6.19% of tasks) suggests tickets are sitting in a queue, possibly being reassigned or waiting for information because they were never triaged correctly.
·A high number of states classified as 'intake' or 'queue' (23 total) indicates process complexity at the front end that a single dispatch queue can simplify.
ServiceNow implementation
Target table
·task
Configuration area
·Assignment Rule
Configuration trigger
·On insert of a new bug record.
Configuration conditions
·Assignment group | is | empty
Implementation steps
·Create a new assignment group named 'Bug Triage'.
·Navigate to System Policy > Rules > Assignment.
·Create a new Assignment Rule for the target Bug table.
·Set the condition to 'Assignment group is empty'.
·In the 'Assign To' tab, set the 'Assignment group' to 'Bug Triage'.
·Set the 'Order' of this rule to run after any more specific, automated assignment rules (e.g., set Order > 100).
Fields used
·assignment_group
Test cases
·Create a new bug with a blank Project and blank Assignment Group. Verify it is routed to the 'Bug Triage' group.
Rollback notes
·Deactivate the Assignment Rule.
Requirements / prerequisites
·A new group named 'Bug Triage' must be created with active members responsible for triaging incoming bugs.
sn-route-003
Intelligent Routing for Uncategorized Bugs
Predictive Intelligence Priority: High Effort: High
To reduce manual triage effort and mis-routes by using machine learning to predict the correct 'Project' or 'Assignment Group' based on the bug's short description.
Why this pack: This provides an advanced, intelligent routing capability to improve first-assignment accuracy for complex or unstructured requests, directly reducing assignment churn.
Trigger
Bug task is created and assigned to the 'Bug Triage' group.
Conditions
·Bug.Assignment Group = 'Bug Triage'
Actions
·Predict and set 'Project' and/or 'Assignment Group' based on 'Short Description'.
·Optionally, set the prediction as a suggestion rather than a direct assignment, pending Triage team review.
Evidence used
·The rework loop 'New -> New' (6.19% of tasks, also seen in Variant 19) indicates tickets are being re-evaluated, often due to incorrect initial categorization or assignment.
·The large number of Projects (over 10 are listed, suggesting a long tail) makes it difficult to maintain a complete set of static rules, creating a perfect use case for a predictive model.
ServiceNow implementation
Target table
·task
Configuration area
·Predictive Intelligence
Configuration trigger
·Record updated where Assignment Group changes to 'Bug Triage'.
Configuration conditions
·Assignment group | changes to | Bug Triage
Implementation steps
·Navigate to Predictive Intelligence > Classification > Solution Definitions.
·Create a new solution to predict the 'Assignment Group' field on the Bug table.
·Use 'short_description' as the primary input field.
·Use a filtered dataset of historical, correctly assigned bugs (at least 10,000-30,000 records) to train the classification model.
·Once the model is trained and tuned, create a Business Rule or Flow that triggers when a bug is assigned to the 'Bug Triage' group.
·The rule/flow will call the PI prediction API. If the confidence score is high (e.g., >85%), it automatically updates the Assignment Group and moves the bug out of the triage queue.
Fields used
·short_description
·assignment_group
·project
Test cases
·Create a new bug with a short description like 'Keycloak login fails with SAML'. Verify PI predicts the 'Keycloak Development' group with high confidence.
Rollback notes
·Deactivate the Business Rule or Flow that calls the PI prediction service.
Requirements / prerequisites
·Predictive Intelligence plugin (com.glide.platform_ml) must be active.
·A large, clean dataset of historical bug records with accurately populated short descriptions and assignment groups is required for training.
sn-route-004
Automated Reassignment for Reopened Bugs
Flow Designer Priority: Medium Effort: Medium
To ensure accountability and faster resolution for failed fixes by automatically reassigning a reopened bug back to the group and individual that last resolved it.
Why this pack: This is a specific reassignment guardrail designed to handle an exception path (rework), ensuring routing integrity and reducing delays caused by manual reassignment.
Trigger
Bug state changes to 'Reopened'.
Conditions
·State changes from 'Closed' or 'Resolved' to 'Reopened'
Actions
·Look up the last assignee who set the state to 'Resolved' or 'Closed'.
·Reassign the bug to the previous Assignment Group and Assignee.
·Add a work note indicating the automatic reassignment.
Evidence used
·The 'Closed -> Reopened' transition is present for 65 tasks (3.07%), representing a significant rework pattern.
·Without automated routing, these reopened tasks risk falling into a general queue, causing delays and losing the context held by the previous assignee.
ServiceNow implementation
Target table
·task
Configuration area
·Flow Designer
Configuration trigger
·Record Updated on the target Bug table.
Configuration conditions
·State | changes to | Reopened
Implementation steps
·Create a new Flow triggered by a Bug update where State changes to 'Reopened'.
·Add an action to 'Look Up Records' on the Audit [sys_audit] table.
·Filter for records where Document Key is the sys_id of the triggering bug, Table Name is the bug table, Field Name is 'state', and New Value was 'Resolved' or 'Closed'. Order by Created descending and get the first record.
·Use the 'User' field from the audit record found in the previous step to get the last resolver.
·Add an 'Update Record' action for the triggering Bug. Set 'Assigned to' to the user from the audit record. Set 'Assignment Group' to that user's primary group or the bug's previous assignment group.
·Add a final action to 'Add Work Note' stating: 'Bug automatically reassigned to the last resolver upon being reopened.'
Fields used
·state
·assigned_to
·assignment_group
·work_notes
Test cases
·Resolve and Close a bug assigned to User A in Group X.
·As a different user, change the state of the bug to 'Reopened'.
·Verify the bug is automatically reassigned back to User A and Group X, and a work note is added.
Rollback notes
·Deactivate the Flow Designer flow.
Requirements / prerequisites
·Auditing must be enabled for the 'state' field on the target Bug table.
·Flow Designer plugin must be active.