# A2A Connector - Full Documentation # Using Anypoint Code Builder to Configure A2A Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt **Open Beta Release**: The **cloud IDE is in open beta**. Any use of Anypoint Code Builder in its beta state is subject to the applicable beta services terms and conditions, available from the IDE. To use Anypoint Code Builder to configure a connector or module, create a basic integration project in Anypoint Code Builder, add connectors and other components to your Mule application to process your business logic, and configure the attributes. ## Before You Begin Before creating an integration project, you must: - [Set up and access the Anypoint Code Builder web or desktop IDE](../../anypoint-code-builder/start-acb) - Have credentials to access the connector’s API - Ensure that the Visual Studio Code Extension Pack for Java is installed. To use this connector, you must be familiar with: - The connector’s API - Anypoint Connectors - Mule runtime engine (Mule) ## Create a New Integration Project To create a new integration project: 1. In the activity bar of the IDE, click the ![Anypoint Code Builder icon](../../connectors/_images/acb-icon-ms-logo.png) (**Anypoint Code Builder**) icon. 2. From **Quick Actions**, click **Develop an Integration**: ![Develop an Integration link highlighted in the Getting started section](../../anypoint-code-builder/_images/develop-integration-option-mat.png) 3. Complete the following in the **Develop an Integration** form:
AttributeValue

Project Name

Unique name for your project.

This name is used as the title and name of the integration project file. For example, if the project name is "Salesforce Integration," the project file name is salesforce-integration.

Project Location

Your home directory or another directory you create. Click Browse to select a different directory for the integration project.

Don’t create the project within another project directory.

4. Select the type of project to create by selecting either the **Empty Project** or **Template or Example** card. 5. Select the **Mule runtime** and **Java Version** for your app. 6. Click **Create Project**. ## Add the Connector to Your Integration Project Anypoint Connectors provide operations for retrieving, modifying, and sending data to and from systems. In addition to the [built-in connectors](../../anypoint-code-builder/acb-reference#builtin-connectors) that Anypoint Code Builder provides, you can download many other connectors from Anypoint Exchange. To import a connector from Exchange and add it to your configuration: 1. In the Explorer view, open the configuration XML file for your project, such as `my-project-name.xml`. 2. Click the ![Show Mule graphical mode icon](../../anypoint-code-builder/_images/icon-tree-view.png) (**Show Mule graphical mode**) icon in the activity bar to open the canvas UI if it doesn’t open automatically. 3. Add the connector the same way you added other components from the canvas UI: 1. In the canvas UI, click the ![Add component icon](../../anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 2. In the **Add Component** panel, click **Connectors**. 3. Click the connector name and then click the operation to add, such as **Publish**: ![Add Publish operation from Anypoint MQ Connector](../../anypoint-code-builder/_images/int-add-connector-operation.png) If the connector is not available locally, click the ![Search in Exchange icon](../../anypoint-code-builder/_images/icon-search-exchange.png) (**Search in Exchange**) toggle: ![Search in Exchange toggle](../../anypoint-code-builder/_images/int-connector-search-exchange.png)
1Search locally
2Search in Exchange
4. Select the connector to add to your project. 5. Select the operation from the **Add Component** panel. Adding a connector to an integration project does not make that connector available to other projects in your Anypoint Code Builder workspace. ## Configure the Source For the Flow A source (trigger) starts the flow when specified conditions are met. You can configure these sources for A2A Connector: - **A2A Server - Authorization Listener** A2A Server authorization listener that gates JSON-RPC methods which don’t have a dedicated listener. If the flow completes successfully, the request is authorized. If the flow raises an error, the request is denied and a `403 Forbidden` response is returned to the caller. - **A2A Server - Task Listener** Listens for and receives incoming A2A protocol-compliant requests from other AI agents, enabling the Mule-based agent to act as an A2A server and respond to tasks. - **A2A Server - On Task Stream Listener** Server-side listener for streaming task requests. Activates when clients send streaming requests to trigger server-side flows and enable real-time SSE event delivery. Use this source in conjunction with **A2A Server - Task Listener**. - **A2A Server - On Push Notification Set Listener** Validates the push notification configuration before routing the request to the **A2A Server - Task Listener** source. For example, to configure an **A2A Server - Task Listener** source, follow these steps: 1. Click the **Task Listener** component on the canvas. 2. (Optional) Click the edit icon to change the name of the **Task Listener** component. 3. In the **General** tab, configure the connection for the A2A Server. See [A2A Server Configuration](a2a-connector-reference#Server). 4. Select the **Advanced** tab to configure these attributes:
AttributeDescriptionRequired

Primary node only

Select this option to execute the Task Listener source on the primary node only when running in a cluster.

No

Redelivery policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

No

Reconnection strategy

Retry strategy in case of connectivity errors. When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify the default behavior by configuring the reconnection strategy for the operation.

No

Response

The response payload to return. Defaults to #[payload].

No

Response Headers

HTTP response headers to include with the response.

No

