Configure notifications
Choose in-app and Slack notifications for new runs and comments, including per-instrument subscriptions, the workspace Slack channel, and Slack app setup for personal DMs.
Data Hub can notify you in the app and via Slack when new runs arrive or when someone comments on a run you care about. Open Settings → Notifications while signed in. Personal Slack DMs also need a Slack app and environment variables on the web app.

In-app and Slack preferences are independent: you can enable either channel for a type without forcing the other.
In-app preferences
| Setting | Effect |
|---|---|
| Mute all instrument notifications | Suppresses new-run notifications for every instrument. Per-instrument choices are preserved and resume when you unmute. |
| Comments on runs you ran | Notify when someone comments on a run you are attributed to. |
| Replies to your comments | Notify when someone comments on a run you previously commented on. |
Per-instrument subscriptions
Under Per-instrument, toggle the instruments you want new-run notifications for. Rows are disabled while Mute all is on. You can also subscribe from the instruments table’s notifications column when that column is shown.
The bell icon in the app chrome lists recent notifications and links to the relevant run.
Slack direct messages
Connect your Slack account on the same settings page to receive matching events as personal DMs. After connecting, choose which types also go to Slack:
- New runs (respects your instrument subscriptions and mute)
- Comments on runs you ran
- Replies to your comments
Disconnect or reconnect from the same card. OAuth must use your organization’s Slack workspace; the wrong workspace is rejected.
Workspace Slack channel (admins)
Admins see a Slack channel section for the shared webhook that posts when a new run is created (lab-wide channel traffic, separate from personal DMs). Configure or rotate the webhook there; the card shows who last updated it. That webhook is set in the UI after deploy; it doesn’t use the bot token variables below.
Set up the Slack app for personal DMs
Personal Slack DMs use a shared bot token and Sign in with Slack (OpenID Connect). Create the app once in the Slack API portal, then set the variables on each environment that should send DMs. Without them, Connect to Slack doesn’t complete.
You can reuse an existing Slack app, including one already used for the channel webhook.
Create the app and scopes
In the Slack API portal, choose Create New App → From scratch, or open an existing app.
Under OAuth & Permissions, add these scopes:
Bot Token Scopes:
| Scope | Purpose |
|---|---|
chat:write | Send DMs with chat.postMessage |
User Token Scopes:
| Scope | Purpose |
|---|---|
openid | Sign in with Slack (OIDC) |
profile | Display name in the identity token |
Under Redirect URLs, add one callback URL per environment. The path is always /api/v1/settings/slack/callback:
| Environment | Example URL |
|---|---|
| Local | http://localhost:3000/api/v1/settings/slack/callback |
| Staging | https://staging.datahub.example.com/api/v1/settings/slack/callback |
| Production | https://datahub.example.com/api/v1/settings/slack/callback |
SLACK_REDIRECT_URI, or the request origin plus that path when unset, must match a listed URL exactly.
Under Install App, choose Install to Workspace (or Reinstall after changing scopes). Copy the bot token and app credentials for the variables below.
Set environment variables
Set these on the web app for each environment that should offer Slack DMs:
| Variable | Where to find it | Required |
|---|---|---|
SLACK_BOT_TOKEN | Install App → Bot User OAuth Token (xoxb-…) | Yes |
SLACK_CLIENT_ID | Basic Information → App Credentials | Yes |
SLACK_CLIENT_SECRET | Basic Information → App Credentials | Yes |
SLACK_STATE_SECRET | Generate with openssl rand -base64 32 | No (falls back to AUTH_SECRET) |
SLACK_TEAM_ID | Workspace URL segment T… in app.slack.com/client/T… | No (recommended so OAuth stays on your workspace) |
SLACK_REDIRECT_URI | Full callback URL when it differs from the request origin | No |
Redeploy or restart the web app after setting them. Members can then connect under Settings → Notifications. Deploy runbooks are linked from Deploy Data Hub.
Instrument data preprocessing
What Data Hub does to a raw file after upload, which instrument types have a processor, and what supporting a new instrument takes.
Install and update the watcher
Install, reinstall, verify, and manually update the Data Hub watcher on an instrument PC across operating systems.