A2A Connector 0.1.0-BETA Reference
Anypoint Connector for Agent2Agent (A2A) (A2A Connector) provides A2A protocol support for LLM agents, enabling your agents to talk to other agents.
Anypoint Connector for Agent2Agent (A2A) 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. |
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
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
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
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
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:
|
Time unit for the Request Timeout field. |
SECONDS |
|
Authentication |
HttpRequestAuthentication |
|||
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. |
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
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
String |
Name for this configuration. Connectors reference the configuration with this name. |
x |
|
Connection |
The connection types to provide to this configuration. |
x |
||
Card |
x |
|||
Name |
String |
ID used to reference this configuration. |
x |
|
Task History Enabled |
Boolean |
Set to |
false |
|
Default Max History Length |
Number |
Maximum number of task history objects to store. |
||
Task History Object Store |
ObjectStore |
Connection Types
Server Connection
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Listener Config |
String |
Reference to the |
x |
|
Agent Path |
String |
URL where the Agent Card is located. |
x |
|
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. |
Cancel Task
<a2a:cancel-task>
Cancels the task specified by its unique identifier. It’s used to stop a previously initiated task.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
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 |
|
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. |
Get Task
<a2a: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
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
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 |
|
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. |
Send Task
<a2a:send-task>
Sends a task to another agent. It initiates a new task request to a remote A2A server.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
Name of the configuration to use. |
x |
|
Task |
Any |
#[payload] |
||
Config Ref |
ConfigurationProvider |
Name of the configuration to use to execute this component. |
x |
|
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. |
Task Listener
<a2a: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
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
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. |
||
Error Status Code |
Number |
HTTP status code of the response. |
500 |
Types
TLS
Configures TLS to provide secure communications for the Mule app.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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 |
Keystore
Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Only End Entities |
Boolean |
Which elements to verify in the certificate chain:
Verify only the last element in the certificate chain.
Verify all elements in the certificate chain. |
||
Prefer Crls |
Boolean |
How to check certificate validity:
Check the Certification Revocation List (CRL) for certificate validity.
Use the Online Certificate Status Protocol (OCSP) to check certificate validity. |
||
No Fallback |
Boolean |
Whether to use the secondary method to check certificate validity:
Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.
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:
Avoid verification failure.
Allow the verification to fail. |
Custom OCSP Responder
Configures a custom OCSP responder for certification revocation checks.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
Path to the CRL file. |
Reconnection
Configures a reconnection strategy for an operation.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often to attempt to reconnect, in milliseconds. |
||
Blocking |
Boolean |
If |
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often to attempt to reconnect, in milliseconds. |
||
Blocking |
Boolean |
If |
true |
Expiration Policy
Configures an expiration policy strategy.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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:
|
Time unit for the Max Idle Time field. |
Response Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Source |
Enumeration, one of:
|
|||
Target |
String |
x |
Agent Card
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
String |
Name for the agent. |
x |
|
Url |
String |
Base URL endpoint for the agent’s A2A service. Must be an absolute HTTPS URL for production. |
x |
|
Version |
String |
Version for the agent. |
x |
|
Description |
String |
Description for the agent. |
||
Skills |
Array of Agent Skill |
x |
||
Capabilities |
||||
Provider |
||||
Documentation Url |
String |
URL of the agent’s documentation. |
||
Agent Authentication |
||||
Default Input Modes |
Array of String |
Array of MIME types the agent accepts as input across all skills. |
||
Default Output Modes |
Array of String |
Array of MIME types the agent produces as output across all skills. |
Agent Skill
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Id |
String |
Unique identifier for this skill within the context of this agent. |
x |
|
Name |
String |
Name of the skill. |
x |
|
Description |
String |
Description of what the skill does. |
||
Tags |
Array of String |
Keywords or categories for discoverability of the agent. |
||
Examples |
Array of String |
Example prompts, inputs, or use cases. Examples help clients and agents formulate requests for this skill. |
||
Input Modes |
Array of String |
Overrides Agent Card Default Input Modes for this specific skill. |
||
Output Modes |
Array of String |
Overrides Agent Card Default Output Modes for this specific skill. |
Agent Capabilities
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Streaming |
Boolean |
Set to |
false |
|
Push Notifications |
Boolean |
Set to |
false |
|
State Transition History |
Boolean |
false |
Agent Provider
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Organization |
String |
Name of the organization or entity. |
x |
|
Url |
String |
URL of the provider’s website. |
Agent Authentication
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Authentication |
Array of String |
x |
||
Credentials |
String |
Request Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Query Params |
Object |
x |
||
Headers |
Object |
Map of HTTP headers in the message. |
x |
Redelivery Policy
Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
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 |
||
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 |
|||
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.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Use Secure Hash |
Boolean |
If |
||
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 |