What works
Hermes keeps listening on your WhatsApp through a small zapbip plugin. You write first or answer a question later, and the message reaches the Hermes session.Messages you forward
A message you forwarded from someone else reaches Hermes with a label that says you did not write it, so Hermes does not treat it as your instruction.How it listens
Rung: Local. While a question is open, Hermes waits up to 50 seconds at a time. If you have not answered, the wait ends as pending and Hermes calls again, as many times as it takes, with no time limit. The plugin holds one connection to zapbip open, with no time limit. If the network drops it reconnects by itself, waiting a little longer after each failed try (1 second at first, 30 seconds at most). Messages you send meanwhile wait in your zapbip inbox, and the plugin picks up every one that was not answered as soon as it is back.If the plugin cannot be installed
Hermes can poll instead. Add the MCP server from the setup and create a job every 1 minute that callscheck_inbox. Your messages wait up to a minute, and the answer comes the same way.
Set up from zero
What you need
- Hermes with its gateway running.
- Your connection link, the same
https://.../c/<secret>/mcplink your AI uses to talk to zapbip. Treat it like a password.
Install the plugin
Install the package into the Python environment Hermes runs in:~/.hermes/config.yaml:
600 so only your user can read it, and never share it or commit it:
npx zapbip@0.1.0 listen, never both. A second listener replaces the first.
How Hermes answers
Hermes sends its replies to your messages back through the plugin itself, with no extra setup. Add zapbip as an MCP server so Hermes can also start a conversation with you, ask you a question with buttons and wait for the answer, and use the polling fallback below:✅ installed. If that message arrives, it works.