Skip to content
A DESTINATION, NOT AN APP TO INSTALL

Connect a Slack channel with one incoming webhook

Four steps in Slack, one paste in Mergelay. The URL posts to the channel you picked and can do nothing else.

Create your workspace Your first Update is free. No card required.
  • Write-only, one channel
  • No read access to your workspace
  • Revoke it inside Slack
SETUP

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.

  1. 01
    Create 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.

  2. 02
    Enable Incoming Webhooks

    In the app settings, turn on Activate Incoming Webhooks.

  3. 03
    Add a webhook and choose the channel

    Choose Add New Webhook to Workspace, pick the channel, and authorize.

  4. 04
    Copy 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.

THE TRADE-OFF

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.

AFTERWARDS

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.

BOUNDARIES

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.

Four steps in Slack, and the channel is connected.

Your first Update is free. No card required.

Create your workspace