Slack Integration — User Guide

Audience: Workspace admins and end-users who want to trigger workflows and interact with Dagen agents directly from Slack.


Overview

Dagen's Slack integration is bidirectional:

Direction What it does Requires
Outgoing (Dagen → Slack) Sends workflow notifications to Slack channels Incoming Webhook URL
Incoming (Slack → Dagen) Users @mention the Dagen bot to trigger workflows or ask agents Bot Token + Signing Secret

You can use either direction independently or both together.


Part 1 — Outgoing Notifications (Dagen → Slack)

This is the simpler setup. Dagen posts messages to a Slack channel when a workflow notification node fires.

Step-by-step

  1. In Slack, go to https://api.slack.com/apps → create a new app (or use an existing one).
  2. Go to Incoming Webhooks → activate → Add New Webhook to Workspace.
  3. Choose the channel you want notifications in → copy the webhook URL.
  4. In Dagen, open Workflow SettingsNotification ChannelsAdd Channel.
  5. Select Slack, paste the webhook URL, and save.
  6. In any workflow, add a Notification node → select the Slack channel you just created.

That's it — when the workflow runs, the notification node will post to Slack.


Part 2 — Incoming Commands (Slack → Dagen)

This enables your team to interact with Dagen by mentioning @dagen in Slack.

What you can do

Command Description Example
@dagen <question> Ask the Super Agent — full data pipeline orchestration @dagen What's the row count for orders?
@dagen run <workflow> Trigger a workflow by name @dagen run daily-sync
@dagen list workflows List all active workflows @dagen list
@dagen status Show recent workflow runs and their status @dagen status
@dagen agent <name> <question> Ask a specific sub-agent directly @dagen agent dbt compile my_model
@dagen help Show available commands @dagen help

The Super Agent

When you send a free-form message (anything that isn't a recognized command), it goes to the Super Agent — the same AI team that powers the Dagen chat UI. This means from Slack you can:

  • Discover and explore database metadata
  • Build and run data ingestion pipelines
  • Create and compile dbt models
  • Generate test data
  • Orchestrate full data workflows
  • Ask questions about your data infrastructure

Your conversation with the Super Agent is session-persistent per Slack user — follow-up messages retain context from earlier interactions.

How responses work

  • When you @mention Dagen, it immediately reacts with :eyes: to confirm it saw your message.
  • All replies are posted in a thread on your message, keeping the channel clean.
  • Long responses from the Super Agent are automatically split across multiple messages.
  • For workflow triggers, Dagen posts an initial confirmation, then automatically follows up with the final status (success/failure/duration) when the workflow completes.

Setup

1. Create a Slack App

Go to https://api.slack.com/apps and click Create New AppFrom scratch.

Give it a name (e.g., "Dagen") and select your Slack workspace.

2. Configure Bot Permissions

Navigate to OAuth & Permissions → scroll to Bot Token Scopes → add:

Scope Purpose
app_mentions:read Lets the bot see when users @mention it
chat:write Lets the bot post replies
reactions:write Lets the bot add the :eyes: acknowledgment reaction

Click Install to Workspace and authorize. Copy the Bot User OAuth Token (starts with xoxb-).

3. Get the Signing Secret

Go to Basic Information → scroll to App Credentials → copy the Signing Secret.

4. Configure in Dagen

  1. Open Workflow SettingsNotification Channels.
  2. Edit your existing Slack channel (or create a new one).
  3. Expand the Slack Bot (receive @dagen mentions) section.
  4. Paste the Bot User OAuth Token and Signing Secret.
  5. Save.

After saving, you'll see an Event Subscription URL displayed in the form — copy it.

5. Enable Event Subscriptions in Slack

  1. In your Slack App settings, go to Event Subscriptions → toggle Enable Events on.
  2. Paste the Event Subscription URL from step 4 into the Request URL field.
  3. Slack will send a verification challenge — it should show "Verified" within a few seconds.
  4. Under Subscribe to bot events, click Add Bot User Event → select app_mention.
  5. Click Save Changes.

6. Invite the Bot to a Channel

In Slack, go to the channel where you want to use Dagen and type:

/invite @Dagen

You're all set. Try typing @Dagen help in the channel.


Workflow Triggers from Slack

When you trigger a workflow via @dagen run <name>, the following happens:

You:     @dagen run daily-sync
Dagen:   👀 (reaction)
Dagen:   Starting workflow daily-sync…
Dagen:   Workflow "Daily Sync" triggered (run a3f2b1c9…). I'll update you when it completes.
         ... workflow executes ...
Dagen:   ✅ Workflow finished — success (42s)

If the workflow fails:

Dagen:   ❌ Workflow finished — failed (18s)
         Error: Connection timeout on BigQuery node

Workflow name matching

The name matching is case-insensitive and supports partial matches:

  • @dagen run daily will match a workflow named "Daily Sync"
  • @dagen run DAILY-SYNC will match "daily-sync"
  • Exact matches are preferred over partial ones

Super Agent Examples

Here are some real interactions you can have with the Super Agent from Slack:

Data discovery

You:     @dagen What tables are in the analytics dataset?
Dagen:   👀
Dagen:   On it…
Dagen:   I found 23 tables in the analytics dataset. Here are the key ones:
         • orders (1.2M rows) — Order transactions
         • customers (45K rows) — Customer master data
         • products (3.2K rows) — Product catalog
         ...

Pipeline creation

You:     @dagen Create an ingestion pipeline from our Postgres to BigQuery for the users table
Dagen:   👀
Dagen:   On it…
Dagen:   I've created an Airbyte ingestion pipeline:
         • Source: PostgreSQL (users table)
         • Destination: BigQuery (analytics.users)
         • Sync mode: Incremental (cursor: updated_at)
         Pipeline ID: pg_users_bq_1708432...

dbt operations

You:     @dagen Compile and run the monthly_revenue dbt model
Dagen:   👀
Dagen:   On it…
Dagen:   Compiled and executed monthly_revenue:
         ✅ 1 model passed
         Duration: 4.2s
         Rows affected: 1,847

Follow-up conversations

You:     @dagen What was that pipeline ID again?
Dagen:   👀
Dagen:   On it…
Dagen:   The pipeline I just created was pg_users_bq_1708432...

Troubleshooting

Symptom Cause Fix
Slack shows "Verified" but bot doesn't respond Bot not invited to the channel /invite @Dagen in the channel
Bot reacts with :eyes: but never replies Bot token missing chat:write scope Add scope in Slack App → OAuth & Permissions, then reinstall
"Unauthorized" in Dagen logs Signing secret mismatch Re-copy the signing secret from Slack App → Basic Information
Slack shows "Request URL - Your URL didn't respond" Dagen backend not publicly accessible Ensure your backend is reachable from the internet (not localhost)
Duplicate responses Event deduplication failure This is rare and self-correcting; check if multiple pods are running
"No active workflow matching 'X' found" Workflow doesn't exist or is not in "active" status Activate the workflow in the Dagen UI

Security

  • The Events API endpoint (/api/slack/events) does not require Dagen authentication (Slack cannot send Firebase tokens).
  • Instead, every request is verified using HMAC-SHA256 with your Signing Secret — only Slack can produce valid signatures.
  • Requests older than 5 minutes are automatically rejected (replay protection).
  • Bot tokens and signing secrets are stored encrypted alongside your other channel configuration and are never exposed in API responses (shown as ***).