Register an External Agent
Register an external agent to make it available within the Agent Platform. Prerequisites- The external agent supports the A2A protocol.
- The agent endpoint is reachable over HTTP or HTTPS.
- You have the endpoint URL for the external agent.
- Authentication details are available if required.
- Navigate to External Agents.
- Click Register Agent.
- Enter the required details:
- Agent Name — Name of the external agent.
- Endpoint URL — URL of the external agent endpoint.
- Protocol — Communication protocol for the external agent. Supported protocols:
- A2A
- REST
- Authentication Type — Authentication mechanism required by the external agent endpoint. Supported types:
- API Key
- Bearer Token
- Click Register.
Access External Agents via Handoff or Delegation
Once registered, external agents are available as tools within Agent Platform agents. You can combine local and external agents in the same multi-agent workflow. To use an external agent, add it to the Handoff or Delegate section of your agent. The platform handles communication through the A2A protocol. In ABL, add the external agent under theHANDOFF or DELEGATE section and set LOCATION to REMOTE:
Remote-Specific Properties
| Property | Values | Description |
|---|---|---|
LOCATION | REMOTE | Marks the tool as a remote agent. |
ENDPOINT | URL string | The A2A endpoint. Supports {{config.*}} and {{env.*}} interpolation. This property is optional. If provided, it overrides the endpoint URL configured during agent registration. |
PROTOCOL | A2A or REST | The communication protocol used to invoke the remote agent. |
ASYNC | true / false | Enables asynchronous dispatch with push-notification barriers. When set to true, configure the CALLBACK_BASE_URL environment variable. This value must be a publicly accessible HTTPS URL where the remote agent can post execution results. |
TIMEOUT | Integer (seconds) | Maximum time to wait for a response from the remote agent before the request times out. |
CONTEXT | — | Copies named fields from the current session’s gathered or set data values into the request metadata sent to the external agent. |
RETURN | true / false | Whether the parent thread waits for the response. |
Operating Modes
Sync Mode
This is the default mode. The agent waits for a response from the external agent. The default timeout is 30 seconds. If the request times out, theON_FAILURE event is triggered.
Streaming
Streaming is auto-detected when the remote agent card hasstreaming: true and the user is connected. No DSL changes are required; the runtime handles it automatically.
Async
Async mode uses a suspend-and-callback mechanism. The current session suspends, and the remote agent pushes the result when done. Use this mode for long-running operations. Requirements for async remote calls:- The
CALLBACK_BASE_URLenvironment variable must be set to a public HTTPS URL reachable by the remote agent. - The remote agent’s card must have push notification capabilities.
- Default async timeout is 300 seconds. Override with the
TIMEOUTvalue in ABL.
-
Case sensitivity:
TO: <external-agent-name>must exactly match the name provided during registration. The value is case-sensitive. -
Config variable: When using a config variable for the URL,
{{config.EXTERNAL_AGENT_URL}}resolves at compile time, not runtime. The config variable must exist in the project before you save and deploy the agent. This approach is recommended for multi-environment setups. -
Async callback: Push-notification callbacks require a public HTTPS URL set in the
CALLBACK_BASE_URLenvironment variable. -
Inline endpoint: An inline
ENDPOINTin DSL overrides the endpoint provided during registration. Authentication details must still be configured during registration—credentials cannot be added to the DSL. -
Remote agent state: Remote agents are stateless by default and only see the current message. Use
history: fullinCONTEXTto forward the conversation. The history is stored inmessage.metadata.historyin the A2A payload. -
Context tracking: A
contextIdis sent on every turn to the same remote agent, allowing the remote side to associate turns if it maintains state.