Table of Contents

A2A AI agent

Defines an AI agent designed to perform tasks on behalf of a Client (orchestrator) agent. It uses the A2A protocol and is intended exclusively for Agent-to-Agent interoperability where requests are issued by a Client agent and the (A2A) AI agent is responsible for completing the task.

Note

The AI agent node has no Execution in or Execution out ports, which means that when it’s used in a Flow, no other executable nodes can be included in that Flow.

img


Properties

Name Type Description
Name Required A human-readable name for the agent. The name helps users and other agents in understanding its purpose.
Instructions Required Defines the behavior of the agent and rules it should follow.
Description Required A human-readable description of the agent, assisting users and other agents in understanding its purpose.
Skills Required The set of skills, or distinct capabilities, that the agent can perform.

Skills

Name Type Description
Name Required A human-readable name for the skill.
Description Required A detailed description of the skill, intended to help clients or users understand its purpose and functionality.
Tags Recommended A semicolon separated list of keywords describing the skill's capabilities, for example billing; customer support
Input modes Recommended The set of supported input Media types for this skill, for example text, application/json, or image/png. This describes the format of the data that the agent accepts.
Output modes Recommended The set of supported output Media types for this skill, for example text, application/json, or image/png. This describes the format of the data that the agent returns to the client agent.
Examples Recommended Example prompts or scenarios that this skill can handle. Provides a hint to the client on how to use the skill. Example: "What is the total amount for sales in region West?"

Enabling Client agents to use the AI agent as a remote agent

A2A enables agent-to-agent interoperability, where a Client Agent acts on behalf of a user or process, issuing requests and commands to remote agents.

To use a Flow A2A AI Agent as a remote agent, the Client Agent must first discover it by retrieving its Agent Card. The Agent Card contains information about the agent—such as its API endpoint and authentication requirements. The discovery request itself does not require authentication.

Once the Client Agent has discovered the remote agent, it can use the information in the Agent Card to make authenticated requests. Flow A2A AI Agents support API key authentication, so an API key must be included in the HTTP request sent by the Client Agent.

The Agent Card specifies the name of the authentication header so it can be resolved dynamically. For Flow, the header is always x-api-key.

private static async Task<AIAgent> CreateAgentAsync(AgentInfo agentInfo)
{
    var url = new Uri(agentInfo.Url);
    var httpClient = new HttpClient
    {
        Timeout = TimeSpan.FromSeconds(60)
    };

    var agentCardResolver = new A2ACardResolver(url, httpClient, agentCardPath: agentInfo.AgentCardPath);
    var agentCard = await agentCardResolver.GetAgentCardAsync();
    var securityScheme = ((ApiKeySecurityScheme)agentCard.SecuritySchemes["apiKey"]);

    // This should be looked up from some sort of storage, like a database or environment variable.
    string apiKey = "my-api-key"; 

    // Flow A2A agents always expects auth header to be named 'x-api-key',
    // however, you can avoid hard coding by getting it from the SecurityScheme in the Agent Card.
    httpClient.DefaultRequestHeaders.Add(securityScheme.Name, apiKey);

    return await agentCardResolver.GetAIAgentAsync(httpClient);
}

Finding the API key for an A2A AI agent.

To find the API key for an A2A AI agent, click the Agent Card discovery addresses in the agent's property editor, or open the Resources -> Flow properties window in the application toolbar (upper right corner).

Note

If the API key field is empty, go to the Portal and generate an API key for A2A.

img