Skip to main content

Slack

Server Source code Package

Send walkerOS events to Slack as formatted messages. Supports both Incoming Webhooks (simple, single-channel) and the Web API (multi-channel routing, threading, DMs, ephemeral messages, Block Kit).

Where This Fits

Slack is a server destination in the walkerOS flow:

Turns events into Slack messages for real-time alerts, sales notifications, moderation queues, or incident routing — without coupling your product code to Slack.

Installation

Loading...

Setup

Loading...

Webhook vs Web API modes

Pick exactly one auth method per destination. Each mode trades capability for simplicity.

CapabilityIncoming Webhook (webhookUrl)Web API (token)
SetupPaste a URL, doneCreate a Slack app, install bot, manage scopes
ChannelsFixed to the webhook's channelAny channel the bot is in, routable per rule
ThreadingNot supportedthreadTs + replyBroadcast
Direct messagesNot supporteddm: true + user
Ephemeral messagesNot supportedephemeral: true
RetriesPlain HTTPSDK-managed (retryConfig)
Block KitYesYes

Use webhooks for a single firehose channel and minimal setup. Use the Web API whenever you need routing, threading, DMs, or ephemeral messages.

Configuration reference

PropertyTypeDescriptionMore
tokenstringSlack Bot token (xoxb-...). Enables Web API mode. Mutually exclusive with webhookUrl.
webhookUrlstringIncoming Webhook URL. Enables webhook mode. Mutually exclusive with token.
channelstringDefault Slack channel ID or name (e.g. "#alerts" or "C024BE91L"). Required for Web API mode unless every rule supplies one. Ignored in webhook mode.
textstringDefault text template. Supports `${data.field}` interpolation against the walkerOS event.
blocksArray<object>Default Block Kit blocks applied when no mapping override is set.
includeHeaderbooleanAuto-add an event-name header block when generating default blocks. Default: true.
unfurlLinksbooleanEnable link unfurling. Default: false (cleaner for automated alerts).
unfurlMediabooleanEnable media unfurling. Default: false.
mrkdwnbooleanUse mrkdwn formatting in text. Default: true.
threadTsstringStatic thread_ts for replies (rarely set at destination level).
retryConfigRetry policy passed to WebClient. Default: "default".

Channel routing

With Web API mode, route events to different channels using nested entity > action mapping. Each rule can override channel, text, blocks, and threading behavior.

Loading...

Events that don't match any rule fall back to the default channel in settings.

Message formatting

Messages support two formatting styles, set at destination level or per rule:

  • Text templates${data.field} placeholders interpolate against the walkerOS event. Good for terse alerts.
  • Block Kit — structured layouts via Slack's Block Kit (headers, sections, buttons, context). Use the blocks setting when you need rich formatting.

When neither text nor blocks is provided, the destination generates a default message with an event-name header (toggle via includeHeader).

Docker Deployment

Step 1: Create Flow Configuration

Use the $env.NAME syntax in your flow configuration to reference environment variables at runtime:

Loading...

Step 2: Bundle the Flow

Bundle your flow configuration before running in Docker:

Loading...

Step 3: Run with Docker

Loading...

Docker Compose Example

Loading...
Security Best Practice

Never commit bot tokens or webhook URLs to version control. Use environment variables or a secrets manager to inject credentials at runtime.

💡 Need implementation support?
elbwalker offers hands-on support: setup review, measurement planning, destination mapping, and live troubleshooting. Book a 2-hour session (€399)