logo

NJP

Predict Service and Transfer HR Cases Agentic Workflow – Troubleshooting Guide

New article articles in ServiceNow Community · Oct 01, 2026 · article

 

1. What this agentic workflow does

 

The Predict service and transfer HR cases agentic workflow analyzes a newly created HR case and automatically routes it to the most appropriate HR service. It is designed to triage the high volume of general-inquiry HR cases that land on the wrong (or a generic) HR service, so that downstream routing, assignment rules, SLAs and reporting operate on a correctly classified case.

It is the first of three out-of-the-box agentic workflows that make up the “Resolve HR Case” flow in Now Assist for HR. Once this workflow has stamped the correct HR service, the Resolve non-critical HR cases workflow and Resolve critical HR cases workflow can run on the case.

 

End-to-end flow

 

Step

|

What happens

|
|

  1. An HR case is created

|

Any intake channel inserts a record on sn_hr_core_case (or a COE table). The OOB trigger in AI Agent Studio fires; OOB the trigger condition is that Transferred from is empty (i.e. not already transferred).

|
|

  1. Read case context

|

The Record field value prediction AI agent reads the case Short description and Description (via the Get the record metadata tool).

|
|

  1. Predict HR service

|

The agent calls the HR Case Service Prediction skill, which uses the Group Action Framework (GAF) model pre-trained on historical closed HR cases. GAF finds the HR-service cluster the case best matches and returns the predicted HR service.

|
|

  1. Transfer the case

|

The HR Case Transfer AI Agent transfers the case to the predicted HR service, using the mode set in the sn_hr_core.reclassify_default_transfer property (same case number vs. new case number). Note that either selection - retaining the existing case number or generating a new one - still results in a cancelled case being created.

|

 

2. Components, agents, skills and tools

 

Understanding which layer each component lives in is the key to troubleshooting: the workflow can fail  when any layer below it is inactive, untrained or blocked.

 

2.1 AI agents (AI Agent Studio)

 

AI agent

|

Role

|

Key tools

|
|

Record field value prediction AI agent

|

Predicts the HR service of the incoming case.

|

Get the record metadata; HR Case Service Prediction skill (field predictor).

|
|

HR Case Transfer AI Agent

|

Transfers the case to the predicted HR service, honouring the HR transfer mode property.

|

HR Service Delivery AI Agent Collection Scripted REST resource and Script Include (AI Agents for HR Service Delivery scope).

|

 

2.2 Now Assist skills (sn_nowassist_skill_config)

 

The prediction is powered by a chain of GAF skills plus one HR field-prediction skill. All five must be Active.

 

Skill

|

GAF layer

|

What it does

|
|

HR GAF Group

|

Grouping skill

|

Clusters historical closed HR cases into HR-service groups using ML (KNN over embedding vectors). This is the skill GAF training is run against and the skill whose configuration controls the training source query.

|
|

GAF Topics

|

Topic-labeling skill

|

Applies LLM-generated, human-readable names to each cluster. Platform-provided; its sys_id (43bce9e477e012103f075cea5b5a998f) is a constant in the GAF activation script.

|
|

GAF HR Action Strategy

|

Action strategy skill

|

Selects representative records from each cluster for deeper LLM processing.

|
|

GAF HR Action Mapper

|

Action mapper skill

|

Runs LLM inference on the representative records to extract cluster-level insight (e.g., which HR service the cluster represents).

|
|

GAF HR Action Reducer

|

Action reducer skill

|

Combines individual record summaries -created by the Action Mapper skill - into a single, unified summary for an entire group of related records.

|
|

HR Case Service Prediction

|

Consumer skill

|

Field-prediction skill invoked by the Record field value prediction AI agent. Calls sn_gaf.GAFPrediction.predictGroup() on the new case against the HR GAF Group model and maps the winning cluster to an HR service.

|

 

Skill applicability is controlled by sn_nowassist_skill_config_applicability records, which map a skill config to a workflow (use case) name. This matters when cloning the OOB workflow (see Issue 5).

 

2.3 Group Action Framework (GAF) runtime

 

Component

|

Table / location

|

Purpose

|
|

HR service GAF grouping job

|

All > System Definition > Scheduled Jobs

|

Run once with admin role after GAF configuration; generates the GAF – Run Offline Flow job in Global scope.

|
|

GAF – Run Offline Flow

|

sysauto_script (Name contains GAF)

|

The clustering/training job. Must reach 100% progress.

|
|

Cluster output

|

sn_gaf_record_group / sn_gaf_group_record

|

One row per cluster with LLM-generated description, group skill and group size. Empty = clustering has not run or produced nothing.

|
|

Record-to-group mapping

|

sn_gaf_record_group_detail

|

Maps each historical case (document_id) to its cluster.

|

 

3. Prerequisites

 

The following plugins must be installed on the target instance, and Now Assist for HRSD should be updated to the latest available Store version.

  • Predictive Intelligence (com.glide.platform_ml) – ML infrastructure used by GAF training.
  • Group Action Framework (sn_gaf) – clustering and prediction backend.
  • AI Agents for HR Service Delivery – HR agent collection, tools, Scripted REST resources and Script Includes.
  • ServiceNow Otto for HR Service Delivery (HRSD) / Now Assist for HRSD – provides the agentic workflow, agents and triggers.

 

