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:

  1. 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.
  2. 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.
  3. 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.

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, and sn_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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
Click to enlarge

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!