Connect

A2A coordination

One agent delegates to another mid-run — via the plane, not ad-hoc HTTP between runner pods.

What it is

Native sub-agent delegation: call_agent / callAgent from inside a run. Same create-run semantics clients use, reached over an internal A2A route with depth and parent bookkeeping.

Why it is here

Multi-agent systems need shared credentials, HITL, and audit on child work too — not a side channel that bypasses the plane.

How to implement

  1. Register coordinator and worker agents on runners attached to the same plane.
  2. From a graph node, call the SDK helper with the run’s config.
  3. Child run is enqueued like any other job; wait or async per API.
  4. Observe both runs in Admin → Runs / Threads.
# Python
from runkite_runner.a2a import call_agent

async def coordinator_node(state, config):
    result = await call_agent(config, "worker_agent", {"messages": [...]}, wait=True)
    ...

# TypeScript
import { callAgent } from "runkite-runner";
const result = await callAgent(config, "worker_agent", { messages: [...] }, { wait: true });

In the product

Admin overview — plane activity while agents coordinate
Runkite Admin Overview

What to expect

Reference: docs/a2a.md · Scenario · Protocols