← Back to Plugins
Tools

A2a Plugins

aramisfacchinetti By aramisfacchinetti 👁 139 views ▲ 0 votes

OpenClaw plugins that let agents hand work to other A2A agents and track or cancel those delegated tasks.

Homepage GitHub

Install

npm install @aramisfa/openclaw-a2a-outbound

Configuration Example

{
  "enabled": true,
  "defaults": {
    "timeoutMs": 120000
  },
  "policy": {
    "normalizeBaseUrl": true
  }
}

README

# A2A Plugins for OpenClaw

[![outbound npm](https://img.shields.io/npm/v/%40aramisfa%2Fopenclaw-a2a-outbound?label=outbound%20npm)](https://www.npmjs.com/package/@aramisfa/openclaw-a2a-outbound)
[![node](https://img.shields.io/node/v/%40aramisfa%2Fopenclaw-a2a-outbound)](https://www.npmjs.com/package/@aramisfa/openclaw-a2a-outbound)
[![license](https://img.shields.io/github/license/aramisfacchinetti/openclaw-a2a-plugins)](https://github.com/aramisfacchinetti/openclaw-a2a-plugins/blob/master/LICENSE)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-2026.3.2-0A7B83)](https://github.com/aramisfacchinetti/openclaw-a2a-plugins/tree/master/packages/a2a-outbound)

`openclaw-a2a-plugins` is a monorepo for OpenClaw Agent-to-Agent (A2A) plugins.

Today, the only implemented package intended for use is [`@aramisfa/openclaw-a2a-outbound`](./packages/a2a-outbound). The inbound package, [`@aramisfa/openclaw-a2a-inbound`](./packages/a2a-inbound), is currently a placeholder and is not documented or ready for general use.

## Getting Started

Start with the outbound plugin, [`@aramisfa/openclaw-a2a-outbound`](./packages/a2a-outbound). It is the supported package in this repository today. It lets OpenClaw delegate work to external A2A agents, stream live updates, resubscribe to running tasks, and track or cancel delegated work.

### Prerequisites

- Node.js `>=22.12.0`
- OpenClaw `2026.3.2`

### Install the Package

```bash
npm install @aramisfa/openclaw-a2a-outbound
```

### Enable the Plugin

Enable plugin id `a2a-outbound` in your OpenClaw plugin config. The outbound config starts with this top-level shape:

```json
{
  "enabled": true,
  "defaults": {
    "timeoutMs": 120000
  },
  "policy": {
    "normalizeBaseUrl": true
  }
}
```

### Where to Go Next

Use [`packages/a2a-outbound/README.md`](./packages/a2a-outbound/README.md) for full configuration details, validation behavior, and package-specific usage.

## Packages

| Package | Status | Notes |
| --- | --- | --- |
| [`@aramisfa/openclaw-a2a-outbound`](./packages/a2a-outbound) | Available now | Outbound OpenClaw plugin for delegating work to external A2A agents. |
| [`@aramisfa/openclaw-a2a-inbound`](./packages/a2a-inbound) | Placeholder / experimental | Stub package only. Do not assume installation or usage guidance exists yet. |

## Current Capabilities

Current usable functionality is provided by `@aramisfa/openclaw-a2a-outbound` only.

It registers these OpenClaw tools:

- `a2a_delegate`
- `a2a_delegate_stream`
- `a2a_task_status`
- `a2a_task_resubscribe`
- `a2a_task_cancel`

The streaming tools emit OpenClaw tool updates for each A2A stream event and finish with a self-contained transcript payload containing the full event log.

Plugin id: `a2a-outbound`

## Repository Layout

- [`packages/a2a-outbound`](./packages/a2a-outbound): implemented outbound A2A plugin package, including docs, source, tests, and plugin manifest.
- [`packages/a2a-inbound`](./packages/a2a-inbound): placeholder inbound workspace package that is not yet ready for general use.
- Workspace root: shared `pnpm` workspace tooling, TypeScript project configuration, and Changesets release management.

## Development

This repository uses a `pnpm` workspace.

From the repository root:

```bash
pnpm build
pnpm typecheck
pnpm test
pnpm clean
```

Releases are managed with [Changesets](https://github.com/changesets/changesets).

## License

See the root [`LICENSE`](./LICENSE).
tools

Comments

Sign in to leave a comment

Loading comments...