We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

warren_chan
ServiceNow Employee

This article walks through the setup for ServiceNow External Agents where the external agent (A2A client) invokes a ServiceNow AI agent (A2A server) over Google A2A protocol in an asynchronous communication channel.

 

Requirements

  • A2A client is communicating over Google A2A 0.3.0 specification
  • ServiceNow instance is running Now Assist AI Agents 6.0.x+ (December 2025 release)
  • This example assumes the A2A server is running in asynchronous communication mode. 

Confirm that ServiceNow External Agents is set to asynchronous

  • Go to AI Agent Studio > Settings > External AI agents > Discoverability
  • Set Communication mode to Asynchronous

Screenshot 2026-03-02 at 9.28.37 AM.png

  • Alternatively, go to the Messaging Channels [sys_cs_channel] table
    • Look for AI Agent A2A Channel
    • Set to Synchronous to false

From your external AI agent (A2A client), attempt to invoke your ServiceNow AI Agent

Screenshot 2026-03-02 at 9.32.54 AM.png

  • Discover your ServiceNow AI agent
  • Authenticate with your ServiceNow AI agent (most likely necessary in some way)

Screenshot 2026-03-02 at 9.39.58 AM.png

  • Send a message through the message/send method. You will probably get an error stating that "Push notification is not supported":

Screenshot 2026-03-02 at 9.41.37 AM.png

  • In the request payload (outgoing from your A2A client), look for your push notification URL. It should be in the pushNotificationConfig block of the message/send request. Take note and copy it:
"jsonrpc": "2.0",
  "method": "message/send",
  "params": {
    "configuration": {
      "acceptedOutputModes": [
        "application/json"
      ],
      "historyLength": 0,
      "pushNotificationConfig": {
        "url": "https://<your-a2a-client-host>.us-central1.run.app/a2a/callback/incident-helper-agent-efcc9526",
        "token": "incident-helper-agent-efcc9526",
        "authentication": {
          "schemes": [
            "Bearer"
          ]
        }
      }
    },

 

Create External Agent Callback Registry

  • In ServiceNow, go to the External Agent Callback Registry [sn_aia_external_agent_callback_registry] table.
  • Select New button
  • Enter the push notification URL from the A2A client into URL field.
  • Save the record.
  • If you left the Connection and Credential Alias field blank, a new Connection Alias record should be created automatically. It should work as-is if your A2A client does not require authentication, but if it does require authentication, then edit your associated Connection record, and add a Credential record to provide authentication information.

Screenshot 2026-03-02 at 9.51.01 AM.png

  • Select the Verify URL button.
  • After the verify URL process, the State changes to Verified.

Screenshot 2026-03-02 at 9.53.06 AM.png

  • Note that you will to repeat this process for every external AI agent with a separate callback and push notification URL.

Resume your conversation from your A2A client

  • Resend a new message with the message/send method.
  • The asynchronous message handling should now be in effect:

Screenshot 2026-03-02 at 9.55.53 AM.png

 

Version history
Last update:
an hour ago
Updated by:
Contributors