Slack
Connect Slack to chat with the Assemble agent via @mentions and DMs
Slack Integration
Connect your Slack workspace so your team can @-mention the Assemble bot in any channel or DM it directly.
Prerequisites
- A Slack workspace where you have permission to install apps
- Your Assemble workspace's webhook URL (found in Settings > Integrations)
Step 1: Create a Slack App
- Go to api.slack.com/apps
- Click Create New App → From Scratch
- Name it "Assemble" (or whatever you prefer)
- Select your Slack workspace
- Click Create App
Step 2: Add Bot Token Scopes
Navigate to OAuth & Permissions → scroll to Scopes → Bot Token Scopes and add the following:
| Scope | Purpose |
|---|---|
app_mentions:read | Detect @mentions |
chat:write | Send messages |
channels:history | Read channel messages |
channels:read | Access channel info |
groups:history | Read private channel messages |
groups:read | Access private channel info |
im:history | Read direct messages |
im:read | Access DM conversations |
mpim:history | Read group DMs |
mpim:read | Access group DM conversations |
reactions:read | See emoji reactions |
reactions:write | Add/remove reactions |
users:read | Get user information |
Step 3: Install to Workspace
- Go to the top of the OAuth & Permissions page
- Click Install to Workspace
- Authorize the app
- Copy the Bot User OAuth Token — it starts with
xoxb-
Save the bot token somewhere safe. You'll need it in step 7.
Step 4: Enable Event Subscriptions
- Go to Event Subscriptions
- Toggle Enable Events
- Set the Request URL to your webhook URL:
https://YOUR_DEPLOYMENT.convex.site/webhooks/slackFind your exact webhook URL in Assemble under Settings > Integrations > Connect Slack. Slack will send a verification challenge when you paste the URL — it should succeed automatically.
Under Subscribe to bot events, add:
| Event | Purpose |
|---|---|
app_mention | Bot @mentioned in a channel |
message.channels | Messages in public channels |
message.groups | Messages in private channels |
message.im | Direct messages to the bot |
message.mpim | Group direct messages |
Click Save Changes.
Step 5: Enable Interactivity
- Go to Interactivity & Shortcuts
- Toggle Interactivity on
- Set the Request URL to the same webhook URL from step 4
- Click Save Changes
Step 6: Copy the Signing Secret
- Go to Basic Information
- Scroll to App Credentials
- Copy the Signing Secret
Step 7: Connect in Assemble
- In your Assemble workspace, go to Settings > Integrations
- Click Connect Slack
- Paste the Bot User OAuth Token (from step 3)
- Paste the Signing Secret (from step 6)
- Click Connect
That's it — @mention the bot in any Slack channel to start chatting with Assemble.
Usage
Mentions
@mention the bot in any channel. It will reply in a thread and subscribe to that thread for follow-up messages.
@Assemble what were our top revenue drivers last quarter?Direct Messages
Send a DM to the bot for a private conversation.
Thread Replies
Reply in an existing bot thread to continue the conversation. The bot maintains the same Assemble conversation context across all replies in the thread.
Artifacts
When the bot runs an analysis and creates an artifact, it posts a summary with a link to view the full report (with charts, code, and rich content) in the web app.
Troubleshooting
Bot doesn't respond
- Check that the integration is Enabled in Settings > Integrations
- Verify the webhook URL is correct in Slack's Event Subscriptions
- Make sure the bot is invited to the channel (or use DMs)
Verification challenge fails
- Ensure your Convex deployment is running and accessible
- Check that the webhook URL ends with
/webhooks/slack
"Not configured" error
- The Slack Team ID auto-detects from the first webhook event. Send another message to trigger detection.