
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
04-03-2025 04:21 PM - edited 08-14-2025 10:08 PM
AI Agent tools – Getting the most out of your agentic workflows
Updated as of Yokohama Patch 6
AI Agent tools are essential to bringing your AI Agents from intelligence to action. See below for tips on how to optimize the usage of AI Agent tools. You can familiarize yourself with the tools available here: https://www.servicenow.com/docs/bundle/yokohama-intelligent-experiences/page/administer/now-assist-a...
General tool settings and tips
- Name and Description: The AI Agent orchestrator will take these fields into account when determining whether and how to use the tool.
- Input: some tools such as Script or Record operation allow you to create an input variable, provide a description, and use it as a reference for your action.
- Supervised/Autonomous: You can determine whether to ask the user for permission to run the action.
- Display Output: This displays the output of the action to the end-user.
- Output transformation strategy: This determines the verbosity of the output. Some tools generate content, such as web search. An output strategy of “None” has no processing and output the raw output which may be JSON or technical jargon. This is preferable if outputting specific records or IDs. On the other end of the spectrum, an output strategy of “Verbose” will generate a longer, more eloquent answer.
All tools can currently only input and output String. For some tools such as Flow Action or Script, you may need to transform inputs and outputs to String for the tool to properly work. As a safety mechanism, you can set the system property: sn_aia.continuous_tool_execution_limit to set how many times maximum a given tool can run. Note that the number of tools (actions) run determine the number of assists consumed.
**NOTE** - In Yokohama Patch 1, when you duplicate an AI Agent, the tools in the newly duplicated agent is still the tool in the original AI Agent! To make sure you don't affect the original Agent's tool, remove the tool and add a new tool. Take a screenshot or notes of the original tool if necessary so that you don't completely start from scratch.
Catalog Item
Add a catalog item to your AI agent. Only conversational catalog items are available. See here for more information on conversational catalog items. For example, a holiday booking agent can ask if a user needs a travel visa, for which you may have a catalog item and can present to the end-user. This is what it looks like in AI Agents.
Conversational topic
Add a Virtual Agent topic to your agent. Only LLM-based Virtual Agent topics (or topic blocks) that are active and published are available to use. Setup topics are not available. Select the topic from the tool drop-down to use.
File Upload
Provide a file that can be read by an AI Agent and used to address users' specialized questions. File formats supported include DOC, PDF, and TXT. You'll need to wait a short time while the document is extracted after saving your tool.
Knowledge Graph
Use a Knowledge Graph, such as the HRSD knowledge graph provided out-of-box, to assist the AI Agent with answering questions such as personnel questions.
Sub-flow/Flow Action
Add a Sub-flow or Flow action from Workflow Studio to your AI Agent. The tool’s description should note what inputs and outputs the flow should expect. Note that the flow must have inputs and outputs as String, or else the AI Agent orchestrator (LLM) will not be able to process it.
Integration Hub spokes are now also AI Agents, see: https://www.servicenow.com/docs/bundle/yokohama-integrate-applications/page/administer/integrationhu.... The tools within the spoke AI Agents have been optimized for AI Agent processing. See below for an example of a Microsoft Entra ID group manager spoke AI Agent and its Flow Action tools.
Now Assist skill
Use an out-of-box or custom Now Assist skill created and published in Skill Kit to use with your AI Agent. The tool’s description should note what inputs and outputs the Skill should expect.
Record operation
Use this tool if you want to create, look up, update, or delete records. To look up records, you need to select the table and the condition to display records. The condition builder is similar to Workflow Studio. Note that only String output type is available; records cards are not available. Select the “Verbose” output strategy for a better formatted list. See below for an example of looking up a list of purchase orders where the business owner is the end-user.
To update records, you have to select the table and condition of which record(s) to update. Then select the field and value(s) to update. You can use Inputs to have the AI Agent ask the end-user which records to update and how. You can then use those inputs in the condition or field values via {{...}}. See the below example, which is an AI Agent updating the quantity of a purchase order line based on a user input of a purchase order line number. Note: Reference fields, or fields not on the table, are not supported.
Script
AI Agents can run scripts, and it can include inputs provided by the end-user or the AI Agent itself. See the below example, which outputs to System Logs a text string plus an Incident number from a previous step from the AI Agent. The input is called using inputs.inc_number.
Result:
Search Retrieval
This uses AI Search/RAG to search for content such as knowledge articles. Select a Search profile, search sources, and fields (such as a KB Short description and Article body) to pass to the AI Agent. For search criteria, it is recommended you use “Hybrid”, which combines semantic and keyword search methods. Semantic indexed fields are based on the fields in your search source’s Indexed sources. If you run into issues, be sure that Now Assist in Search store app has been updated, AI Search is properly configured, search sources are indexed, and that the search profile has been published. Below is an example of search retrieval based on a KB article with citations.
Web Search
As of Yokohama patch 6, web search is automatically configured for use. Web search calls an external LLM and associated tools to generate an answer. The default LLM is Gemini. See this article for how to use Web Search: https://www.servicenow.com/community/now-assist-articles/how-to-set-up-the-web-search-ai-agent-tool-.... Remember to use the Output strategy to determine search result quality and length. Below is an example of a web search result (Output strategy set to "Verbose") with citations.
- 14,997 Views
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
We are trying to use record operation to create a record in the table. It does not allow {{ input }} to input field value.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Victor Chen I can't find any documentation on the ServiceNow Docs site relating to the 'Output Transformation Strategy' which describes the purpose of each option, is this a gap?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Victor Chen The AI Agent is unable to identify the output for the script tool. I'm returning the result (able to log the result) but it always says the result is empty.

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Victor Chen - I'm on a Yokohama Patch 3 instance and don't see the File Upload tool as an option. What am I missing?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
We have implemented an internal search for similar records and knowledge articles but they are presenting the article in number nstead of a link. How can we receive the output of the search with a link instead of the number it found?
do you have any prompt sugestion for that?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Victor Chen great article!
For your script example, I did some testing and made a couple observations that could be helpful to incorporate or at least the below might address @stevenatwork your question!
I have a few examples to illustrate below.
tl;dr if we want the agent to display / pass the output of a script tool to other agents or tools, it will help to explicitly return outputs.
Example #1: Updated prompt instructions for agent / tool instructions (but no changes to script)
- First I tried updating the last instruction for the agent with something like, "1. Send a message to the log. 2. Next, display for the user the message that was logged."
- Result: Unsuccessful
- the agent returned something like 'success' or 'message was successfully logged', but it didn't confirm the exact message. In the agent decision logs, the actual message wasn't available either
Example #2: Updated script to return outputs
- Result: Successful
- agent successfully returned the message that was logged
(function(inputs) {
var logMsg = 'Here are some details about the' + inputs.case_number;
gs.info(logMsg);
var outputs = {};
outputs.log_message = logMsg;
return outputs; //{"log_message":"Here are some details about theHRC0012345"}
})(inputs);
Example #3: Updated script to return random string as output
- For the sake of trying to understand how the agent operated, I wanted to see if the agent 'understood' the difference between what was logged by gs.info and a random string I returned. Understandably, it didn't and it output the random string and the message that was logged.
- Agent response: "The message sent to the system logs for HR case number HRC0012345 is: {"random_message":"this is a random message"}.
- Result: semi-successful
(function(inputs) {
var logMsg = 'Here are some details about the' + inputs.case_number;
gs.info(logMsg);
var outputs = {};
outputs.random_message = 'this is a random message';
return outputs;
})(inputs);
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Thank you @JT8 for the script and detailed explaination. Sorry for the delay in not updating my resolution story.
The issue with my script's was the return value was unexpectedly empty, even though the data clearly existed in the table. After some digging, I realized the actual problem wasn’t the script logic — it was hidden characters in the field value.
Here’s the simplified version of what I did:
if (gr.next()) {
textContent = gr.u_extracted_text || "";
}
return {
"extracted_text": textContent.trim().split('\u200B').join('')
};
The field u_extracted_text had zero-width spaces (\u200B) — invisible characters that were breaking downstream logic and return outputs. A simple .split('\u200B').join('') fixed it instantly!

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Shane Brazeal2 - Be sure to update your store apps and plugins to the latest version. The best way to do this is to update the main Now Assist store app, e.g., 'Now Assist for ITSM', or HRSD.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi @Victor Chen
Are there any server-side APIs available that can be used to trigger AI Agents? We're looking to invoke an AI Agent when a user clicks a UI action button and would appreciate any guidance or support on how to implement this.
Thanks and Regards
Amit Verma
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi how do I invoke agents from virtual chat used in our portals.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
AI Agents are only available within the Virtual Assistants which supports LLM based topics. To enable it, navigate to Conversational Interfaces -> Assistants and enable default Now Assist for Virtual Agent. Refer https://www.servicenow.com/docs/bundle/yokohama-conversational-interfaces/page/administer/now-assist...
Post this, just enable the Display for the AI Agent under the Select Display Tab. Ensure that you provide the roles who can access this AI Agent within the Now Assist for Virtual Agent Assistant. Refer below screenshot:
Thanks and Regards
Amit Verma