## Add Components to Your Project Add components to your integration project to build a flow: 1. In the **Explorer** view, open the XML file for your project, such as `my-project-name.xml`. 2. Select **Build a Flow** from the start card to create an empty flow: ![Anypoint Code Builder canvas with starting cards with the options to start from scratch, build a flow, or build a subflow](../../connectors/_images/acb-build-flow.png) 3. Change the name of the flow: 1. Click **Flow**. 2. Click the edit icon. ![Arrow pointing to the flow name edit pencil icon](../../connectors/_images/acb-change-flow-name.png) 3. Enter the flow name, and click the checkmark. 4. In the canvas UI, click the ![Add component icon](../../anypoint-code-builder/_images/icon-plus.png) (**Add component**) icon. 5. In the **Add Component** panel, search for and select your component from the results. The following example shows the **Listener** component from the **HTTP** search results: ![Listener component highlighted in the Add Component section](../../anypoint-code-builder/_images/main-tutorial-add-first-listener.png) The configuration XML file now includes the XML for the HTTP Listener into the `` element, for example: ```XML ``` ## Configure the Component Attributes After you add components to your integration project, configure the attributes in the component UI, or configure the attributes directly in the XML code editor. Connector XML tags start with a namespace followed by an operation, following the syntax `namespace:operation`, such as `` for a **Select** operation in Anypoint Connector for Database (Database Connector). You can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. ## Create a New Configuration XML File Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the Mule project. This file contains global configurations and flow structures. You can create additional configuration files, for example, to store global configurations. To create a new XML configuration file: 1. In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **New File**. Alternatively, use the menu. Show me how Select the `mule` folder, and then: - In the desktop IDE, select **File** > **New Mule Configuration File**. - In the cloud IDE, click the ![](../../anypoint-code-builder/_images/icon-menu.png) (menu) icon, and select **File** > **New File**. 2. Enter a name for the new file with the `.xml` extension. 3. In the Editor view for the new file, press Ctrl+Space to display available options. 4. Select **Empty mule configuration**: ![New Mule configuration option in auto-correct](../../anypoint-code-builder/_images/int-new-mule-config.png) This command adds the following code to the file: ```xml ``` ## Debug the App Debug your Mule application using the embedded debugger in Anypoint Code Builder. See [Debugging Mule Applications](../../anypoint-code-builder/int-debug-mule-apps). ## See Also - [Anypoint Code Builder Overview](../../anypoint-code-builder/) - [Creating Integrations](../../anypoint-code-builder/int-create-integrations) - [Using Anypoint Code Builder to Configure a Connector](../../connectors/introduction/intro-config-use-acb) - [Anypoint Code Builder Components and Commands Reference](../../anypoint-code-builder/acb-reference) - [Defining and Securing Properties for a Mule Application](../../anypoint-code-builder/int-create-secure-configs) - [Triggering Flows in Your Development Environment](../../anypoint-code-builder/int-trigger-flows) - [Configuring Components](../../anypoint-code-builder/int-configure-components) - [Debugging Mule Applications](../../anypoint-code-builder/int-debug-mule-apps) - [Salesforce Help](https://help.salesforce.com) - [Deployment Options](../../runtime-manager/deployment-strategies) --- # A2A Connector 1.1 - Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt This A2A server configuration uses an agent card JSON file that contains metadata about the agent. Client A2A agents use this information to determine: - When to use the agent (based on description and skills) - Where to contact the agent (based on the url property) ## Configure an A2A Server This is an example A2A server configuration using an absolute path: ```xml ``` When deploying your application to CloudHub, absolute or relative local paths may not resolve correctly. To ensure the connector can locate your agent card in a deployed environment, use the `${app.home}` variable: ```xml ```
1a2a:server-config defines the A2A server configuration.
2a2a:connection specifies the path to use to listen for requests.
3a2a:agent-card specifies the agent card. Use the file attribute to point to the absolute path of the JSON file on disk. For CloudHub use cases, if the file is located in the home directory of the CloudHub instance, you can reference it using ${app.home}/agent-card.json.
## A2A Request Format When sending requests to the **A2A Server - Task Listener** source from external clients (such as Postman or other A2A agents), you must use the correct JSON-RPC format. Incorrectly formatted requests result in unmarshalling errors such as: ```text Error unmarshalling string json payload into type io.a2a.spec.SendMessageRequest. Cause: Invalid params ``` The minimum required JSON-RPC request format for the `message/send` method is: ```json { "jsonrpc": "2.0", "method": "message/send", "id": "test-001", "params": { "message": { "kind": "message", "messageId": "550e8400-e29b-41d4-a716-446655440000", "role": "user", "parts": [ { "kind": "text", "text": "Hello, this is my message" } ] } } } ``` You can use metadata types in Anypoint Studio to ensure your payloads conform to the A2A schema. The connector includes JSON schema definitions for `MessageSendParams` and other A2A objects. For additional schema references, see the [A2A Java SDK](https://github.com/a2aproject/a2a-java). ## Write a Listener That Receives the A2A Request This example shows how a listener is created. The user prompt that’s sent from the client agent is extracted to a variable `user_prompt`: ```xml ``` ### Example Response The response is formatted as an A2A task, which is then returned to the client: ```xml ``` ## Mule App Example This example shows how a financial A2A agent Mule app that can answer queries related to US companies and their financial standings listens to A2A requests and passes the user prompt to an LLM using MuleSoft Inference Connector. You can paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml #(1) #(2) #(3) #(4) #(5) #(6) #(7) #(8) #(9) ```
1The a2a:task-listener component acts as the entry point, waiting to receive a task from an A2A server. This task contains a user’s query about stock market data.
2The logger component outputs an informational message Triggering MCP Tools to the MuleSoft logs.
3The set-variable component extracts the ID from the incoming payload (the task received in step 1) and stores it in a flow variable named task_id.
4Another set-variable component extracts the sessionId from the payload. If sessionId isn’t present, it defaults to an empty string. This value is stored in a flow variable named session_id.
5This set-variable extracts the actual user query from the payload. Specifically, it takes the text from the first part of the message within the payload and stores it in a flow variable named user_prompt.
6The ms-inference:mcp-tools-native-template configures an LLM to act as a specialized financial analysis assistant.
7This set-variable component takes the response generated by the ms-inference:mcp-tools-native-template (from step 6) and stores it in a flow variable named mcp_tooling_results.
8The ms-inference:agent-define-prompt-template component processes the results from the previous AI interaction to generate a user-friendly response.
9The ee:transform (DataWeave transformation) component takes the payload.response from the previous AI interaction and transforms it into a structured JSON output.
## Configure the A2A Client to Call Other A2A Agents This minimal flow listens for an A2A task and forwards the same payload to a remote agent using your A2A client configuration. ```xml ``` ## Configure On Task Stream Listener (SSE) End to End Use this pattern when your A2A server must return incremental task updates through SSE (`message/stream`) instead of a single response (`message/send`). ### Server Configuration for Streaming Use the same HTTP listener and A2A server pattern as non-streaming setups, with an agent card path appropriate for your deployment (for example `${app.home}/agent-card.json` on CloudHub). ```xml ``` ### Streaming Flow Example The streaming process first emits a Task event, then emits intermediate status and artifact events, and finally closes the stream with a final status event. ```xml ``` ### Expected SSE Event Format The stream is delivered as standard server-sent events. Each event contains a JSON payload in `data:`. ```text event: task data: {"id":"task-123","contextId":"context-task-123","kind":"task","status":{"state":"working"},"final":false} event: artifact-update data: {"id":"task-123","contextId":"context-task-123","kind":"artifact-update","artifact":{"artifactId":"artifact-task-123","name":"partial-answer","parts":[{"kind":"text","text":"Here is an incremental result chunk."}]}} event: status-update data: {"id":"task-123","contextId":"context-task-123","kind":"status-update","status":{"state":"completed"},"final":true} ``` > [!NOTE] To close the SSE stream gracefully, set `final: true` on the last status update. If > `final` isn’t emitted, clients can remain subscribed waiting for additional events. ### Error Handling Pattern for Streaming Flows Wrap stream-processing logic in error handling and always send a terminal status update on failures: ```xml ``` ## JSON-RPC 2.0 Request and Response Patterns The snippets below illustrate JSON-RPC for `message/send` and `message/stream`, a sample completed-task result, and how fields map to Mule task payloads. ### Non-Streaming Request Clients send this when invoking `message/send` and expecting one task result (not an SSE stream). ```json { "jsonrpc": "2.0", "id": "req-1001", "method": "message/send", "params": { "message": { "kind": "message", "messageId": "550e8400-e29b-41d4-a716-446655440000", "role": "user", "parts": [ { "kind": "text", "text": "Summarize the latest task status." } ] } } } ``` ### Non-Streaming Response (Task Shape) The JSON-RPC `result` object follows the A2A task structure, including `status`, `artifacts`, and optional `history`. ```json { "jsonrpc": "2.0", "id": "req-1001", "result": { "id": "task-1001", "contextId": "context-task-1001", "kind": "task", "status": { "state": "completed" }, "artifacts": [ { "artifactId": "artifact-task-1001", "name": "answer", "parts": [ { "kind": "text", "text": "Task completed successfully." } ] } ], "history": [] } } ``` ### Streaming Request (`message/stream`) Clients use this method and parameters when they open an SSE stream and consume multiple task, artifact, and status events. ```json { "jsonrpc": "2.0", "id": "req-stream-2001", "method": "message/stream", "params": { "message": { "kind": "message", "messageId": "6f4e31f8-5a4d-4a54-9fa3-31c9c0d10a1b", "role": "user", "parts": [ { "kind": "text", "text": "Generate a step-by-step answer." } ] } } } ``` ### Mapping JSON-RPC Payload to `io.a2a.spec.Task` In server flows, Mule payload fields map directly to task structures: - `payload.id` maps to task ID. - `payload.contextId` maps to context ID. - `payload.message` carries the incoming user message. - `payload.message.parts` contains content segments for extraction (for example, `payload.message.parts[0].text`). - `payload.status` and `payload.artifacts` are used to build task updates in responses. ## Sample `agent-card.json` for Streaming and Push Notifications Use this sample as a starting point for cards that advertise both SSE streaming and push notification support: ```json { "name": "Finance Streaming Agent", "description": "Handles financial analysis tasks with streaming progress updates and push notifications.", "url": "https://example.org/a2a", "provider": { "organization": "Example Org" }, "version": "1.0.0", "capabilities": { "streaming": true, "pushNotifications": true }, "skills": [ { "id": "financial-analysis", "name": "Financial Analysis", "description": "Analyzes public company financial performance." } ], "defaultInputModes": ["text"], "defaultOutputModes": ["text"] } ``` ## Complete Mule App Example for Non-Streaming Tasks and Push Notifications Use this full example when you want request-response processing with `message/send` and optional push notification callbacks, without SSE streaming. > [!NOTE] This pattern complements, but does not replace, the > [Configure On Task Stream Listener (SSE) End to End](#configure-on-task-stream-listener-sse-end-to-end) > section. Use this section for non-streaming flows, and the SSE section for incremental stream > updates. ```xml ``` ## See Also - [A2A Connector Troubleshooting](a2a-connector-troubleshooting) - [A2A Connector Reference](a2a-connector-reference) - [MuleSoft Inference Connector](https://github.com/MuleSoft-AI-Chain-Project/mule-inference-connector) - [Introduction to Anypoint Connectors](../../connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- # A2A Connector 1.1 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Agent2Agent (A2A) (A2A Connector) provides A2A protocol support for LLM agents, enabling your agents to talk to other agents. ## Configurations ### Client The application or AI system that initiates requests and consumes services offered by A2A servers. This allows Mule apps to act as A2A brokers between non A2A “head” agents and A2A “node” agents. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Name

