Skip to main content
Telara

A2A Protocol / Setup Guide

A2A Setup Guide

Connect an external AI agent to Telara using the A2A protocol — delegate tasks, retrieve knowledge, and trigger actions from any compatible agent framework.

A2A Protocol
Agent-to-Agent
Setup

Overview

What is A2A?

Agent-to-Agent (A2A) is an open protocol that lets AI agents from different systems delegate tasks to each other. When your agent — running in LangChain, AutoGen, or any compatible framework — needs to do something that requires Telara's knowledge or connections, it can send a task to a Telara agent and receive a result, all programmatically.

Knowledge retrieval

Your agent asks a Telara agent to search the knowledge base and return relevant context — code, tickets, docs, messages.

Integration actions

Your agent delegates an action — create a Jira ticket, post to Slack — to Telara, which handles permissions and any required approval steps.

Multi-agent orchestration

A Telara Automation agent delegates sub-tasks to specialized agents, composing complex workflows across systems.

Before You Begin

Prerequisites

Before using A2A, make sure you have the following in place.

You (or your admin) must have a Telara configuration created — this determines what data and tools the A2A agent has access to.

You need an API key for that configuration.

Your agent framework must support the A2A protocol (Google A2A compatible).

Configuration page showing the A2A endpoint URL and API key

Endpoint

Your A2A Endpoint

Each Telara configuration has a unique A2A endpoint URL. Here's how to find it.

1
Open Capabilities → Configurations
In the Telara dashboard, open Agents → Capabilities in the left sidebar and stay on the Configurations tab, then select or create the configuration you want to expose over A2A.
2
Click the A2A tab
Inside the configuration detail view, click the A2A tab.
3
Copy the endpoint URL
Copy the A2A endpoint URL. It follows the pattern: https://a2a.telara.dev/agents/[config-id]
4
Copy your API key
Copy your API key, or generate a new one if you haven't already. This key authenticates all A2A requests for this configuration.
Configuration A2A tab showing endpoint URL and API key

Discovery

Agent Card

Every Telara A2A agent exposes an Agent Card — a JSON document describing its capabilities. Fetch it to understand what the agent can do before sending tasks.

Fetch the Agent Card
# Request
GET https://a2a.[domain]/agents/[config-id]/.well-known/agent.json
Authorization: Bearer telara_mcp_...
 
# Response
{
"name": "Engineering Full Access",
"description": "AI agent with access to your engineering knowledge base",
"skills": [
{ "id": "search", "name": "Knowledge Search" },
{ "id": "github", "name": "GitHub Actions" }
],
"capabilities": { "streaming": true, "pushNotifications": false }
}

Skills listed in the Agent Card are automatically derived from the connections and permission policies attached to your configuration.

Task API

Sending a Task

A2A uses a standard Task API. Send a task to the agent with a natural language message.

POST /tasks/send
POST https://a2a.[domain]/agents/[config-id]/tasks/send
Authorization: Bearer telara_mcp_...
Content-Type: application/json
 
{
"id": "task-123",
"message": {
"role": "user",
"parts": [{ "text": "Find all Jira tickets related to the auth service from this week" }]
}
}

Async & Streaming

Async Tasks and Streaming

For long-running tasks, use the streaming endpoint or poll for status. Telara supports both patterns.

Polling for task status
# Submit — task queued immediately
POST /tasks/send → { "id": "task-123", "status": { "state": "submitted" } }
 
# Poll — check progress
GET /tasks/task-123 → { "status": { "state": "working" } }
 
# Poll — task finished
GET /tasks/task-123 → { "status": { "state": "completed" }, "artifacts": [...] }
Streaming via Server-Sent Events
# Subscribe to real-time updates
POST /tasks/sendSubscribe
→ SSE stream with task updates
 
event: task_update
data: {"status": {"state": "working"} }
 
event: task_update
data: {"status": {"state": "completed"}, "artifacts": [...] }

Approval Flows

Approval Flows in A2A

If the task requires an action that has an approval step configured in the permission policy, the task pauses at state input-required. Your calling agent receives the pause event and can either wait for a human to approve in the Telara dashboard, or cancel the task.

input-required state
{
"status": {
"state": "input-required",
"message": {
"role": "agent",
"parts": [{
"text": "Approval required: post summary to #eng-updates on Slack. Waiting for human sign-off."
}]
}
}
}
Task resumes automatically

Once a human approves the action in the Telara dashboard, the task transitions back to working and continues. Your agent receives the update through the stream or on the next poll.

Authentication

Authentication

Send your API key as a Bearer token in the Authorization header on every request. The key must belong to a configuration that has the necessary connections and permissions for the task.

Request Header
Header
Authorization: Bearer telara_mcp_...
Access scope

The same permission policies apply to A2A as to other connection types. There is no elevated access via A2A — agents can only do what the configuration's policies allow.

Same governance everywhere

Permission policies, approval steps, and audit logging apply equally to A2A, MCP, and CLI connections. An agent cannot bypass an approval step by using A2A.