Skip to content

PopSQL: limited support.

Migrate now →

Slack

Wiring up Slack: what to create at the provider, what to paste here, what goes in Target, and how to test before depending on it.

What it is

Incoming webhook. Reports arrive as a message with the summary; alerts carry severity, source and a link back to the console.

Set up

About 3 minutes to a working channel.

  1. 01Create a Slack app with Incoming Webhooks. Open api.slack.com/apps → Create New App → From scratch. In the app, open Incoming Webhooks, switch it on, and click “Add New Webhook to Workspace”. Slack asks which channel it may post to.
  2. 02Copy the webhook URL. It looks like https://hooks.slack.com/services/T…/B…/… . Paste it here. Test posts a short message to that channel — if it lands, everything else will.
  3. 03Attach it to a report or an alert route. Report → Destinations → Channel sends the result summary. Monitoring → Alert routes → add this channel as a step: monitor down, host offline and data-quality failures arrive with severity and a link.
  4. 04Optional: attach the result file. Webhooks cannot upload files. If you want the CSV or XLSX in Slack, give the app the files:write scope, install it, paste the bot token (xoxb-…), and put the channel id in the route Target.
  5. 05Silence what you do not want. A report that sends every hour to a busy channel gets muted by everyone. Use report rules (skip when empty, deliver only above N rows) so Slack only hears what is worth reading.

Fields

FieldRequiredWhat it is
Webhook URLYesFrom the app’s Incoming Webhooks page. Bound to one channel; treated as a secret. (https://hooks.slack.com/services/T000/B000/XXXX)
Bot token (optional)NoOnly for file uploads. Needs the files:write scope and the app installed in the workspace. (xoxb-…)

What goes in Target

Optional. An incoming webhook is bound to one Slack channel when you create it, so Target is ignored for messages. With a bot token, Target is the channel id (C0123…) the result file is uploaded to.

Target is optional for this channel. — channel id for file upload (optional)

Test

Every channel has a Test button in the channel list (Settings → Channels). The result is kept — date, status and the provider's error when there was one — and a channel that was never tested is marked in the list.

Test posts "DataRunner channel test ✅" to the channel the webhook is bound to. If that lands, everything else lands.

Check it end to end

  1. 01Report: open a report, add this channel under Destinations (with the Target when the channel needs one), click Run now and open the run. The log says which channel each recipient went through and what the provider answered.
  2. 02Alert: under Monitoring → Alert routes, create a route with this channel as an escalation step. Routes match on severity and source; the first match wins.
  3. 03To fire an alert without breaking anything: create an HTTP monitor pointing at a URL that returns an error (for example https://httpstat.us/500) with a short interval. When it goes down the alert leaves through the route; delete the monitor afterwards. The message carries an acknowledge link — click it and the escalation stops.
  4. 04Report rules (new rows, value out of range) arrive through the same route, with source "report rule".

What most often goes wrong

One webhook posts to exactly one Slack channel — the one chosen when the webhook was created. To reach #alerts and #reports, create two channels here, each with its own webhook URL. The URL is a secret: anyone holding it can post as you.