AI A2AClient

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.A2AClient

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

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.

Server URL

Base URL of the remote agent's A2A server. No default: this property is required.

Defaulttool

Agent 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.