Slack

Send messages to Slack channels using customizable templates. Use SignalSmith to notify teams about new leads, audience membership changes, sync completions, or any data events that need human attention.

Prerequisites

  • A Slack workspace
  • A Slack app with chat:write and channels:read scopes (for OAuth) or a bot token
  • The Slack app must be added to the target channel

Authentication

Slack supports two authentication methods:

OAuth 2.0

  1. Click Connect with OAuth in SignalSmith
  2. Sign in to your Slack workspace
  3. Authorize SignalSmith to send messages on your behalf
  4. SignalSmith receives chat:write and channels:read scopes

Bot Token

  1. In the Slack API dashboard, go to your app’s OAuth & Permissions page
  2. Copy the Bot User OAuth Token (starts with xoxb-)
  3. Paste the token into the Bot Token field in SignalSmith

Configuration

Slack does not require additional configuration fields beyond authentication.

Target Settings

FieldTypeRequiredDescription
Channel IDTextYesThe Slack channel ID to send messages to (e.g., C01ABCDEF). Find this by right-clicking a channel in Slack and selecting Copy link — the ID is the last segment of the URL
Message TemplateTextareaYesMessage template with {{field_name}} placeholders that are replaced by row values. Example: New lead: {{name}} ({{email}})

Supported Operations

Sync Modes: Insert

Audience Sync Modes: Add

Features

  • Field Mapping: No — message content is controlled by the template
  • Schema Introspection: No — Slack is a messaging destination

How It Works

SignalSmith sends a Slack message for each row of data:

  1. For each row, the message template is populated by replacing {{field_name}} placeholders with actual row values
  2. The rendered message is sent to the configured Slack channel via the chat.postMessage API
  3. Messages appear in the channel as the SignalSmith bot user

Template Syntax

Use double curly braces to reference row fields:

New lead: {{first_name}} {{last_name}}
Email: {{email}}
Company: {{company_name}}
Score: {{lead_score}}

Any {{field_name}} that does not match a row field is left as-is in the output.

Troubleshooting

Bot not in channel

The Slack app must be added to the target channel before it can post messages. Invite the bot by typing /invite @YourAppName in the channel.

Channel not found

Verify the channel ID is correct. Use the channel ID (e.g., C01ABCDEF), not the channel name. Find the ID by right-clicking the channel name in Slack and selecting Copy link.

Token expired or revoked

If using OAuth, the token may need to be refreshed. Reconnect the Slack integration in SignalSmith. If using a bot token, verify the token has not been revoked in the Slack API dashboard.

Rate limited

Slack rate limits message posting to approximately 1 message per second per channel. For high-volume syncs, messages are queued and sent within rate limits, which may delay delivery.

Missing scopes

The Slack app needs chat:write to post messages and channels:read to discover channels. Update the app’s scopes in the Slack API dashboard and reinstall the app to the workspace.