
Beyond the Core: A Developer's Guide to ServiceNow AI Agent Tables & Ecosystem
ServiceNow AI Agents offer powerful capabilities for workflow automation by enabling intelligent digital assistants. For developers aiming to fully leverage this technology, understanding the underlying data model is essential. While the core tables define the agent itself, a broader ecosystem of related tables governs skills, AI integration, data, governance, and analytics. This post provides a comprehensive look at both the core structure and the wider landscape.
The Core Trio: Use Case, Agent, and Tools
As a foundation, three primary tables define the fundamental structure of AI Agents:
sn_aia_usecase
(AI Agent Use Case): Defines the why – the specific business problem or automation opportunity.- Key Fields:
name
,description
(the problem statement),team
,sys_domain
.
- Key Fields:
sn_aia_agent
(AI Agent): Defines the who and how – the intelligent actor itself, its core logic, and permissions.- Key Fields:
name
,description
,instructions
(critical for behavior),strategy
,run_as
(primary security context),role
,sys_domain
.
- Key Fields:
sn_aia_agent_tool_m2m
(AI Agent Tool M2M): Defines the what – connecting agents to the specific tools (skills, actions) they can utilize and how they use them.- Key Fields:
agent
(link to sn_aia_agent),tool
(link to the skill/action),inputs
,output_transformation_strategy
,execution_mode
,run_as
(tool-specific security context),max_auto_executions
,sys_domain
.
- Key Fields:
A solid grasp of these three tables is the starting point for any AI Agent development or debugging task.
Expanding the View: Key Table Categories in the AI Agent Ecosystem
AI Agents don’t operate in isolation. They integrate with various parts of the Now Assist platform. Understanding the categories of tables involved provides a more complete picture for development and configuration. The ServiceNow AI Agents API Reference provides valuable context for these areas:
-
Now Assist Agent Core: This confirms the foundational nature of
sn_aia_agent
,sn_aia_agent_tool_m2m
, andsn_aia_usecase
. -
Now Assist Skill Kit Integration: Agents often execute skills built with the Skill Kit. This involves tables related to:
- Skill Definitions (e.g., potentially
sn_skill_definition
,sn_nowassist_skill
): Defining the skill’s purpose, inputs, outputs, and execution logic. - Skill Configurations & Prompts: Settings specific to how a skill operates, including any prompts used for generative AI capabilities within the skill.
- Understanding these tables is key to using standard skills or developing custom ones.
- Skill Definitions (e.g., potentially
-
Generative AI Controller Integration: When agents leverage LLMs, tables related to the Generative AI Controller come into play, managing:
- Provider Configurations (e.g., potentially
generative_ai_provider_config
): Settings for connecting to different LLM providers (OpenAI, Azure OpenAI, etc.). - Credentials & API Settings: Secure storage and configuration for accessing external AI services.
- Developers need awareness of these settings for troubleshooting LLM interactions.
- Provider Configurations (e.g., potentially
-
Now Assist Data Kit: Used primarily during the development and evaluation of custom skills, the Data Kit involves tables for:
- Datasets (e.g., potentially
now_assist_data_kit_dataset
): Managing data for training, testing, and evaluation. - Ground Truth & Synthetic Data: Storing reference data and generated data used in the development lifecycle.
- Familiarity is crucial for data-driven skill development and tuning.
- Datasets (e.g., potentially
-
AI Governance: Responsible AI deployment requires governance structures, reflected in tables for:
- Approval Workflows (e.g., related to
sys_approval_approver
): Managing the process for deploying or updating AI Agents/Skills. - Policies & Audit Trails (e.g., potentially
ai_governance_policy
,sys_audit
- Natural Language Understanding (NLU): For agents interacting via natural language, integration with ServiceNow NLU is common, utilizing tables for:
- NLU Models (e.g.,
nlu_model
): The trained models used for understanding user input. - Intents & Entities: Defining the user’s goals and the key pieces of information within their requests.
- Understanding these is vital for building effective conversational interactions.
- Approval Workflows (e.g., related to
-
Now Assist Analytics: Monitoring performance relies on analytics data stored in tables covering:
- Usage Metrics & Performance Indicators (e.g., potentially
now_assist_analytics_data
): Tracking how often agents/skills are used and how well they perform. - Skill-Specific Performance: Detailed metrics on the success rates and outcomes of individual skills.
- Developers use this data to identify areas for optimization.
- Usage Metrics & Performance Indicators (e.g., potentially
-
Task Intelligence: AI Agents often interact with core ServiceNow processes. While not a distinct category in the reference provided, understanding related task tables (e.g.,
task
,incident
,problem
,change_request
) is implicit, as agents frequently automate actions related to these records.
Visualizing the Extended Relationships
This diagram provides a conceptual overview of how the core AI Agent tables interact within the broader Now Assist ecosystem:
--- title: ServiceNow AI agent Tables --- classDiagram class sn_aia_usecase { String description String base_plan String team String sys_domain String name } class sn_aia_agent { String instructions String strategy String name String description String run_as String role String sys_domain } class sn_aia_agent_tool_m2m { String description String output_transformation_strategy String execution_mode String tool String run_as String name String inputs String agent Integer max_auto_executions String sys_domain Boolean active Boolean display_output } class sn_aia_tools_execution { String execution_plan_id String sys_domain String status String error_message String response Boolean is_error String mode String request } class sn_aia_execution_plan { String state String related_task_record String conversation String team String context String related_task_table String sys_domain String status String objective String usecase } class sn_aia_tool { String target_document_table String input_schema String target_document String name String sys_domain Boolean active String type String script String description } class sn_aia_team_member { String sys_domain String team String agent } class sn_aia_message { String execution_plan String role String name String message String message_sequence String sys_domain String user_message } class sn_aia_trigger_configuration { String objective_template String target_table String sys_domain String condition String channel Boolean active String usecase String business_rule Boolean show_notifications String run_as } class sn_aia_agent_config { String agent Boolean active String proficiency String sys_domain } class sn_aia_team { String name String description String sys_domain } class sn_aia_strategy { String sys_domain String name String topic } class sn_aia_execution_task { String description String execution_plan String metadata Integer order String type String target_document_table String sys_domain String status String target_document_id String task_dependencies String output String parent } sn_aia_agent *-- sn_aia_strategy : strategy sn_aia_agent *-- sys_user : run_as sn_aia_agent_tool_m2m *-- sn_aia_tool : tool sn_aia_agent_tool_m2m *-- sys_user : run_as sn_aia_agent_tool_m2m *-- sn_aia_agent : agent sn_aia_tools_execution *-- sn_aia_execution_plan : execution_plan_id sn_aia_execution_plan *-- sys_cs_conversation : conversation sn_aia_execution_plan *-- sn_aia_team : team sn_aia_execution_plan *-- sn_aia_usecase : usecase sn_aia_team_member *-- sn_aia_team : team sn_aia_team_member *-- sn_aia_agent : agent sn_aia_message *-- sn_aia_execution_plan : execution_plan sn_aia_trigger_configuration *-- sys_cs_channel : channel sn_aia_trigger_configuration *-- sn_aia_usecase : usecase sn_aia_trigger_configuration *-- sys_script : business_rule sn_aia_agent_config *-- sn_aia_agent : agent sn_aia_usecase *-- sn_aia_team : team sn_aia_strategy *-- sys_cs_topic : topic sn_aia_execution_task *-- sn_aia_execution_plan : execution_plan sn_aia_execution_task *-- sn_aia_execution_task : parent
Note: Table names like sn_aia_agent_tool_m2m
, generative_ai_provider_config
, etc., are representative examples of tables within these categories. Actual table names may vary based on specific features and versions. Refer to your instance schema and the ServiceNow documentation for exact names.
This expanded view emphasizes that while the core tables are central, effective AI Agent development often requires understanding their interactions with Skills, Generative AI configurations, Governance policies, NLU models, Analytics data, and potentially Data Kit resources.
Take aways: Embracing the Ecosystem
Mastering ServiceNow AI Agents means looking beyond just the sn_aia_usecase
, sn_aia_agent
, and sn_aia_agent_tool_m2m
tables. Developers need awareness of the surrounding ecosystem – how agents leverage skills, integrate with LLMs, adhere to governance, utilize NLU, generate analytics, and interact with platform data.
By understanding these interconnected components and consulting official resources like the AI Agents API Reference, you can build more robust, integrated, and manageable AI solutions on the ServiceNow platform. Keep exploring this powerful technology!