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:writeandchannels:readscopes (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
- Click Connect with OAuth in SignalSmith
- Sign in to your Slack workspace
- Authorize SignalSmith to send messages on your behalf
- SignalSmith receives
chat:writeandchannels:readscopes
Bot Token
- In the Slack API dashboard, go to your app’s OAuth & Permissions page
- Copy the Bot User OAuth Token (starts with
xoxb-) - Paste the token into the Bot Token field in SignalSmith
Configuration
Slack does not require additional configuration fields beyond authentication.
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Channel ID | Text | Yes | The 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 Template | Textarea | Yes | Message 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:
- For each row, the message template is populated by replacing
{{field_name}}placeholders with actual row values - The rendered message is sent to the configured Slack channel via the
chat.postMessageAPI - 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.