Overview
The "A2A Client Agent" node enables interaction with A2A (Agent-to-Agent) servers by sending tasks, checking the status of submitted tasks, or retrieving agent capabilities. It is useful in workflows that require offloading processing to external agents, monitoring asynchronous task execution, or dynamically discovering agent features.
Typical use cases include:
- Submitting a data processing or orchestration task to an external agent and optionally waiting for immediate results.
- Polling the status of a previously submitted task using its task ID.
- Querying an agent to understand its supported capabilities and protocols before sending tasks.
For example, you might send a workflow orchestration task to an agent and then periodically check its status until completion, integrating external processing seamlessly into your n8n automation.
Properties
| Name | Meaning |
|---|---|
| Registry URL | URL of the A2A registry used to discover available agents. |
| Available Agents | Select an agent discovered from the registry or choose manual configuration. |
| Agent Server URL | URL of the selected A2A agent server; auto-detected if left empty when manual configuration is used. |
| Agent Server Port | Port number of the A2A agent server (used only if manual configuration and no URL provided). |
| Task ID | Identifier of the task whose status you want to check (required for "Check Task Status" operation). |
| Advanced Options | Collection of optional parameters: |
| - Client ID | Identifier string for this client (default: "n8n-client"). |
| - Session ID | Session identifier for correlating tasks; auto-generated if empty. |
| - Correlation ID | Correlation identifier for tracking; auto-generated if empty. |
| - Timeout (seconds) | Request timeout duration in seconds (default: 30). |
| - Required Capabilities | Comma-separated list of required agent capabilities (only for "Send Task" operation). |
Output
The node outputs JSON objects containing the original input merged with additional fields related to the A2A interaction:
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.a2a_task_id: The task identifier assigned by the agent (for task submission and status).a2a_status: Current status of the task (e.g., pending, completed).a2a_result: Result data returned by the agent upon task completion (present if synchronous mode or task completed).a2a_completed_at: Timestamp when the task was completed.a2a_response: Full raw response object from the agent.a2a_agent_url: URL of the agent server used.a2a_agent_info: Metadata about the selected agent.a2a_sent_at,a2a_checked_at,a2a_retrieved_at: Timestamps marking when the request was sent, status checked, or capabilities retrieved.a2a_error: Error message if the request failed.a2a_error_data: Additional error details if available.a2a_failed_at: Timestamp when the failure occurred.a2a_operation: The operation being performed when an error occurs.a2a_error_timestamp: Timestamp of the error occurrence.
If the node sends binary data, it would be included in the output, but this implementation focuses on JSON data exchange.
Dependencies
- Requires access to an A2A registry service to discover agents (optional if manual configuration is used).
- Requires network connectivity to the selected A2A agent server.
- Uses HTTP POST requests with JSON-RPC 2.0 protocol to communicate with the agent.
- No internal credential types are required, but users must ensure the agent server is accessible and any necessary authentication is handled externally.
- The node uses standard HTTP headers including custom headers for client identification and correlation.
Troubleshooting
- No valid agent selected: If the registry cannot be reached or returns no active agents, and manual configuration is not properly set, the node will throw an error. Ensure the registry URL is correct or configure the agent manually.
- Invalid JSON in task data: When sending a task, the JSON data must be valid. Invalid JSON will cause an error. Validate JSON syntax before input.
- Non-JSON or malformed responses: The node expects JSON-RPC 2.0 compliant responses. If the agent returns non-JSON or invalid format, the node reports an error.
- Timeouts: Requests have a configurable timeout (default 30 seconds). Increase if the agent is slow to respond.
- HTTP errors: Network issues or incorrect URLs can cause HTTP errors. Verify the agent server URL and port.
- Agent capabilities mismatch: When specifying required capabilities, ensure the selected agent supports them; otherwise, task submission may fail.
Links and References
- JSON-RPC 2.0 Specification
- A2A (Agent-to-Agent) communication concepts (no direct public link; refer to your organization's documentation)
- n8n Documentation on creating custom nodes and HTTP requests: https://docs.n8n.io/
This summary covers the "Check Task Status" operation within the "Default" resource context, focusing on the relevant properties and behavior extracted from the source code and provided property definitions.