String

ID used to reference this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

#### Connection Types ##### Client Connection ###### Parameters
NameTypeDescriptionDefault ValueRequired

Server Url

String

Base URL of the target A2A server.

x

Request Timeout

Number

Sets the duration to wait for server responses before timing out requests.

30

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Request Timeout field.

SECONDS

Authentication

HttpRequestAuthentication

Default Headers

Object

Default headers.

Tls Context

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

#### Associated Operations - [A2A Client - Cancel Task](#CancelTask) - [A2A Client - Delete Push Notification Config](#DeletePushNotificationConfig) - [A2A Client - Get Card](#GetCard) - [A2A Client - Get Push Notification Config](#GetPushNotificationConfig) - [A2A Client - Get Task](#GetTask) - [A2A Client - List Push Notification Configs](#ListPushNotificationConfigs) - [A2A Client - Send Message](#SendMessage) - [A2A Client - Send Stream Message](#SendStreamMessage) - [A2A Client - Set Push Notification Config](#SetPushNotificationConfig) - [A2A Client - Task Resubscribe](#TaskResubscribe) --- ### Server The A2A server acts as a remote agent that exposes an HTTP(S) endpoint and implements the A2A protocol methods for interacting with other AI agents. This allows Mule-based agents to receive and respond to A2A protocol-compliant requests. #### Parameters
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Name

