Overview
The A2A Client Agent node enables sending tasks to and interacting with A2A (Agent-to-Agent) servers. It supports three main operations:
- Send Task: Submit a task with custom JSON data to an A2A agent server, either synchronously (waiting for immediate results) or asynchronously (receiving a task ID for later status checks).
- Check Task Status: Query the current status of a previously submitted task using its task ID.
- Get Agent Capabilities: Retrieve metadata about an agent’s capabilities, supported protocols, modalities, and processing modes.
This node is useful in workflows that require offloading work to external agents or services capable of processing specialized tasks, orchestrating workflows, or integrating with distributed systems. For example, you might use it to send data processing jobs, trigger remote automation, or monitor asynchronous task progress.
Properties
| Name | Meaning |
|---|---|
| Registry URL | URL of the A2A registry used to discover available agents dynamically. |
| Available Agents | Select an agent from the discovered list or choose manual configuration. Options include discovered agents, manual entry, or error states if the registry is unreachable. |
| Agent Server URL | The URL of the selected A2A agent server. Auto-detected if left empty when using manual configuration. |
| Agent Server Port | Port number for the A2A agent server, used only if manual configuration is selected and no URL is provided. |
| Task Type | String describing the type/category of the task being sent (e.g., "general"). |
| Task Description | Human-readable description of the task. |
| Task Data | JSON object containing the payload/data to send with the task. Must be valid JSON. |
| Processing Mode | How the task should be processed: - Synchronous: Wait for task completion and return results immediately. - Asynchronous: Submit task and receive a task ID for later status checking. |
| Task ID | (For "Check Task Status" operation) The identifier of the task whose status is being queried. |
| Advanced Options | Collection of optional parameters: - Client ID: Identifier string for this client instance. - Session ID: Session correlation ID; auto-generated if empty. - Correlation ID: Tracking ID; auto-generated if empty. - Timeout (seconds): Request timeout. - Required Capabilities: Comma-separated list of required agent capabilities to filter/select appropriate agents. |
Output
The node outputs an array of items, each containing a json field enriched with the following fields depending on the operation and result:
Common output fields:
a2a_success: Boolean indicating if the request was successful.a2a_request_id: Unique ID generated for the request.a2a_response_id: Response ID from the agent server.a2a_agent_url: URL of the agent server used.a2a_agent_info: Parsed information about the selected agent.a2a_error: Error message if the request failed.a2a_error_data: Additional error details if available.a2a_failed_at,a2a_error_timestamp,a2a_sent_at,a2a_checked_at,a2a_completed_at,a2a_retrieved_at: Timestamps related to request lifecycle events.
Send Task operation:
- On success:
a2a_task_id: ID of the submitted task.a2a_session_id,a2a_correlation_id: IDs for session and correlation tracking.a2a_status: Current status of the task.a2a_processing_mode: Processing mode used.- If synchronous and completed, includes
a2a_resultwith workflow results. - Full raw response under
a2a_response.
- On failure, error details as above.
- On success:
Check Task Status operation:
- On success:
a2a_task_id: Queried task ID.a2a_status: Current status.- Optionally
a2a_resultanda2a_completed_atif available. - Full raw response under
a2a_response.
- On failure, error details as above.
- On success:
Get Agent Capabilities operation:
- On success:
a2a_agent_id: Agent identifier.a2a_capabilities: Object listing agent capabilities.a2a_supported_protocols: Supported communication protocols.a2a_supported_modalities: Supported interaction modalities.a2a_processing_modes: Supported processing modes.- Full raw response under
a2a_response.
- On failure, error details as above.
- On success:
The node does not output binary data.
Dependencies
- Requires access to an A2A registry service to discover agents (optional but recommended).
- Requires network connectivity to the selected A2A agent server.
- Uses HTTP POST requests with JSON-RPC 2.0 protocol to communicate with the agent server.
- No internal credential types are required, but users must provide URLs and optionally authentication tokens if their A2A setup requires them.
- Timeout and client/session/correlation IDs can be configured for request management.
Troubleshooting
- No valid agent selected: Occurs if the registry cannot be reached or no agents are discovered and manual configuration is not properly set. Solution: Verify registry URL, network connectivity, or switch to manual agent configuration.
- Invalid JSON in task data: The
taskDataproperty must contain valid JSON. Errors here indicate malformed JSON input. Solution: Validate and correct the JSON syntax. - Invalid agent selection: If the selected agent option cannot be parsed as JSON, likely due to corrupted or unexpected data. Solution: Refresh agent list or manually configure the agent.
- Non-JSON or invalid JSON-RPC responses: The agent server must respond with valid JSON-RPC 2.0 format. Unexpected responses cause errors. Solution: Check agent server health and compatibility.
- Timeouts: Requests may time out based on the configured timeout value. Increase timeout if necessary or check network latency.
- HTTP errors: Any non-200 HTTP status codes will be reported with the status and message. Ensure the agent server URL and port are correct and accessible.
Links and References
- JSON-RPC 2.0 Specification
- Documentation or API reference for your specific A2A agent server implementation (not included here)
- n8n documentation on Creating Custom Nodes