Three ways to connect AI to Slack
There are three distinct approaches to AI automation with Slack, each with different capabilities and appropriate use cases.
Approach 1: Slack as an output channel (simplest)
The most common and simplest use case: other systems generate AI-processed content, and the results are delivered to Slack channels or direct messages as notifications. Examples: a Make.com scenario classifies incoming emails and posts urgent ones to a #triage channel; a weekly report automation generates an AI narrative and posts it to #performance-updates every Monday; a lead scoring automation alerts the sales channel when a hot lead arrives.
This approach requires no Slack-specific setup beyond creating a Slack webhook. In Make.com, search "Slack" and add a "Create a Message" action module. Connect your Slack workspace via OAuth. Select the channel and configure the message format. Make.com's Slack module supports rich message formatting with blocks, which enables nicely formatted reports with sections, bullet points, and inline data.
Approach 2: Slack as an input trigger (powerful)
Slack messages, reactions, or slash commands trigger AI processing workflows. Examples: when a team member posts a message in a designated #research channel, AI automatically searches for relevant information and replies in a thread; when someone uses a /summarize slash command in a channel, AI summarises the recent conversation history; when a message receives a specific emoji reaction, it triggers a ticket creation workflow with AI categorisation.
Triggering automations from Slack requires either the Slack Events API (for real-time message events) or periodic polling (Make.com's Slack trigger checks for new messages every 15 minutes on the free tier). The Slack Events API provides instant triggering but requires creating a Slack App in your workspace โ a 20-minute setup that is worth doing for any real-time interaction use case.
Approach 3: Slack bots powered by AI (most sophisticated)
A custom Slack bot that team members can interact with conversationally โ asking questions, requesting summaries, triggering workflows โ powered by GPT-4o or Claude under the hood. This is the most powerful and complex approach. It requires: creating a Slack App with bot capabilities, implementing a backend server (or using n8n/Make.com with webhook handling) that receives Slack events and processes them through an AI API, and managing conversation context across multi-turn interactions.
Slack AI automation approaches: capability and complexity
| Approach | Setup time | Technical complexity | Best use cases |
|---|---|---|---|
| Slack as output (webhook) | 30 min | Low (no-code) | Alerts, reports, notifications from other systems |
| Slack trigger โ AI workflow | 2-3 hrs | Medium | Channel-based research, scheduled summaries, reaction triggers |
| Custom Slack AI bot | 1-2 days | High (requires coding) | Team knowledge assistant, conversational workflows |
Setting up Slack webhooks in Make.com: the complete process
Incoming webhooks are the simplest way to send AI-generated content to Slack. Here is the exact setup process.
Step 1: Create a Slack App and configure incoming webhook
Go to api.slack.com/apps and click "Create New App." Choose "From scratch." Name your app (e.g., "AI Automation Bot") and select your workspace. In the left navigation, click "Incoming Webhooks" and toggle it on. Click "Add New Webhook to Workspace." Select the channel where messages should be posted. Copy the webhook URL provided โ it looks like: https://hooks.slack.com/services/T.../B.../xxx
That webhook URL is all you need for basic Slack output automation. In Make.com, add a Slack "Create a Message" module, or use an HTTP module to POST to the webhook URL directly. The HTTP approach is simpler for formatting control.
Step 2: Format Slack messages properly
Slack supports Block Kit formatting, which allows you to create structured, visually appealing messages. For AI-generated content, a useful pattern is asking the AI to return content in a Slack-ready format:
Format your response for Slack using mrkdwn formatting: - Use *bold* for headers and key terms - Use bullet points with โข for lists - Use > for quoted content or important callouts - Keep paragraphs short (2-3 sentences maximum) - Total message under 300 words for channel posts Structure: *[TITLE]* โ one line headline [CONTENT BODY] *Key actions:* bullet list of next steps
Step 3: Use Make.com's Slack module for richer formatting
Make.com's native Slack integration supports Block Kit natively. In the Slack "Create a Message" module, you can switch to "Block" mode and use Make.com's visual block builder to create messages with sections, headers, dividers, and action buttons. This is more flexible than the raw webhook approach and does not require manually constructing JSON block payloads.
High-value AI automation workflows with Slack
Building a Slack slash command AI workflow
Slash commands let team members trigger AI workflows directly from Slack. A member types /summarize in a channel, and within seconds the bot replies with an AI-generated summary of recent conversation. Here is how to set this up.
Step 1: Add slash command to your Slack App
In your Slack App settings (api.slack.com/apps), go to "Slash Commands" and click "Create New Command." Configure: Command = /summarize, Request URL = your Make.com webhook URL (from a Webhooks module in Make.com), Short Description = "Summarise recent channel conversation." Save the command. Reinstall the app to your workspace to apply the change.
Step 2: Build the Make.com webhook handler
In Make.com, create a new scenario starting with a Webhooks "Custom Webhook" trigger module. Copy the webhook URL and paste it into your Slack App's slash command Request URL. Configure the rest of the scenario: parse the incoming webhook data (Slack sends the channel ID, user ID, and any text after the command), make a Slack API call to retrieve recent messages from the channel, send those messages to GPT-4o for summarisation, and post the summary as a reply in the channel using the Slack "Create a Message" module.
Step 3: Handle the response timing requirement
Slack requires slash commands to receive an initial acknowledgment response within 3 seconds. Make.com workflows that call the OpenAI API take 3โ8 seconds. To avoid Slack's timeout, send an immediate acknowledgment response from the webhook trigger (return 200 OK with "Summarising conversation..." as a plain text response), then proceed with the AI processing and post the actual result as a delayed follow-up message using Slack's response_url.
Slack AI bot with conversational memory: the architecture
A full conversational AI bot in Slack โ one that remembers context across messages and maintains coherent multi-turn conversations โ requires more than a simple webhook. Here is the architecture for building one with n8n.
The components needed
- Slack App with Event Subscriptions configured to send message events to a webhook endpoint
- n8n workflow receiving Slack events, maintaining conversation context in a simple key-value store (n8n's built-in Static Data or an external store like Redis or a Google Sheet)
- OpenAI Chat Completions API called with the full conversation history assembled from the context store
- Slack API call to post the AI's response back to the appropriate thread
The conversation state pattern
For each user-bot conversation, store the conversation history as an array of message objects: [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]. When a new message arrives, append it to the history, send the full history to the OpenAI API, append the AI's response to the history, save the updated history back to the store, and post the response to Slack. The context window (how much history to keep) is bounded by GPT-4o's 128,000-token context window โ for typical team conversations, this is effectively unlimited.
For the full n8n implementation: n8n AI automation guide โ includes the Agent node setup that simplifies this architecture significantly for teams with technical capability.
Frequently asked questions
For posting AI-generated content to Slack (the output approach), you only need to create an Incoming Webhook in a Slack App โ a 5-minute setup. For triggering automations from Slack events (messages, reactions, commands), you need a Slack App with appropriate event subscriptions and OAuth scopes โ a 20-minute setup. For full conversational bots with real-time response, you need a Slack App with Events API and a backend endpoint โ more involved but well-documented in Slack's developer guides.
Slack's incoming webhooks are rate-limited to 1 message per second per webhook URL. For most automation use cases โ daily reports, lead alerts, meeting summaries โ this is not a practical constraint. If you are posting many messages rapidly (e.g., processing a large batch of items simultaneously), add a small delay between posts or aggregate multiple items into a single formatted message.
Yes, with appropriate setup. A Slack Events API subscription for message events, processed through an AI classifier, can flag messages that match specific criteria (potential policy violations, escalation keywords, specific topics requiring management attention) and post them to a moderation channel for human review. This is not autonomous moderation (the AI does not delete messages or warn users automatically, which would be poor practice) but AI-assisted moderation that surfaces relevant messages for human review faster than manual monitoring.
In your event handler, check the bot_id field in the Slack event payload. If the message was sent by a bot (bot_id is not null) or by your specific bot's user ID, exit the workflow immediately without processing. This one check prevents the most common infinite loop scenario. Also implement a deduplication check using the message's ts (timestamp) field โ Slack sometimes delivers the same event twice, and processing it twice can cause duplicate responses.
Build your full AI automation portfolio
The complete guide covers every tool, strategy, and workflow architecture.
Read the Complete AI Automation Guide →ThinkForAI Editorial Team
All configurations verified in production. Updated November 2024.