One-time setup after installation

  1. Configure GAF and run GAF training against HR GAF Group.
  2. Navigate to All > System Definition > Scheduled Jobs and run HR service GAF grouping job as admin. This generates GAF – Run Offline Flow in the Global scope.
  3. Run GAF – Run Offline Flow and monitor progress to 100%.
  4. In AI Agent Studio, open the workflow, confirm both agents are active, confirm the trigger is active, then Save and test.

4. Troubleshooting guide

 

Work through the issues in order. Issues 1–3 cover the GAF/skill layer (most common), Issue 4 covers cross-scope access, and Issue 5 applies only when the OOB workflow has been cloned or customized.

 

Issue 1 – One or more required skills are inactive

 

Symptom: The prediction agent returns error or no HR service.

Cause: One or more of the skill configs in sn_nowassist_skill_config is inactive.

Resolution: Navigate to sn_nowassist_skill_config.list, open each of the following skills, and in the Now Assist Skill Config Status section set the status to Active:

  • HR GAF Group
  • GAF HR Action Strategy
  • GAF Topics
  • GAF HR Action Mapper
  • HR Case Service Prediction

 

Issue 2 – GAF job incomplete or clustering did not run

 

Symptom: The prediction agent returns error or no HR service.

Cause: The GAF – Run Offline Flow job has not completed, or completed without producing clusters.

Resolution:

  1. Open the GAF – Run Offline Flow job (or its GAF ML Training Job) and confirm progress reaches 100%.
  2. Navigate to sn_gaf_group_record (or sn_gaf_record_group) and filter on the grouping skill (HR GAF Group). Records with populated descriptions and group sizes confirm the clustering actually ran successfully.
  3. If the table is empty, click Execute Now on the GAF – Run Offline Flow record, wait several minutes and re-check. 

 

Issue 3 – Clustering succeeds but prediction fails (model artifact exceeds size limit)

 

Symptom: GAF clustering job succeeds and clusters exist, but prediction on a new case fails. The execution plan/log shows an empty response from the inference call, followed by a cascade of errors: empty JSON parse → “unable to get group id” → TypeError. 

Cause: The KNN model artifact produced by clustering exceeds the size ceiling on ML training/prediction flows (note this is the ML flow limit, not the generic platform attachment limit). 

Diagnosis: Run the following in Scripts – Background against a new, not-yet-clustered case to confirm whether prediction can run at all:

 

var gaf = new sn_gaf.GAFPrediction();

var result = gaf.predictGroup("<new_record_sys_id>", "<groupSkillId>");

gs.info("GAF Prediction Result: " + JSON.stringify(result));

 

An empty or error result with clusters present points to the artifact size. Then check size_bytes on the model’s sys_attachment record against the ceiling.

Resolution: Shrink the artifact rather than raise the limit. Raising the limit is risky because the call is already timing out and retrying at that payload size.

  1. Navigate to Admin → Now Assist Admin → Now Assist Skills → Platform → Other → HR GAF Group → Edit Configuration.
  2. Scope the grouping skill’s source query to a bounded recent window (for example, closed cases from the last N months). 
  3. Re-run GAF training / GAF – Run Offline Flow and confirm the new artifact size, then re-test prediction with the script above.

 

Issue 4 – Blocked by Restricted Caller Access (RCA)

 

Symptom: Agent runs terminate or fail on the first few attempts; the execution plan shows the tool call denied or returning nothing when the agent reads case metadata or calls the HR transfer API.

Cause: Cross-scope calls from the AI Agents scope into Human Resources: Core are generated as RCA privilege requests in Requested state and are blocked until approved.

Resolution: Navigate to System Applications > Application Restricted Caller Access (or sys_restricted_caller_access.list) and change the following privileges from Requested to Allowed (target scope Human Resources: Core):

  • Tool: Get the record metadata (Platform AI Agents Tool → Human Resources: Core).
  • AI Agents for HR Service Delivery / HR Service Delivery AI Agent Collection Scripted REST resource and Script Include.

Note: You may need to run the test case multiple times, as the first few runs may terminate or fail when they encounter the RCA restriction. Each failed run can generate a new RCA record, so re-check the list after each attempt.

 

 

Issue 5 – Cloned/customized workflow: field prediction does not run

 

Symptom: The OOB workflow works, but a duplicated (customized) version never completes field prediction.

Cause: Skill applicability is keyed to the workflow (use case) name. The cloned workflow has a new name that no sn_nowassist_skill_config_applicability record references, so the HR Case Service Prediction skill is not applicable to it.

Resolution (recommended for single-workflow use cases) – update the existing applicability record:

  1. Navigate to Now Assist > Administration > Skill Configs, or go directly to sn_nowassist_skill_config_applicability.
  2. Locate the applicability record for the skill config that handles field prediction for the relevant use case (e.g., the “classify tasks” or HR field predictor skill config). Direct navigation: https://<instance>.service-now.com/sn_nowassist_skill_config_applicability_list.do?sysparm_query=skill_config.nameLIKEclassify
  3. Open the record and update the Workflow Name (use case name) field to match the cloned workflow’s use case name exactly, in lowercase. Example: if the cloned workflow is named “My Custom HR Predict Workflow”, enter my custom hr predict workflow.
  4. Save the record.
  5. Test the cloned workflow in the AI Agent Studio playground and verify that field prediction now completes successfully.

Note: If both the OOB and the cloned workflow must run, create an additional applicability record instead of editing the existing one.

 

6. References

View original source

https://www.servicenow.com/community/servicenow-otto-articles/predict-service-and-transfer-hr-cases-agentic-workflow/ta-p/3602133