I have recently picked up XMPP as my agent communication layer, and its worked great. Each pi agent is given an account and wrapped in an XMPP client[0] that lets it speak to me and other agents when needed.

This has worked well since I can spin up new accounts on demand and I can use existing server software (ejabberd, perfect) and clients (Fluux, great; Conversations, okay). I've had to make a few custom modifications to each client to make agent comms a bit nicer (e.g. exposing status messages more prominently since I use that to expose current agent commands), but the XMPP layer has had pretty much everything I could have wanted.

Controlling a chat service is a bit intoxicating, I'm now using it as my notification service over a bunch of different projects.

I used Google Chat way back, its nice that the tech is still around and great as ever.

[0]: https://github.com/zachpmanson/pi-msg

Cool use case with the agents, hadn't thought of that

Amazing! Perhaps my project here would interest you. Also do you have bonjour support?

https://github.com/gatlin/pii

Pii is interesting!

pi-msg doesn't support bonjour, I'm running it on a nixos server (nix is the real secret ingredient of my whole setup) the xmpp server is the same machine as the agents. I'm almost always on a different network to the one where the server is. If the server goes down the agents and ejabberd are coming down simultaneously.