---
sourceDocument: Zurich Enable AI
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/intelligent-experiences

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Enable AI

ft:clusterId :

    - platai

bundleId :

    - platai

workflow :

    - Platform


---

# GAF

# Configure Group Action Framework {#ariaid-title1}

Release version: Zurich  
Updated July 21, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read  
Set up Group Action Framework (GAF) to improve the response quality, recall speed, and consistency of AI agents.

## Before you begin

There must be a ml_platform read ACL for GAF to be configured. If there is no read ACL present, you must create it and grant the appropriate role access, such as admin, ml_admin, or sn_aia.admin. This is required for GAF to
access Machine Learning tables and services. If your ACL is not configured correctly, you may see the error "Failed to initialize pipeline: Failed to load message_content dataset. No columns to parse from file."

Verify that your configured LLM provider (such as OpenAI or Anthropic) has valid credentials and available token quota.

Verify that the prerequisite scheduled job for your workflow exists and is properly configured. For example, if you're configuring GAF for HR Service Delivery, navigate to AllSystem DefinitionScheduled Jobs and search for "HR service GAF grouping job". Verify that the Active field is set to true and that the Class field is populated. If either field is empty, the job will not execute.

To access GAF's optimized prediction feature, you can enable AI Search. For more information, see [Setup AI Search for Group Action Framework](https://www.servicenow.com/docs/bG9L4EfjRtLg_Ym3mytZtA "Configure AI Search to enable Group Action Framework (GAF) to improve quality and consistency of agentic AI and generative AI on the ServiceNow AI Platform.").

Role required: sn_aia.admin

## About this task

You can activate GAF to have AI agents use indexed clusters that perform LLM executions on representative records rather than all records. GAF is used by some AI agents and agentic workflows to work optimally. For more information about GAF and how it works, see [Group Action Framework](https://www.servicenow.com/docs/WxsAbLOMORV5HwphirGgew "Group Action Framework (GAF) is an intelligence feature on the ServiceNow AI Platform that groups related records and applies actions to them using LLMs.").

You can have different GAF configurations for different agentic workflows and applications. You must configure each agentic workflow or application separately.  
Important:  
Setting up GAF can take some time, between 10 minutes up to an hour, depending on the number of records in the grouping. The script runs in the background.

## Procedure

1. Navigate to AllSystem DefinitionScripts - Background.
2. Paste the following code into the text area.  
   Do not run the script until the groupSkillID and the actionSkillID variables have values. The values are acquired in the following steps.

       var groupSkillId = ""; 
       var actionSkillId = ""; 
       var topicSkillId = "43bce9e477e012103f075cea5b5a998f"; 
       new sn_gaf.GAFUtils().activate(groupSkillId, topicSkillId, actionSkillId, "run_once");

   The topicSkillId is the same for all GAF setups.
3. In a new browser tab, navigate to the Now Assist Skill Config \[sn_nowassist_skill_config\] table by entering <kbd class="ph userinput">sn_nowassist_skill_config.list</kbd> in the filter navigator.
4. In the Name field, enter <kbd class="ph userinput">*grouping</kbd> and search to see the grouping records that are associated with your agentic workflows and applications.  
5. Open the grouping record for the agentic workflow or application that you want to configure.
6. In the Now Assist Config Var Set related list, open the Grouping inputs record.
7. Confirm that the filters for the grouping include all the records you want to index.  
   If you want to add filters to change what records are included in the GAF setup, do so here. The more records that you include means that you have a longer setup time, but they can help increase the quality of your results. You should have at least 2000 records for successful clustering.  
   Note:  
   Your current scope should be Group-Action Framework to make changes.

8. Return to the Now Assist Skill Config Grouping record and copy the sys_id.  
   You use this sys_id and two other sys_ids in the background script function call.
9. In the browser tab with the background script, paste the sys_id in the script between the quotation marks for the groupSkillId variable.  
   Your `groupSkillId` variable should be in the same format as the `topicSkillId` variable.
10. In the tab with the Now Assist Skill Config record, return to the Now Assist Skill Config table and search for <kbd class="ph userinput">*action strategy</kbd> to find the action strategy skill config for the application.  
    Make sure that the record is for the same application. If you pasted the sys_id of the GAF ITSM grouping, you must open the GAF ITSM action strategy.
11. Open the action strategy record for the application that you're configuring.  
    Note:  
    The Group table field should be left empty. The Group table refers to the table where the grouped records are, not the source table, so the field is populated automatically by the GAF setup job. If this field is populated before you run the script, the GAF job will fail.
12. Copy the sys_id of the action strategy record.
13. In the browser tab with the background script, paste the sys_id in the script between the quotation marks for the actionSkillId variable.  
    Your `actionSkillId` variable should be in the same format as the `groupSkillId` and `topickillId` variables.

14. Run the background script by selecting Run script.  
    Running this background script creates a scheduled job called GAF - Run Offline Flow. You can view the scheduled job on the Scheduled Script Executions \[sysauto_script\] table.

## Result

GAF is configured on your instance for that application and can be used by AI agents to find related records.

## What to do next

To verify that grouping and action outputs have been generated, go to the ML Solution \[ml_solution\] table to check if the clustering solution is running or completed. If it is complete, check the following tables to see
records for groups, clustered records, and down-sampled records per group are present.

* GAF record group \[sn_gaf_record_group\]
* GAF record group detail \[sn_gaf_record_group_detail\]
* GAF action strategy result \[sn_gaf_action_strategy_result\]

You can repeat this procedure for additional agentic workflows and applications.

You may see the error "Failed to initialize pipeline: Failed to load message_content dataset. No columns to parse from file." when trying to configure GAF. This could be because your instance lacks data on the table or
filters you configured excluded records from the table. You can reach out to Now Support for additional assistance if you cannot resolve this error.

*[\>]: and then


