Slack
Audience: Sales, management, support, engineering · Where in app: Settings → Integrations → Slack (toggles in Settings → Notifications) · Plan availability: All plans (verify)
Slack lets the customer's team get real-time alerts in a Slack channel when something worth knowing happens on their website — a new visitor arrives, a lead goes hot, or a meeting gets booked. It's the fastest way for a sales team to "pounce" on a live lead without watching the dashboard all day.
What it does
- New visitor alert — posts when a session is created (
notifications.slack_new_visitor). - Hot lead alert — posts when a visitor's lead score crosses the hot threshold (
notifications.slack_hot_lead). - Booking created — posts when a meeting is booked.
- Custom event hooks — anything else can be routed to Slack via native webhooks → Zapier → Slack.
How it works
Auth model: OAuth. The customer connects Slack from Settings → Integrations → Slack and picks a channel during install. The connection is stored on company.slack_data (access_token, channel, channel.id) — all three must be present for isSlackIntegrated() to return true. The bot is granted a broad scope set including chat:write, chat:write.public, channels:read, channels:manage, channels:join, channels:history, users:read, and chat:write.customize (plus user scopes users.profile:read, chat:write, channels:read, groups:read).
Direction: outbound only. Knock Knock pushes messages to Slack; nothing flows back into the dashboard. Notifications are sent via the OAuth bot token using the Slack Web API (chat.postMessage-style calls), not incoming webhooks — SlackService.postMessage() delegates to ms-communication at /integrations/slack/send-message. Live-chat thread sync for chats is also handled in ms-communication (OAuth + event subscriptions with raw-body signature verification).
Each notification is markdown-formatted and includes:
- Visitor name (if identified) or "Anonymous visitor"
- Lead score
- Source / referrer
- Current page
- A deep link to the live session
Configuration & options
| Setting | Where | What it does |
|---|---|---|
notifications.slack_new_visitor | Settings → Notifications | Toggle new-visitor alerts on/off |
notifications.slack_hot_lead | Settings → Notifications | Toggle hot-lead alerts on/off |
| Channel | Slack install / workspace settings | Which channel each alert type posts to |
For QA / support: if a notification didn't fire, check the relevant toggle first — a disabled toggle is the most common cause. Each alert type can target a different channel via Slack workspace settings.
Behaviors & edge cases
- Workspace-scoped install: the Slack bot is tied to the workspace it was authorized into. If the customer switches Slack workspaces, the integration must be re-authorized — notifications silently stop otherwise.
- No message customization: the built-in message format is fixed. For full control over wording/format, route events through webhooks → Zapier → Slack.
- Rate limits: very high-volume tenants may see Slack drop messages. Mitigate by subscribing only to hot-lead alerts rather than every new visitor.
Plan & limits
- Available on all plans (verify exact tier gating against current package config).
- No Knock Knock-side message quota; the practical limit is Slack's own API rate limiting.
Technical implementation
- Owning service:
backend—app/services/SlackService.js+app/routes/slackRoutes.js. OAuth URL/callback under/integrations/slack/oauth/*; helpersgetAccessToken/getChannel/getChannelIdreadcompany.slack_data. Actual message send delegates toms-communication/integrations/slack/send-message. - Live-chat thread sync:
ms-communication— Slack OAuth + event subscriptions with raw-body signature verification. - Notification toggles:
companies.notifications.slack_new_visitor(fired on new session) /slack_hot_lead(fired when lead score crosses the hot threshold). Disconnecting (DELETE /integrations/slack) clearsslack_dataand per-userslack_user. - See CRM & External Integration.
What Nox can tell you
- Slack connection status.
- Recent Slack-fired events (via notification logs).
- Why a notification didn't fire (e.g. channel toggle off).