Skip to main content

Agent-to-agent communication

The Agent2Agent (A2A) protocol provides standardized and secure communication between external agents and Retool Agents, so you can trigger your Retool Agent from an external agent, or embed Retool Agents in your own systems.

Overview

A2A support allows you to build agents across multiple platforms and have them talk to one another programmatically. You may want to use A2A, for example, to build distributed AI systems across different regions, to connect third-party agents to internal orchestration agents, or to daisy-chain specialized agents together to complete complex tasks.

Currently, Retool supports ingress into Retool Agents from an external agent.

Retool has implemented the core set of A2A functionality, so you can:

  • View an agent card.
  • Send a message.
  • Poll for updates on tasks.
  • Stream processing or task updates via Server-Sent Events (SSE).
  • Cancel tasks.

Refer to Set up an A2A trigger to learn how to enable the A2A trigger and cURL for endpoint responses.

Endpoints

The following API endpoints are available:

NameDescriptionEndpoint
Get Agent CardView an agent's information through the agent card.GET /a2a/:agentId/.well-known/agent-card.json
Send MessageSends a message to an agent.POST /a2a/:agentId/v1/message:send
Get TaskPolls an agent to view the output of a specific task.GET /a2a/:agentId/v1/tasks/:taskId
Send Streaming MessagesProvides real-time streaming updates from an agent during processing.POST /a2a/:agentId/v1/message:stream
Subscribe to TaskStreams updates from an agent for an existing task.POST /a2a/:agentId/v1/tasks/:taskId:subscribe
Cancel TaskRequests the cancellation of an ongoing task running on an agent.POST /a2a/:agentId/v1/tasks/:taskId:cancel

Limitations

Retool's A2A support has the following limitations:

  • Retool only supports ingress for A2A.
  • Retool only supports the HTTP+REST and JSON-RPC protocols.
  • Retool only supports API key-based authentication.
  • Retool does not support the input-required or auth-required task states, so when using A2A with Retool Agents, calling tools that require approvals and have delegated authentication will fail.

Additional functionality will be added over time.

FAQ

How can I provide feedback on A2A?

Please provide feedback at this form link or reply to the Agent to Agent protocol support topic the Retool Community Forum.

Does enabling A2A expose all agents?

No, Retool requires you to enable A2A as a trigger on a specific agent. Self-hosted Retool customers can toggle off the AI Agents A2A feature flag in Settings > Beta to remove A2A support; it is on by default.

Can I call Retool Agents from non-agent systems like external apps or backends?

Yes, A2A can be used by a programmatically-invoked REST API from non-agent systems.

Will Retool support additional transport protocols like gRPC?

Retool will support additional protocols depending on customer demand. If you'd like to request additional protocol support, please fill out this form.

Does Retool A2A support streaming responses?

Yes, Retool supports streaming responses via SSE.

Can we connect to external A2A systems from Retool?

Yes, Retool supports ingress into Retool Agents via the A2A protocol. You can build custom tools in Retool Agents, or custom resource queries in Retool Apps and Workflows to trigger external agents via REST APIs.

The URL value in my agent card is missing the HTTP or HTTPS prefix, how do I fix this?

For self-hosted Retool, set the BASE_DOMAIN environment variable.

Can I rotate my API keys?

Yes, API keys can be rotated. An API key is provided for each agent, and must be passed to the client via an X-Api-Key header.