Skip to main content
The Hookie Slack app posts each event a Slack destination sends as a card: a title and severity taken from the payload, its fields, and a View in Hookie button. It ships with Hookie as a Slack app manifest, so you create it in a few clicks and own it in your Slack workspace. The app asks for one permission, incoming-webhook. It can post to the channel you install it to, and it can read nothing.

Install the app

1

Start a Slack destination

In the console, open your project’s Connections tab. Choose Add destination, then Slack under Type.
2

Create the app from its manifest

Choose Create the Hookie Slack app. Slack opens Create app from manifest with the Hookie app filled in. Pick your Slack workspace, review it, and choose Create.
3

Install it to a channel

Choose Install to Workspace, pick the channel the cards go to, and choose Allow.
4

Copy the channel's URL into Hookie

Under Incoming Webhooks, copy the URL. It starts https://hooks.slack.com/services/. Paste it into Slack incoming-webhook URL, name the destination, and choose Create.
Anyone who holds the URL can post to the channel, so treat it like a password. Hookie stores it encrypted and only ever shows a masked hint. See Slack destinations.
If the link does not open, go to api.slack.com/apps, choose Create New App, then From a manifest, and paste the manifest below.
To give the app Hookie’s icon, open Basic Information in the app’s settings and upload it under Display Information. A manifest cannot carry an icon.

Send cards to more than one channel

One incoming webhook posts to one channel. For another channel, open the app’s Incoming Webhooks page, choose Add New Webhook to Workspace, and pick the channel. Then create a second Slack destination with the new URL. Give each destination a Dataset filter so each channel gets only the datasets it wants. For example, send alerts to #on-call and orders to #sales.

What a card shows

The notification text is the severity, the title and the dataset, such as [CRITICAL] CPU above 90% on web-1 · alerts. Everything from the payload is shown as text. A value such as <!channel> does not notify anyone. For example, this payload:
becomes a card with a red bar, the title CPU above 90% on web-1, a CRITICAL badge, and the fields host, labels.region and labels.team. Every value fits on the card, so there is no JSON block.

Severity

Matching ignores case and surrounding spaces. Any other value, such as "status": "paid", is shown as an ordinary field and the card has no bar.

Write your own message

To post something other than the card, choose JSON template under Body on the destination. A template replaces the card, so it must be a Slack message body:
See Body for placeholders.