String

ID used to reference this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Card Json

String

Agent card as a JSON string.

Card Path

String

The absolute path of a JSON file to load the agent card.

Task History Enabled

Boolean

Set to true to enable retrieval of task history. Task history is stored as message objects.

false

Default Max History Length

Number

Maximum number of task history objects to store.

Task Repository Object Store

ObjectStore

#### Connection Types ##### Server Connection ###### Parameters
NameTypeDescriptionDefault ValueRequired

Listener Config

String

Reference to the <http:listener-config> used to expose the inbound endpoint.

x

Agent Path

String

Path at which the agent is available.

x

Tls Context Ref

String

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

#### Associated Operations - [A2A Server - Send Push Notification](#SendPushNotification) - [A2A Server - Update Task Artifact](#UpdateTaskArtifact) - [A2A Server - Update Task Status](#UpdateTaskStatus) #### Associated Sources - [A2A Server - Authorization Listener](#AuthorizationListener) - [A2A Server - On Push Notification Set Listener](#PushNotificationConfigListener) - [A2A Server - Task Listener](#TaskListener) - [A2A Server - On Task Stream Listener](#TaskStreamListener) ## A2A Client - Cancel Task `` Cancels the task specified by its unique identifier. It’s used to stop a previously initiated task. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Task Id

Any

Unique identifier for the task.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Delete Push Notification Config `` Deletes an associated push notification configuration for a task. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Get Push Config Params

Any

Object for fetching the push notification configuration for a task.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Get Card `` Gets the agent card. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Use Extended Card

Boolean

When true, fetches the authenticated extended agent card instead of the normal agent card.

false

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INVALID_AGENT_CARD - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:UNAUTHORIZED ## A2A Client - Get Push Notification Config `` Retrieves the current push notification configuration for a specified task. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Get Push Config Params

Any

Object for fetching the push notification configuration for a task.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Get Task `` Retrieves information about a task based on a provided query. This enables you to fetch the status or details of a task from another agent. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Task Query

Any

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - List Push Notification Configs `` Retrieves the associated push notification configurations for a specified task. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Get Push Config Params

Any

