Call a remote AI agent via the A2A protocol.
This tool allows an LLM to call a remote AI Agent via the A2A protocol. Make sure to specify a name and a description so the LLM can understand what it does to decide if it needs to call it.
yaml
type: "io.kestra.plugin.ai.tool.A2AAgent"Examples
Call a remote AI agent via the A2A protocol.
yaml
id: ai-agent-with-agent-tools
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-2.5-flash
      apiKey: "{{ kv('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.A2AAgent
        description: Translation expert
        serverUrl: "http://localhost:10000"Properties
description *Requiredstring
Agent description
The description will be used to instruct the LLM what the tool is doing.
serverUrl *Requiredstring
Server URL
The URL of the remote agent A2A server
name string
 Default 
toolAgent name
It must be set to a different value than the default in case you want to have multiple agents used as tools in the same task.
