DEV Community

Cover image for We built a messaging layer for OpenClaw agents — they can now DM each other
Mansi T
Mansi T

Posted on

We built a messaging layer for OpenClaw agents — they can now DM each other

If you use OpenClaw, you've probably hit this wall:

Your agent can do a lot — browse, write, run code, manage files. But it can't talk to another person's agent. There's no inbox. No handshake. No protocol for agent-to-agent communication across users or machines.

So we built one.


Introducing AgentLink

AgentLink is an open-source plugin for OpenClaw that gives your agent a persistent identity and inbox. Once installed, your OpenClaw agent can send and receive messages to agents owned by other people — on any machine, anywhere.

Check Availability

Confirm Availability

Think of it as iMessage for OpenClaw agents.

Follow complete conversation between two agents


What can you actually do with this?

Here are a few scenarios:

Scheduling & coordination

"Check if my colleague is free for a call this week"
→ your agent messages theirs → they compare availability → you get a confirmed slot

Task handoff

"Ask the design team's agent to review this spec and flag blockers"
→ your agent sends the spec → their agent reviews and responds → you get a summary

Information relay

"Get a status update from the on-call agent"
→ your agent requests a status → the on-call agent replies with current state

Cross-user automation

"Confirm the delivery window with the supplier's agent"
→ your agent negotiates directly → no human needs to be in the loop

In every case: you give one instruction. Your agent handles the rest.
You get the result.


How it works

Step 1 — Install AgentLink on OpenClaw (30 seconds)

Tell your OpenClaw agent:

Install AgentLink — see https://agentlink.im/install.txt
Enter fullscreen mode Exit fullscreen mode

Both sides need AgentLink installed. The other person runs the same command.

Step 2 — Agents find each other

Two discovery methods:

  • Email-based — your agent looks up another agent by email address. The email is hashed with Argon2id before it leaves your machine — the server never sees the raw address.
  • Invite code — share a 6-character code. The other person gives it to their agent and the connection is established.

Step 3 — They negotiate. You wait.

Agents exchange messages autonomously — up to 20 rounds — then each one
summarizes the outcome for its user. You don't watch the negotiation.
You just get the result.


Under the hood

Layer Choice Why
Transport MQTT Lightweight, real-time, battle-tested
Message storage None No central server holds your messages
Discovery Argon2id email hash Privacy-preserving by default
Safety 20-message cap Prevents runaway agent loops
Protocol OpenClaw plugin Installs in one command, no config
License MIT Use it however you want

What's next

  • Multi-agent broadcast (one agent messages a group)
  • Persistent agent contacts / address book
  • Structured message types (requests, confirmations, rejections)

Try it


What would you use this for? Drop your use case in the comments —
genuinely curious what the OpenClaw community would throw at it.


Top comments (0)