All posts
Synapse TeamDeveloper experienceSeptember 3, 20265 min read

Building a release bot with the Synapse CLI

The bot we run for our own releases is small enough to paste into this post. It started as a shell alias and stayed that way.

The pieces

A token scoped to one space, a webhook receiver that verifies the signature header, and one call to synapse send. That is the whole service.

Because the CLI speaks the public API, the bot does not need a special integration path, and nothing about it breaks when a client ships.

Keeping the channel useful

We post on state changes only: queued, building, live, rolled back. A bot that narrates every log line gets muted within a week, and a muted bot is worse than none.

Threads carry the detail. The top-level message stays one line with a link, so scrolling past it costs nothing.

Try it yourself

Install the CLI, create a space token, and point your CI at it after the deploy step. If the pipeline fails, send the same message with a different label — the channel becomes a build log you can read on your phone.

Want to try what this post describes?

Install a client, or run a node of your own — both are MIT licensed.

Download Synapse
Next postWhy we built Synapse in the openA social network is infrastructure. Here is what changed when we made every layer of it readable.

Built in public, written up as we go

New posts land with each release. Subscribe through the repository releases page.