Integrations

Slack Integration

Deploy your AI chatbot in Slack workspaces to respond to messages, mentions, and DMs

The Slack integration allows you to deploy your AI chatbot directly into Slack workspaces. Users can interact with it through @mentions in channels, direct messages, and threaded conversations — all powered by your knowledge base.

Key Features

  • AI-powered responses to @mentions and direct messages
  • Thread support for organized, contextual conversations
  • Customizable response tone (professional, friendly, casual, etc.)
  • Configurable response delay for message batching
  • Channel restrictions to control where the bot responds
  • Conversation tracking in your dashboard
  • Full conversation history for context-aware responses (up to 50 messages)
  • Automatic deduplication and message debouncing

Quick Setup

Create a Slack App

  1. Go to the Slack API Apps page
  2. Click Create New App → From scratch
  3. Give your app a name and select the workspace to develop in
  4. Note your Client ID and Client Secret from Basic Information (these are configured server-side)

Install in FutureBase

  1. Go to Integrations in your FutureBase dashboard
  2. Find the Slack Channel integration and click Install
  3. Click Add to Slack — you'll be redirected to Slack's OAuth authorization screen
  4. Select the workspace you want to connect and click Allow

After authorization, you'll be redirected back to your dashboard with the integration active.

Configure Event Subscriptions

  1. Go back to your Slack App settings
  2. Navigate to Event Subscriptions and toggle it On
  3. In the Request URL field, paste the Events Request URL shown in your Slack integration settings dialog
  4. Wait for Slack to verify the URL (you should see a green checkmark)
  5. Under Subscribe to bot events, add the following events:
    • app_mention — triggered when someone @mentions your bot
    • message.channels — messages in public channels
    • message.groups — messages in private channels
    • message.im — direct messages
    • message.mpim — group direct messages
  6. Click Save Changes

The Events Request URL is shared across all workspace installations. Slack identifies the workspace using the team_id in each event payload.

Configure Bot Settings

Open the Slack integration settings in your dashboard to customize:

  • Response Tone — how your bot communicates
  • Response Delay — how long to wait before replying (for batching rapid messages)
  • Response Triggers — which types of messages the bot responds to
  • Allowed Channels — restrict the bot to specific channels

Test Your Bot

  1. Open Slack and navigate to the workspace you connected
  2. Invite the bot to a channel (e.g., /invite @YourBot)
  3. @mention the bot with a question: @YourBot How do I reset my password?
  4. Or send a direct message to the bot

How It Works

  1. A user sends a message or @mentions your bot in Slack
  2. Slack forwards the event to FutureBase via the Events API webhook
  3. The webhook verifies the request signature, identifies the workspace by team_id, and enqueues a processing job
  4. The job loads the conversation history, generates an AI response using your knowledge base, and sends it back via the Slack API
  5. The response is posted in the same channel or thread

All webhook events are acknowledged within 3 seconds (Slack's requirement). Message processing happens asynchronously via a background job queue with configurable delay.

Configuration Options

Response Tone

Choose how your bot communicates with users:

ToneDescription
ProfessionalClear, direct, and business-appropriate
FriendlyWarm and approachable (default)
SupportiveEmpathetic and understanding, great for frustrated users
CasualRelaxed and conversational, like talking to a friend
FormalTraditional, polite, and highly structured

Response Delay

Configure how long the bot waits before responding (0–30 seconds). This allows the bot to batch multiple messages sent in quick succession into a single response. Default is 2 seconds.

  • Set to 0 for immediate responses
  • Set to 2–5 seconds to handle users who send multiple messages quickly

When multiple messages arrive in the same channel/thread during the delay window, only the latest message triggers a response — previous pending jobs are automatically cancelled (debouncing).

Slack users typically expect quick responses. We recommend keeping the delay under 5 seconds for the best experience.

Response Triggers

Control which types of messages your bot responds to:

TriggerDefaultDescription
Respond to DMsOnReply to direct messages sent to the bot
Respond to @mentionsOnReply when the bot is @mentioned in a channel
Reply in threadsOnCreate a thread for responses to keep channels clean

Allowed Channels

Optionally restrict the bot to specific channels. You can:

  • Select from a dropdown of channels the bot has access to
  • Enter channel IDs manually for channels not listed

When no channels are selected, the bot responds everywhere it has access. When specific channels are set, the bot will ignore messages from all other channels.

Channel restrictions only apply to channel messages and @mentions. Direct messages bypass channel restrictions.

Supported Features

@Mentions

When a user @mentions the bot in a channel (e.g., @YourBot what are the office hours?), the bot generates an AI response. If "Reply in threads" is enabled, the response is posted as a thread reply to keep the channel clean.

Direct Messages

Users can send private messages directly to the bot for one-on-one conversations. DMs don't use threading — responses are sent directly in the conversation.

Thread Conversations

When the bot is already in a thread (either one it started or was mentioned in), it continues responding in that thread. This keeps related messages grouped together for better readability.

Conversation History

The AI maintains context from up to 50 previous messages in a conversation, allowing it to understand references to earlier parts of the discussion. Each unique channel or thread is tracked as a separate conversation.

Slack Formatting

Responses use Slack's mrkdwn formatting:

  • Bold and italic text
  • Code snippets and code blocks
  • Bullet points and numbered lists
  • Appropriate emoji usage based on the selected tone

Responses are automatically truncated at 3,900 characters to stay within Slack's 4,000 character limit for text blocks.

OAuth Scopes

The Slack integration requests the following OAuth scopes:

ScopePurpose
app_mentions:readReceive events when the bot is @mentioned
channels:historyRead message history in public channels
channels:readView basic info about public channels
chat:writeSend messages as the bot
groups:historyRead message history in private channels
groups:readView basic info about private channels
im:historyRead direct message history
im:readView basic info about direct messages
im:writeStart direct messages with users
mpim:historyRead group direct message history
mpim:readView basic info about group direct messages
users:readView user display names for conversation context

Security

  • Encrypted credentials — OAuth tokens are encrypted at rest using AES-256-GCM
  • Request signature verification — All incoming webhooks are verified using Slack's HMAC-SHA256 signing secret with replay attack protection (5-minute window)
  • OAuth 2.0 — Industry-standard authorization flow; tokens are never exposed to the browser
  • Automatic deactivation — If the app is uninstalled from a workspace or tokens are revoked, the integration is automatically disabled
  • Disconnect anytime — Remove the integration from your dashboard to clear all stored credentials

Troubleshooting

Best Practices

Setting Up Your Bot

  • Choose a clear, recognizable app name for your Slack bot
  • Add a descriptive bot profile with a profile picture
  • Start with a small set of allowed channels before expanding

Optimizing Responses

  • Keep your knowledge base comprehensive and up-to-date
  • Use clear, structured content for better AI comprehension
  • Include FAQs and common questions users might ask

User Experience

  • Use the "Friendly" tone for most support scenarios
  • Enable "Reply in threads" to keep channels clean
  • Keep response delays low (2–5 seconds) for a responsive feel
  • Monitor conversations in your dashboard to identify common questions

Scaling Across Workspaces

  • The same Slack app can be installed in multiple workspaces via OAuth
  • Each workspace is identified by its unique team_id
  • Settings (tone, delay, channel restrictions) are configured per-installation

Frequently Asked Questions

Need Help?

Contact our support team at support@futurebase.io or check the Getting Started guide for more information.

On this page