Skip to content
ONE MESSAGE, NOT AN EVENT FEED

One Slack message per release, held for approval by default

GitHub can already fire raw events into a channel. This is the other thing: one written message per release, in the channel where the team actually reads, held for a person by default.

Analyze a recent merge Your first Update is free. No card required.
  • One message per release, not per event
  • Approval before it posts, by default
  • Same approval feeds every other channel
THE DIFFERENCE

An event feed is not an update

Most teams have already tried the obvious thing: point a repository webhook at a channel and let it run. It works for about two weeks. After that the channel is a column of one-line events that nobody wrote and nobody reads, and the people who most needed to know what shipped have muted it.

The problem is not volume, it is authorship. An event says a pull request was merged. An update says what the team can now do differently, and which of last week’s complaints it answers. No amount of formatting turns the first into the second.

Mergelay groups the related merges into one Update, writes an internal brief in the register a colleague would use, and posts it once, after a person has read it. What lands in Slack is a channel draft: an editable piece of the Update, previewable before it goes, and disableable like any other — you can approve a release that emails customers and never touches Slack, and the reverse.

THE MESSAGE

What the message contains

Short enough to read in the channel, complete enough that nobody has to ask a follow-up question.

  • What shipped, in plain words

    The release title and the outcome, written for a colleague rather than lifted from the branch name.

  • Who it affects and what they do next

    The impact and the next action for the team, which is the part an event feed structurally cannot produce.

  • A pointer to the evidence, not a paste of it

    The pull requests, commits and analysis stay in Mergelay where they are readable, instead of being flattened into a channel nobody can search six weeks later.

  • Plain formatting, on purpose

    The brand kit’s social signature does not apply here, and Slack and Teams branding is explicitly out of scope, so the message reads like a message rather than a marketing card.

THE MULTIPLIER

One approval, every channel

This is what separates Mergelay from a Slack-only bot, and it is worth being precise about. An approval is bound to all the enabled drafts and destinations of one exact revision. Approving the Slack message is therefore the same single decision that releases the customer email, the Microsoft Teams message, the private release-note record and any social posts you enabled on that Update.

It also means the reverse is true: edit the wording afterwards and you get a new revision, and the decision is asked again. There is no path where a colleague approves version two and version four goes out.

One qualification, because it is exactly the sort of thing a page like this quietly leaves out. A Slack message is internal communication, and internal communication is the one category a workspace can choose to publish unattended. Leave that setting alone — it starts off — and every Slack post waits for a person. Switch it on and the internal message goes out on its own, while the customer email and the social posts still cannot: no automation switch on that screen releases them. The only way to hand that decision to a machine is an Operator MCP token, which you issue on purpose from Settings and can revoke at any time.

Afterwards, Mergelay records one outcome per destination. If Slack accepted the message and the customer email failed, you retry the email alone — the channel is not posted to twice to fix a mail problem. Delivery is per destination, and so is the record of what actually happened.

THE SETUP COST

Honest about what connecting Slack costs you

Three sentences, and then a link to the page that actually walks you through it.

  • Slack is a destination you connect yourself, by creating an incoming webhook inside your own workspace and pasting the URL into Mergelay. It is four steps, not one click, and your workspace may require an administrator to approve the app that owns the webhook.
  • The URL Mergelay receives is write-only and bound to the single channel you chose. It grants no read access to your workspace, which is the trade-off the four steps buy you.
  • A managed one-click Slack connection is planned and not available. Until it ships, Slack is described here and everywhere else as a webhook destination.
  • Destinations themselves are uncapped on both plans, so adding a second or a fifth channel costs nothing but the setup.

Questions

Can Mergelay read my Slack messages?

No, and the design makes it impossible rather than merely forbidden. Mergelay holds one incoming webhook URL that posts to the channel you picked. It has no token, no read scope and no way to enumerate your channels.

Can I post to several channels?

Yes: one webhook per channel, each added as its own destination. The cost is that you repeat the setup in Slack for every channel, because a webhook URL is bound to exactly one of them.

What about Microsoft Teams?

The same mechanism and the same page in Settings — a workflow webhook URL you create in Teams and paste in. It carries the same limitation: no branded card, no reading, no threads.

Is there a one-click Slack install?

Not today, and we would rather say so than imply it. A managed connection would mean Mergelay distributing and operating a Slack app with an install flow, stored per-workspace credentials, a rotation and disconnect path and an app-directory review. Until all of that exists, four steps in your own workspace is what we can honestly offer.

Give the channel one message worth reading.

Your first Update is free. No card required.

Analyze a recent merge