The four steps
The Slack app is the container you configure in Slack. Its incoming webhook is the channel-specific secret URL Mergelay uses to post. That URL is what Mergelay stores — not a bot token, and not an app credential.
- 01Create a Slack app in your workspace
Choose the workspace that owns the channel you want Mergelay to post in. The app stays internal to that workspace.
- 02Enable Incoming Webhooks
In the app settings, turn on Activate Incoming Webhooks.
- 03Add a webhook and choose the channel
Choose Add New Webhook to Workspace, pick the channel, and authorize.
- 04Copy the webhook URL Slack generates
Slack shows a hooks.slack.com URL for the channel you picked. That URL is the whole credential — copy it and add it to the Slack destination in Mergelay.
Permission: a dedicated app needs the incoming-webhook scope to post to the selected channel. Mergelay does not need permission to read Slack messages. Your workspace may require an admin to approve the app. Private channel: join the channel before you authorize the webhook, otherwise Slack will not offer it as a destination.
Why a webhook and not a one-click install
Why a webhook? The app you create stays inside your own workspace and is never submitted to Slack for review. Mergelay receives one URL that posts to the channel you picked, and nothing else: it cannot read your messages or reach another channel.
The cost of that shape is yours to pay: four steps, and possibly a wait while an administrator approves the app. We think it is the right trade for the first technical customers, but it is a trade rather than a virtue, and describing it as “simple” would be a way of not saying so.
What a managed connection would take is worth spelling out, because it explains why it is not here yet. Mergelay would have to distribute and operate its own Slack app: an install flow that returns a channel-bound URL, or a stored bot token with write scope; a hosted redirect; per-workspace credential storage and rotation; a disconnect path that actually revokes; and, for any workspace to install it rather than only those handed a private link, a submission to Slack’s app-directory review. Every one of those is a thing we would then owe you forever. Until they exist, this page says webhook.
After it is connected
What you can expect from the destination once the URL is in.
- A status you can read
Every destination shows as Connected, Needs attention or Paused. There is no fourth state that means “probably fine”.
- The connection is tested, not assumed
Connection flows are exercised automatically rather than trusted because the URL looked right when it was pasted.
- Errors you can act on
A failed provider call comes back as an actionable message with no secret in it — never a raw provider payload, and never a URL fragment that would leak the webhook.
- Per-destination delivery
One outcome is recorded for this channel alone. If Slack fails while the rest of the Update succeeds, the retry touches Slack and nothing else.
- As many channels as you need
Destinations are not metered on either plan, so a second channel, or a fifth, costs only the setup time.
What this connection is not
- It is not a Slack bot. There are no slash commands, no reading, no threads and no reactions — the integration is one direction only, outward, into one channel.
- It is not an approval channel. Decisions are made in Mergelay or through the signed one-click review link sent by email; nothing is approved by reacting to a message.
- It is not a branded surface. Slack and Teams branding is deliberately out of scope, so what arrives is a readable message rather than a card carrying your logo.
- It is not managed for you. If Slack rotates or you delete the webhook, the destination goes to Needs attention and waits for a new URL — Mergelay cannot mint one on your behalf.
Questions
Do I need to be a Slack admin?
Possibly, and it is the one step we cannot promise will be quick. A dedicated app needs the incoming-webhook scope to post to the channel, and many workspaces require an administrator to approve the app before that scope is granted. What is never asked for is permission to read your messages.
Can I use a private channel?
Yes, with one ordering constraint: join the channel yourself before you authorise the webhook. Slack will not offer a private channel you are not in, and there is no way for Mergelay to work around that from its side.
What happens if I rotate the URL?
You paste the new one. The destination flips to Needs attention as soon as a call fails, and the failure comes back as a readable message rather than a stack trace — but nothing self-heals, so posts wait until you replace it.
Is Microsoft Teams the same?
Yes, including the limits: a workflow webhook URL you create in Teams and paste in, with the same publishing path, the same receipts, the same targeted retry, and the same absence of branding and of any read access.
Where to read next
- GitHub release notes in SlackWhy one reviewed message beats an event feed.
- GitHub integrationThe exact permissions the App holds, and how to remove it.
- Automated product updatesWhat runs without you, and the line customer publication never crosses.
- PricingBoth plans, and what the plan actually changes.
Four steps in Slack, and the channel is connected.
Your first Update is free. No card required.