The A2A server now validates that the generated task ID and context ID match the callback results from A2A Server - Task Listener for both Task and Message response types.
A2A Connector Release Notes
Anypoint Connector for Agent2Agent (A2A) (A2A Connector) facilitates inter-agent communication for Large Language Model (LLM) agents and other applications by implementing the A2A protocol. This enables agents to interact and delegate specialized tasks to other agents.
Guide: A2A Connector User Guide
2.0.0
August 3, 2026
What’s New
A2A Connector 2.0 uplifts the connector from A2A protocol 0.3.0 to A2A protocol 1.0.0. This is a breaking change: wire method names, transport configuration, client and listener elements, and the error palette all change. Review the changes and update your apps before upgrading. For more information about how to upgrade, see Upgrading and Migrating A2A Connector to Version 2.x.
Protocol and Transports
-
A2A Connector now uses A2A protocol 1.0.0 instead of 0.3.0. Wire JSON-RPC method names change from slash-form to PascalCase. For example,
message/sendbecomesSendMessage,message/streambecomesSendStreamingMessage,tasks/getbecomesGetTask,tasks/cancelbecomesCancelTask, andtasks/resubscribebecomesSubscribeToTask. Clients written against 0.3.0 must update their method strings. -
An A2A Server can expose the same agent over both the JSON-RPC and the new HTTP+JSON transport bindings on a single connection (gRPC is out of scope for this release).
-
You can now send a non-blocking
SendMessagerequest by settingreturnImmediatelytotruein the request configuration. The A2A Server acknowledges the request with the initialTaskand continues processing asynchronously, and the A2A Server - On Async Request Listener source authors that initial response. -
At most one active
SendMessagerequest (blocking, non-blocking, or streaming) can run against a giventaskIdat a time. A duplicate concurrent submission is rejected withA2A:INVALID_REQUEST("Another SendMessage is already in flight for taskId {id}; retry once it completes."), which preserves the ordering of a task’s message history under concurrency. -
Tasks in a terminal state (
TASK_STATE_COMPLETED,TASK_STATE_FAILED,TASK_STATE_CANCELED, orTASK_STATE_REJECTED) are immutable. ASendMessageorSendStreamingMessagerequest against a terminal task is rejected withA2A:UNSUPPORTED_OPERATION("Task has reached terminal state."). -
Task states now use the
TASK_STATE_*constants (for example,TASK_STATE_WORKING,TASK_STATE_COMPLETED) instead of the lowercase 0.3.0 states. -
Streaming events use the A2A
StreamResponseenvelope shape with a single root key (task,statusUpdate, orartifactUpdate). There is no explicitfinalboolean. Finality is derived fromTaskStatus.state.
Server Configuration
-
New required
<a2a:interfaces>block on<a2a:connection>. One or more<a2a:interface>entries select the Protocol (JSONRPCorHTTP_JSON) and the Path segment appended to Agent Path. This is what enables multi-transport agents on a single connection. -
Agent Path on
<a2a:connection>is now the base HTTP path for both the agent card (served at{agentPath}/.well-known/agent-card.json) and every configured interface ({agentPath}{interface.path}), rather than a single fixed agent endpoint. -
Startup validates a bijection between the configured
<a2a:interface>entries andagentCard.supportedInterfaces. Mismatched(protocol, path)pairs fail initialization instead of surfacing as runtime 404s. -
Multi-tenant support: A single connection can serve multiple tenants at the same
{agentPath}{interface.path}surface. Each request’s tenant (theparams.tenantfield on the request body, or?tenant=on GET/DELETE) is validated againstagentCard.supportedInterfaces[].tenantand surfaced to flows asattributes.tenant.
Client Configuration
-
The Client Connection provider is replaced by two transport-specific connection providers, Jsonrpc Client Connection and Http Json Client Connection, chosen via the Connection dropdown in Studio. The transport must match one of the entries in the target
agentCard.supportedInterfaces. -
The Server Url connection parameter is renamed to Agent Url, the base URL of the target A2A agent that the connector discovers via
{agentUrl}/.well-known/agent-card.json. -
Every outbound request now sends
A2A-Version: 1.0as a default header unless you override it via<a2a:default-headers>. If overridden, the value is validated to be a1.xversion. Agent-card discovery (both connect-time and the A2A Client - Get Card operation) is exempt from this header.
Sources
-
The A2A Server - Task Listener source is now a unified listener. The same flow serves blocking
SendMessage, non-blockingSendMessage(returnImmediately=true), andSendStreamingMessageover both JSON-RPC and HTTP+JSON, with no DSL change to distinguish the modes. The standalone A2A Server - On Task Stream Listener source is removed. -
The new A2A Server - On Async Request Listener source lets the flow customize the initial
Taskresponse emitted for streaming and non-blockingSendMessagerequests. The flow receives the incomingMessageSendParamsas payload and must return aTask(or raise an error to reject the request, or return a terminal or interrupted-stateTaskto short-circuit and skip the A2A Server - Task Listener flow entirely). -
The A2A Server - Authorization Listener source is replaced by the A2A Server - Task Authorizer Listener source, which uses a per-operation authorization contract and exposes the current operation name on
attributes.operationName. -
The A2A Server - On Push Notification Set Listener source output payload is now the resolved
TaskPushNotificationConfigJSON rather than the raw request params. -
SSE streams now close on terminal states (
TASK_STATE_COMPLETED,TASK_STATE_FAILED,TASK_STATE_CANCELED,TASK_STATE_REJECTED) and on the interrupted stateTASK_STATE_INPUT_REQUIRED.TASK_STATE_AUTH_REQUIREDdoes not close the stream.
Operations
-
The new A2A Client - List Tasks operation is a client operation that returns the tasks from the target A2A server as a list (
Array of Any) with a configurable streaming strategy, consumable from<foreach>. -
The new A2A Server - Get Tasks operation is a server-side batch read of stored tasks by ID. The flow supplies a Task IDs list and an optional History Length per task.
-
The new A2A Server - Get Tasks By Context operation is a server-side read of every stored task that belongs to a Context Id, returned oldest first. The flow supplies a Context Id and an optional History Length per task.
-
The new A2A Server - Set Task Metadata operation is a full-replace (no merge) of the persisted
Task’s `metadatafield. Pass{}to clear. It’s rejected for tasks in a terminal state. -
The Task Resubscribe operation is renamed to A2A Client - Subscribe To Task.
-
The A2A Client - Set Push Notification Config operation is renamed to A2A Client - Create Push Notification Config (
<a2a:create-push-notification-config>). -
The extended agent card is now fetched via a new Use Extended Card boolean parameter on the existing A2A Client - Get Card operation (defaults to
false). No separate operation was added. -
The A2A Client - List Push Notification Configs operation now returns its results as a list (
Array of Any) with a configurable streaming strategy, also consumable from<foreach>. -
The A2A Server - Send Push Notification operation now accepts a full
StreamingMessageResponsepayload (Task, Message,TaskStatusUpdateEvent, orTaskArtifactUpdateEvent). -
The A2A Server - Update Task Status and A2A Server - Update Task Artifact operations are uplifted to the A2A 1.0.0 event schemas, and each now declares only the concrete error types it raises.
Errors
-
Added:
A2A:CONTENT_TYPE_UNSUPPORTED,A2A:INVALID_AGENT_RESPONSE,A2A:EXTENDED_CARD_UNCONFIGURED,A2A:EXTENSION_SUPPORT_REQUIRED, andA2A:VERSION_UNSUPPORTED. -
Updated: The
A2A:UNAUTHORIZEDJSON-RPC code moved from-32005to-32099(-32005is now the code forCONTENT_TYPE_UNSUPPORTED). Every error type now also carries agoogle.rpc.ErrorInforeason string. -
Dropped:
A2A:JSON_RPC_ERROR(the umbrella parent type),A2A:METHOD_NOT_FOUND, andA2A:REQUEST_TIMEOUT. Each operation now declares only the concrete error types it actually raises, so verify your error handling after upgrading.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
1.0.0 |
1.1.1
March 19, 2026
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
W-21503190 |
1.1.0
March 2, 2026
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
Use the new A2A Server - Authorization Listener source to add authoritative checks for implicit methods such as |
W-21227405 |
A2A Connector now removes the trailing |
W-21341381 |
1.0.2
February 24, 2026
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
The A2A Server - Task Listener source now correctly returns an error when the Mule flow produces an unexpected response type instead of a valid Task or Message. Previously, an invalid response type could cause the flow to hang indefinitely. |
W-20999176 |
1.0.1
January 8, 2026
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
DataSense is updated to suggest the structure of the payload emitted from the A2A Server - On Task Stream Listener source. |
W-20657926 |
1.0.0
December 17, 2025
What’s New
-
There is now a clear distinction in the naming between client and server operations/sources.
-
A2A Connector now supports the new A2A Client - Send Stream Message, A2A Client - Task Resubscribe, A2A Server - Send Push Notification, A2A Server - Update Task Artifact, and A2A Server - Update Task Status operations.
-
A2A Connector now supports the new A2A Server - On Task Stream Listener source.
-
In the A2A Server - On Push Notification Set Listener source, Response Timeout is now Push notification request timeout, and Response Timeout Unit is now Request Timeout Unit.
-
Push notifications on the A2A server side are no longer supported unless the A2A Server - On Push Notification Set Listener source is defined.
-
The server now performs out-of-the-box context ID and task ID validations for tasks associated with the application.
-
The server now supports task cancellation via the
tasks/cancelmethod. -
A2A Connector now includes the
A2A:TASK_NOT_CANCELABLEandA2A:UNSUPPORTED_OPERATIONerrors for all operations. -
A2A Connector no longer includes the
A2A:TASK_ALREADY_COMPLETEDerror for all operations. -
A2A Connector now uses the A2A Java SDK for request and response validations, which enhances reliability.
-
In the Server connection type, Card is replaced with either Card Json or Card Path to define the agent card.
-
The Agent Card, Agent Skill, Agent Capabilities, Agent Extension, Agent Provider, Security Requirement, Http Security Scheme, Api Key Security Scheme, Oauth2 Security Scheme, Oauth2 Flows, Implicit Oauth2 Flows, Oauth2 Scope, Password Oauth2 Flows, Client Credentials Oauth2 Flows, Authorization Code Oauth2 Flows, and Open Id Connect Security Scheme types are no longer supported.
For more information, see Upgrading and Migrating A2A Connector and A2A Connector Reference.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.8 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
0.4.0-BETA
September 30, 2025
What’s New
-
A2A Connector now uses A2A protocol 0.3.0 instead of 0.2.3.
-
The connector now supports the new Additional Properties field for the Cancel Task, Delete Push Notification Config, Get Card, Get Push Notification Config, Get Task, List Push Notification Configs, Send Message, and Set Push Notification Config operations. Use this field to specify the type of client (such as an agent, a user, or others) that forwards the request to the agent for Agent Fabric.
-
The public endpoint to fetch the agent card is updated from
/.well-known/agent.jsonto/.well-known/agent-card.json. -
The Client connection type now supports the new Get Push Notification Config, Set Push Notification Config, List Push Notification Configs, and Delete Push Notification Config operations.
-
The Server connection type now supports the On Push Notification Set Listener source, to handle incoming requests with push notification configuration data. This source validates the push notification configuration before routing the request to the Task Listener source.
-
The Agent Card type now includes the new Protocol Version field to indicate the A2A specification version the agent is running on.
-
The connector no longer supports the Send Task operation.
-
The connector now includes the
A2A:PUSH_NOTIFICATION_UNSUPPORTEDerror for Delete Push Notification Config, Get Push Notification Config, List Push Notification Configs, and Set Push Notification Config operations. -
The Request Attributes type now includes the Task Id, and Context Id fields.
For more information, see the A2A Connector Reference.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.4 and later |
OpenJDK |
17 |
A2A protocol |
0.3.0 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
A2A Connector for Agent Conductor now uses the latest A2A protocol version’s type definitions to ensure proper functioning. |
W-19128112 |
0.3.0-BETA
August 6, 2025
What’s New
-
A2A Connector now supports distributed tracing.
-
These types are added:
-
Certificate Data
-
Certificate Extension
-
Alternative Name Data
-
Principal Data
-
X500 Principal Data
-
Public Key Data
-
Serial Number Data
-
-
The Request Attributes type now includes the Version, Scheme, Method, Local Address, Remote Address, and Client Certificate fields.
For more information, see the A2A Connector Reference.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.4 and later |
OpenJDK |
17 |
A2A protocol |
0.2.3 |
Fixed Issues
| Issue Resolution | ID |
|---|---|
Task history exceptions no longer abort the correct execution of the flow. Task history failures are now logged but do not affect the A2A response sent to the client. |
W-19127970 |
Disabling task history now properly bypasses task history processing. Task history processing no longer performs unnecessary serialization when disabled, improving performance and preventing serialization failures. |
W-19128017 |
0.2.0-BETA
July 29, 2025
What’s New
-
A2A Connector now uses A2A protocol 0.2.3 instead of 0.1.0.
-
The Client connection type now supports default headers.
-
The Get Card and Send Message operations are added.
-
A2A Connector now supports task history, and the
A2A:TASK_ALREADY_COMPLETEDandA2A:TASK_NOT_FOUNDerrors are included in all operations. -
These types are added:
-
Agent Extension
-
Security Requirement
-
Http Security Scheme
-
Api Key Security Scheme
-
Oauth2 Security Scheme
-
Oauth2 Flows
-
Implicit Oauth2 Flows
-
Oauth2 Scope
-
Password Oauth2 Flows
-
Client Credentials Oauth2 Flows
-
Authorization Code Oauth2 Flows
-
Open Id Connect Security Scheme
-
For more information, see the A2A Connector Reference.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.4 and later |
OpenJDK |
17 |
A2A protocol |
0.2.3 |
0.1.0-BETA
May 27, 2025
What’s New
This is a new connector.
|
A2A Connector is a beta connector that is subject to the Beta Services Terms at Agreements - Salesforce.com or a written Unified Pilot Agreement if executed by Customer, and the Non-GA Gen AI and Non-GA Credit Consumption terms in the Product Terms Directory. Use of this beta connector with external systems or services consumes Mule messages and is at the Customer’s sole discretion. |
For more information, see the A2A Connector User Guide.
Compatibility
| Software | Version |
|---|---|
Mule |
4.9.4 and later |
OpenJDK |
17 |
A2A protocol |
0.1.0 |



