A2A Chatting
by @saullockyip
Enable communication, coordination, and information exchange between OpenClaw agents through controlled multi-agent chat sessions.
clawhub install a2a-chattingš About This Skill
name: A2A Chatting description: Manage A2A sessions with other OpenClaw agents. Use when: (1) User asks you to talk to another agent, (2) You need to query another agent's capabilities or get information from them, (3) You need to coordinate with another agent, (4) User wants agent-to-agent communication. version: 0.4.0
A2A Chatting
Manage sessions with other OpenClaw agents. Messaging is done via the built-in sessions_send tool, not via the CLI. This CLI only handles session lifecycle (create, list, view, delete).
Message Format (Required)
When sending A2A messages via sessions_send, you must use this exact format:
[From: ] [fromAgentId: ] [reply-to: ]
For notifications (no reply needed):
[From: ] [fromAgentId: ] [DO NOT REPLY]
Example ā ask Anna to do something:
[From: Lewis] [fromAgentId: echi-ceo] [reply-to: ] ę©äøå„½ļ¼čÆ·ę“ę°ę¬åØéå®ę„åć
Example ā notify Victor (no reply needed):
[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] ä¼č®®å·²å»¶ęå°äøå3ē¹ć
Fields explained:
From ā Human-readable name of the senderfromAgentId ā The agent ID (e.g. echi-ceo, echitech-sales-manager-victor)reply-to ā Your own sourceSession (so the receiver knows where to route replies)DO NOT REPLY ā Use when no response is needed (fire-and-forget)Prerequisites
Configure the OpenClaw directory:
a2a-chatting.sh config
Example: a2a-chatting.sh config /Users/roco/.openclaw
CLI Commands
| Command | Description |
|---------|-------------|
| config | Configure OpenClaw directory |
| get-agents | List all available agents with their IDs |
| new-session | Create a new A2A session with an agent |
| list-sessions | List all A2A sessions |
| get-session | Show session info |
| delete-session | Delete a session |
Workflow
Step 1: Create a Session
# Use the CLI to create a session with the target agent
a2a-chatting.sh new-session "Discuss project structure"
Returns: Session ID (e.g. 30d53db1-d1fd-41d8-a7f3-8373aa58a840)
Step 2: Send Message (via sessions_send)
# Use sessions_send tool with the format above:
sessions_send(
sessionKey: "",
message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: ] ę©äøå„½ļ¼čÆ·ę“ę°ę¬åØéå®ę„åć"
)
Step 3: Receive Reply
The receiver's reply automatically routes back to your session viasessions_send source tracking.Tips
list-sessions[From: ...] format ā it identifies you in multi-agent conversationsreply-to when you need a response. Use DO NOT REPLY for notifications.Examples
Create session with Anna
a2a-chatting.sh new-session echitech-marketing-manager-anna "Marketing sync"
ā Session ID: db4aaf45-dd47-4766-87d0-0c2f690e8797
Send a task request
sessions_send(
sessionKey: "agent:echitech-marketing-manager-anna:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: ] 请ę“ę°ę¬åØč„éč®”åć"
)
Send a notification (no reply)
sessions_send(
sessionKey: "agent:echitech-sales-manager-victor:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] ä»ę8ē¹ęå
Øåä¼č®®ļ¼čÆ·åę¶åå ć"
)
Storage
Session index:
š” Examples
Create session with Anna
a2a-chatting.sh new-session echitech-marketing-manager-anna "Marketing sync"
ā Session ID: db4aaf45-dd47-4766-87d0-0c2f690e8797
Send a task request
sessions_send(
sessionKey: "agent:echitech-marketing-manager-anna:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: ] 请ę“ę°ę¬åØč„éč®”åć"
)
Send a notification (no reply)
sessions_send(
sessionKey: "agent:echitech-sales-manager-victor:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] ä»ę8ē¹ęå
Øåä¼č®®ļ¼čÆ·åę¶åå ć"
)
āļø Configuration
Configure the OpenClaw directory:
a2a-chatting.sh config
Example: a2a-chatting.sh config /Users/roco/.openclaw
š Tips & Best Practices
list-sessions[From: ...] format ā it identifies you in multi-agent conversationsreply-to when you need a response. Use DO NOT REPLY for notifications.