Object for fetching the push notification configuration for a task.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Send Message `` Sends a message. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Message

Any

Message to send.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Send Stream Message `` Sends a message to the A2A agent and establishes an SSE streaming connection to receive real-time status updates, artifacts, and error notifications as the agent processes the request. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Stream Message

Any

Message to send (MessageSendParams schema).

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Set Push Notification Config `` Sets or updates the push notification configuration for a specified task. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Task Push Notification Config

Any

Associates a push notification configuration with a specific task.

x

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Client - Task Resubscribe `` Reconnects to an existing SSE streaming session for an ongoing task to receive buffered events and continue receiving real-time updates from where the connection was lost. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Task Id Params

Any

Task ID to resubscribe to (TaskIdParams schema).

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Additional Properties

Object

Additional properties to include with the request. Use this field to specify custom key-value pairs that are sent with the A2A connector request. This field is optional and null-safe.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Client](#Client) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Server - Send Push Notification `` Sends a push notification with the provided task or message payload. This operation allows sending async updates at various stages or steps of a task, not just at the end. The notification message is automatically wrapped in JSON-RPC format. This is a non-blocking operation that uses CompletionCallback for async result handling. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Notification Message

Any

The JSON notification message (task or message object). This value is automatically wrapped in JSON-RPC format.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### For Configurations - [Server](#Server) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Server - Update Task Artifact `` Updates a task artifact and broadcasts the update to all connected SSE clients. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Artifact Update Content

Any

TaskArtifactUpdateEvent content following A2A specification.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### For Configurations - [Server](#Server) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## A2A Server - Update Task Status `` Updates a task status and broadcasts the update to all connected SSE clients. This operation only works when there is an active streaming context, such as one established by the [A2A Server - On Task Stream Listener](#TaskStreamListener) source. > [!NOTE] When using this operation in a TaskStreamListener flow, the flow’s final payload is > ignored. To close the SSE connection, include `final: true` in the TaskStatusUpdateEvent JSON > payload. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Status Update Content

Any

TaskStatusUpdateEvent content following A2A specification.

#[payload]

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### For Configurations - [Server](#Server) ### Throws - A2A:CONNECTIVITY - A2A:INTERNAL_ERROR - A2A:INVALID_PARAMS - A2A:INVALID_REQUEST - A2A:JSON_RPC_ERROR - A2A:METHOD_NOT_FOUND - A2A:PARSE_ERROR - A2A:PUSH_NOTIFICATION_UNSUPPORTED - A2A:REQUEST_TIMEOUT - A2A:RETRY_EXHAUSTED - A2A:SERVER_ERROR - A2A:TASK_NOT_CANCELABLE - A2A:TASK_NOT_FOUND - A2A:UNAUTHORIZED - A2A:UNSUPPORTED_OPERATION ## Sources ## A2A Server - Authorization Listener `` A2A Server authorization listener that gates JSON-RPC methods which don’t have a dedicated listener. If the flow completes successfully, the request is authorized. If the flow raises an error, the request is denied and a `403 Forbidden` response is returned to the caller. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

String

Attributes Type

### For Configurations - [Server](#Server) ## A2A Server - On Push Notification Set Listener `` Validates the push notification configuration before routing the request to the **Task Listener** source. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message

Reconnection Strategy

Retry strategy in case of connectivity errors.

Additional Headers

Object

Additional HTTP headers to include with each request.

Authentication

HttpRequestAuthentication

Push notification request timeout

Number

60

Request Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Push notification request timeout field.

SECONDS

Proxy Config

HttpProxyConfig

Proxy configuration.

### Output

Type

Any

Attributes Type

### For Configurations - [Server](#Server) ## A2A Server - Task Listener `` Allows a Mule application to listen for and receive incoming A2A protocol-compliant requests from other AI agents, enabling the Mule-based agent to act as an A2A server and respond to tasks. ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

Response

Any

#[payload]

Response Headers

Object

HTTP response header.

### Output

Type

Any

Attributes Type

### For Configurations - [Server](#Server) ## A2A Server - On Task Stream Listener `` Server-side listener for streaming task requests. Activated when clients send streaming requests (messages/stream) to trigger server-side flows and enable real-time SSE event delivery. This source is a prerequisite for applications to support streaming. This source is to be used in conjunction with [A2A Server - Task Listener](#TaskListener). ### Parameters
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Config Ref

ConfigurationProvider

Name of the configuration to use to execute this component.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

### Output

Type

Any

Attributes Type

### For Configurations - [Server](#Server) ## Types ### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Truststore Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of store.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

### Keystore Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of store.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

Verify only the last element in the certificate chain.

  • false

Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

Check the Certification Revocation List (CRL) for certificate validity.

  • false

Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

Don’t use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

Avoid verification failure.

  • false

Allow the verification to fail.

### Custom OCSP Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### CRL File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

Count

Number

How many reconnection attempts the Mule app can make.

### Reconnect Forever Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Response Attributes In A2A Connector 1.0 and later, this represents the HTTP response attributes for an A2A request. This type encapsulates HTTP response metadata, including status code, headers, and reason phrase, that are sent as part of an A2A protocol response.
FieldTypeDescriptionDefault ValueRequired

Status Code

Number

HTTP status code of the response.

x

Headers

Object

Map of HTTP headers in the message.

x

Reason Phrase

String

HTTP reason phrase of the response.

### Error Mapping
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Target

String

x

### Streaming Response Attributes In A2A Connector 1.0 and later, this represents the HTTP response attributes for A2A streaming operations (SSE). This specialized type extends [Response Attributes](#ResponseAttributes) with streaming-specific metadata, including information about final events received during the SSE session. This final event information is not related to the A2A protocol final event, but the connector’s.
FieldTypeDescriptionDefault ValueRequired

Final Event Found

Boolean

Whether a final event was found during SSE session.

false

Status Code

Number

HTTP status code of the response.

x

Headers

Object

Map of HTTP headers in the message.

x

Reason Phrase

String

HTTP reason phrase of the response.

### Request Attributes In A2A Connector 1.0 and later, this represents the HTTP request attributes for an A2A incoming request. This type encapsulates the HTTP request metadata, including query parameters and headers, that are received as part of an A2A protocol request.
FieldTypeDescriptionDefault ValueRequired

Task Id

String

The ID assigned to this task, either provided by the client or auto-generated by the connector.

x

Context Id

String

The context ID assigned to this task, either provided by the client or auto-generated by the connector.

x

Query Params

Object

The query parameters received in the HTTP request.

x

Headers

Object

The HTTP headers received in the request.

x

Version

String

HTTP version of the request. Former http.version.

x

Scheme

String

HTTP scheme of the request. Former http.scheme.

x

Method

String

HTTP method of the request. Former http.method.

x

Local Address

String

Local host address from the server.

x

Remote Address

String

Remote host address from the sender. Former http.remote.address.

x

Json Rpc Method

String

The JSON-RPC method name from the A2A request (for example, message/send, tasks/get).

x

Client Certificate

Client certificate (if 2 way TLS is enabled). Former http.client.cert.

### Certificate Data
FieldTypeDescriptionDefault ValueRequired

Basic Constraints

Number

Basic constraints extension value indicating if the certificate can be used to sign other certificates.

Critical Extension OI Ds

Array of String

Object identifiers (OIDs) of critical extensions in the certificate.

Encoded

Binary

The encoded form of the certificate.

Extended Key Usage

Array of String

Extended key usage extension indicating specific purposes for which the certificate public key can be used.

Extensions

Certificate extensions providing additional information about the certificate.

Issuer Alternative Names

Alternative names for the certificate issuer.

Issuer DN

Distinguished name of the certificate issuer.

Issuer Unique ID

Array of Boolean

Unique identifier for the certificate issuer.

Issuer X500 Principal

X.500 principal information for the certificate issuer.

Key Usage

Array of Boolean

Key usage extension indicating the purposes for which the certificate public key can be used.

Name

String

Name associated with the certificate.

Non Critical Extension OI Ds

Array of String

Object identifiers (OIDs) of non-critical extensions in the certificate.

Not After

Date

Expiration date of the certificate.

Not Before

Date

Date from which the certificate is valid.

Public Key

Public key information from the certificate.

Serial Number

Number

Serial number of the certificate.

Serial Number Object

Serial number object containing detailed serial number information.

Sig Alg Name

String

Name of the signature algorithm used to sign the certificate.

Sig Alg OID

String

Object identifier (OID) of the signature algorithm.

Sig Alg Params

Binary

Parameters for the signature algorithm.

Signature

Binary

Digital signature of the certificate.

Subject Alternative Names

Alternative names for the certificate subject.

Subject DN

Distinguished name of the certificate subject.

Subject X500 Principal

X.500 principal information for the certificate subject.

Type

String

Type of the certificate.

Version

Number

Version number of the certificate format.

### Certificate Extension
FieldTypeDescriptionDefault ValueRequired

Criticality

Boolean

Indicates whether the extension is critical. If true, the extension must be processed by the certificate user.

Oid

String

Object identifier (OID) that uniquely identifies the extension type.

Value

Binary

The extension value in its encoded form.

### Alternative Name Data
FieldTypeDescriptionDefault ValueRequired

Name

String

The alternative name value.

Type

Number

The type of alternative name.

### Principal Data
FieldTypeDescriptionDefault ValueRequired

Common Name

String

The common name (CN) component of the distinguished name.

Name

String

The full distinguished name string representation.

### X500 Principal Data
FieldTypeDescriptionDefault ValueRequired

Name

String

The X.500 distinguished name in string format.

### Public Key Data
FieldTypeDescriptionDefault ValueRequired

Algorithm

String

The algorithm used for the public key (for example, RSA, DSA, EC).

Encoded

Binary

The encoded form of the public key.

Modulus

Number

The modulus value for RSA public keys.

Params

Number

Algorithm-specific parameters for the public key.

Public Key

String

The public key value in string representation.

### Serial Number Data
FieldTypeDescriptionDefault ValueRequired

Serial Number

Number

The serial number value of the certificate.

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times to process a redelivered request unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

## See Also - [Using Anypoint Code Builder to Configure a Connector](../../connectors/introduction/intro-config-use-acb) - [Using Studio to Configure a Connector](../../connectors/introduction/intro-config-use-studio) - [A2A Connector Overview](./) - [Salesforce Help](https://help.salesforce.com) --- # Using Anypoint Studio to Configure A2A Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). 6. [Configure the other connector fields](#configure-other-fields). When you run the connector, you can view the app log to check for problems in real time, as described in [View the App Log](#view-app-log). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](../../connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [A2A Connector Reference](a2a-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure Anypoint Connector for A2A (A2A Connector): 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add A2A Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `a2a` in the search field. 3. Click **A2A Connector** in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure connector-specific sources, or other sources to use with A2A Connector, such as: - **HTTP > Listener** Initiates a flow each time it receives a request on the configured host and port - **Scheduler** Initiates a flow when a time-based condition is met For example, to configure an **HTTP > Listener** source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **HTTP > Listener** source in the app. 6. On the **General** tab, specify the connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for A2A Connector, follow these steps: 1. In **Mule Palette**, select **A2A** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target A2A system. You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](../../connectors/introduction/intro-connector-configuration-overview). To configure the global element for A2A Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. On the properties screen for the operation, click the Add (**+**) icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure: - [Expression or Bean Reference](#expression-or-bean-ref) - [Basic Authentication](#basic_authentication) - [Digest](#digest) - [NTLM](#ntlm) 4. On the **TLS** tab, optionally specify the TLS information for the connector. 5. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 6. Click **Test Connection** to confirm that Mule can connect with the specified server. 7. Click **OK**. ### Expression or Bean Reference Uses a DataWeave expression or bean reference to define authentication. Enter the authentication information in the **Global Element Properties** screen: 1. Select **General > Authentication > Expression or Bean reference** and enter the DataWeave expression. 2. Click **OK**. ### Basic Authentication Basic authentication is a simple (less secure) authentication scheme where the client sends the username and password in plain text (encoded in Base64) in the HTTP Authorization header. Enter the Basic authentication information in the **Global Element Properties** screen: 1. Select **General > Authentication > Basic authentication** and enter or set the values for these fields:
FieldUser Action

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

2. Click **OK**. ### Digest Digest is an HTTP authentication scheme that uses a challenge-response mechanism to avoid sending passwords in plain text. Enter the Digest authentication information in the **Global Element Properties** screen: 1. Select **General > Authentication > Digest authentication** and enter or set the values for these fields:
FieldUser Action

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

2. Click **OK**. ### NTLM NTLM authentication is a Microsoft authentication protocol used primarily in Windows environments. It uses a challenge-response mechanism and is commonly used for network authentication. Enter the NTLM authentication information in the **Global Element Properties** screen: 1. Select **General > Authentication > Ntlm authentication** and enter or set the values for these fields:
FieldUser Action

Domain

Name of the proxy domain.

Workstation

Name of the proxy workstation.

Username

Username used to initialize the session.

Password

Password used to authenticate the user.

Preemptive

If set to true, the client sends its authentication credentials (username and password) with the initial HTTP request to the server, rather than waiting for the server to challenge (401 Unauthorized) the client.

2. Click **OK**. ## Configure Additional Connector Fields After you configure a global element for A2A Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use. ## View the Application Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output is visible on the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output is visible in your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## See Also - [Introduction to Anypoint Connectors](../../connectors/introduction/introduction-to-anypoint-connectors) - [Using Studio to Configure a Connector](../../connectors/introduction/intro-config-use-studio) - [A2A Connector Reference](a2a-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- # A2A Connector 1.1 Troubleshooting > For the full documentation index, see: https://docs.mulesoft.com/llms.txt To troubleshoot Anypoint Connector for A2A (A2A Connector), become familiar with the information about performing general troubleshooting, addressing specific common errors, and interpreting commonly thrown exception messages. ## Error Unmarshalling String JSON Payload into Type io.a2a.spec.Task. Cause: Argument "content" is Null Likely cause: - The payload maps to a task or message schema that expects a non-null text content field, but received `null`. Resolution checklist: - Ensure every text part includes `kind: "text"` and a non-empty `text` value. - Avoid sending `content: null` or equivalent nullable fields in message or task parts. - Validate outbound JSON in Studio using connector metadata types before sending. - Confirm your DataWeave transformation outputs JSON objects, not quoted JSON strings. ## Failed to Establish SSE Connection Likely causes: - Request is sent to `message/send` instead of `message/stream`. - The server app doesn’t include an active `a2a:task-stream-listener` flow. - Reverse proxy or gateway strips `text/event-stream` semantics or closes long-lived HTTP connections. Resolution checklist: - Verify the method is `message/stream`. - Verify the server flow includes `a2a:task-stream-listener`. - Confirm HTTP 200 response with `Content-Type: text/event-stream`. - Check timeout and keepalive settings in intermediary proxies and load balancers. ## A2A Server Config Errors Despite Correct Configuration Likely causes: - Invalid `agentPath` to listener route binding. - Card file path not found at runtime. - Agent card JSON is malformed or missing capability metadata expected by clients. Resolution checklist: - Use `${app.home}/agent-card.json` when deploying to CloudHub. - Validate card JSON syntax and required top-level fields. - Confirm `` references a valid `http:listener-config`. - Check app startup logs for binding or card parsing errors before runtime requests. ## See Also - [A2A Connector Examples](a2a-connector-examples) - [A2A Connector Reference](a2a-connector-reference) - [Salesforce Help](https://help.salesforce.com) - [Known Issues](https://help.salesforce.com/s/issues) --- # Upgrading and Migrating A2A Connector to Version 1.x > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Upgrade Anypoint Connector for Agent2Agent (A2A) (A2A Connector) to version 1.x. ## Supported Upgrade Paths
From VersionTo Version

0.x

1.x

## Changes in 1.0 - 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/cancel` method. - A2A Connector now includes the `A2A:TASK_NOT_CANCELABLE` and `A2A:UNSUPPORTED_OPERATION` errors for all operations. - A2A Connector no longer includes the `A2A:TASK_ALREADY_COMPLETED` error 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. ## Requirements Ensure your system meets the following compatibility requirements before you perform the upgrade:
SoftwareVersion

Mule

4.9.8 and later

OpenJDK

17

A2A protocol

0.3.0

## Upgrade Prerequisites Before you perform the upgrade, create a backup of your files, data, and configuration in case you need to restore to the previous version. ## Upgrade Steps Follow these steps to perform the upgrade to version 1.x: 1. In Anypoint Studio, create a Mule project. 2. In the **Mule Palette** view, click **Search in Exchange**. 3. In **Add Dependencies to Project**, enter `a2a` in the search field. 4. In **Available modules**, select **A2A Connector** and click **Add**. 5. Click **Finish**. 6. Verify that the A2A Connector dependency version is 1.x in the `pom.xml` file in the Mule project. Studio upgrades the connector automatically. ## Post-Upgrade Steps After you install the latest version of the connector, verify that your error handling is updated to work with the minor changes in error codes in this version of the connector. ## Verify the Upgrade After you install the latest version of the connector, follow these steps to verify the upgrade: 1. In Studio, verify that there are no errors in the **Problems** or **Console** views. 2. Verify that there are no problems in the project `pom.xml` file. 3. Test the connection to verify that the operations work. ## Revert the Upgrade If it is necessary to revert to the previous version of A2A Connector, change the A2A Connector dependency version in the project’s `pom.xml` file to the previous version. You must update the project’s `pom.xml` file in Anypoint Studio. ## See Also - [Introduction to Anypoint Connectors](../../connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- # A2A Connector 1.1 XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Code Builder or Studio: - If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Code Builder or Studio XML editor, or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Code Builder or Studio, the XML is automatically populated the code with the connector’s namespace and schema location and it also adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/a2a http://www.mulesoft.org/schema/mule/a2a/current/mule-a2a.xsd ``` This example shows how the namespace statements are placed in the `` XML block: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml com.mulesoft.connectors mule4-a2a-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `a2a`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Update Maven Plugin Version A2A Connector requires Mule Maven Plugin 4.6.0 or later to support Server-Sent Events (SSE) for streaming operations. Update your project’s `pom.xml` file to include this version: ```xml 4.9.8 4.6.0 ``` Without this update, you might encounter classloading errors related to `org.mule.runtime.http.api.sse.server.SseClient` when deploying applications that use streaming features. ## Next Step After completing your namespace and pom.xml file, you can try the [Examples](a2a-connector-examples). ## See Also - [Introduction to Anypoint Connectors](../../connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- # A2A Connector 1.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt 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. The A2A protocol is an open standard that supports: - Capability discovery Identifies the functions and services offered by agents. - Interaction negotiation Establishes communication methods between agents. - Secure information exchange Transmits data between agent systems without requiring direct internal access. A2A Connector provides Mule app integration that functions as both A2A servers and A2A clients. For information about compatibility and fixed issues, see the A2A Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Code Builder or Anypoint Studio Before creating an app, you must have: - Java 17 - Apache Maven - Anypoint Platform - Credentials to connect with the target resource - The latest versions of Anypoint Code Builder or Anypoint Studio ## Common Use Cases for the Connector Build specialized domain specific agents each for Customer Service, Sales, or Marketing and have other agents interact with these agents using the A2A protocol. A2A Connector also provides distributed tracing support, enabling comprehensive monitoring and observability of A2A interactions across distributed systems. ## Connection Types A2A Connector supports these connection types: - A2A server - A2A client ## Next Step After you complete the prerequisites, you’re ready to create an app and configure the connector using [Anypoint Studio](a2a-connector-studio) or [Anypoint Code Builder](a2a-connector-acb). ## See Also - [Anypoint Connectors Overview](../../connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Code Builder to Configure a Connector](../../connectors/introduction/intro-config-use-acb) - [Using Anypoint Studio to Configure a Connector](../../connectors/introduction/intro-config-use-studio) - [A2A Connector Reference](a2a-connector-reference) - [Salesforce Help](https://help.salesforce.com)