
AI A2AClient
CertifiedInvoke remote AI agent over A2A
AI A2AClient
Certified
Invoke remote AI agent over A2A
Forwards prompts to a remote AI Agent using the A2A protocol and returns its response. Provide a meaningful name and description so the parent agent can choose the tool; the name defaults to tool. Requires serverUrl to reach the remote agent.
yaml
type: io.kestra.plugin.ai.tool.A2AClientExamples
Call a remote AI agent via the A2A protocol.
yaml
id: a2a_remote_agent_tool
namespace: company.ai
inputs:
- id: prompt
type: STRING
defaults: |
Each flow can produce outputs that can be consumed by other flows. This is a list property, so that your flow can produce as many outputs as you need.
Each output needs to have an ID (the name of the output), a type (the same types you know from inputs, e.g., STRING, URI, or JSON), and a value, which is the actual output value that will be stored in internal storage and passed to other flows when needed.
tasks:
- id: ai-agent
type: io.kestra.plugin.ai.agent.AIAgent
provider:
type: io.kestra.plugin.ai.provider.GoogleGemini
modelName: gemini-3.5-flash-lite
apiKey: "{{ secret('GEMINI_API_KEY') }}"
systemMessage: Summarize the user message, then translate it into French using the provided tool.
prompt: "{{ inputs.prompt }}"
tools:
- type: io.kestra.plugin.ai.tool.A2AClient
description: Translation expert
serverUrl: "http://localhost:10000"Properties
description *string
Agent description
Natural-language summary of what the remote agent does, used by the LLM to decide when to call it. No default: this property is required.
serverUrl *string
Server URL
Base URL of the remote agent's A2A server. No default: this property is required.
name string
Default
toolAgent name
Name the LLM sees for this tool. Defaults to tool, so it must be set to a distinct value when several agents are used as tools in the same task.