

How to Summarize Slack Threads with OpenAI Using Make
Automatically generate thread summaries in Slack by reacting with π emoji - Make calls OpenAI API and posts the summary as a reply.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Teams that need instant AI summaries of long Slack discussions with custom formatting and multi-channel support.
Not ideal for
Simple use cases that only need summaries in one channel or teams comfortable building custom Slack bots.
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person product team uses this to summarize lengthy feature discussions in #product-reviews. Before automation, the PM manually read through 15+ message threads daily and wrote recap notes for stakeholders. Now team members just react with π on important threads and get AI summaries within 10 seconds. The bot processes about 40 threads per week, saving 2 hours of manual review time.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently β Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured β you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Channel ID | channel | |
| Message Timestamp | ts | |
| Thread Messages | messages[].text | |
| Message Authors | messages[].user | |
| AI Prompt Text | prompt | |
| Summary Response | choices[].text | |
| Reply Thread ID | thread_ts | |
Step-by-Step Setup
Dashboard > Create Scenario > Add Module > Slack
Create New Scenario in Make
Start building your thread summarization workflow. Make will watch for specific emoji reactions in Slack channels.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Click the blue '+' button to add your first module
- 3Search for 'Slack' in the app list
- 4Select 'Watch Reactions Added' trigger
Slack Module > Connection > Add
Connect Slack Account
Authenticate Make to access your Slack workspace. You'll need admin permissions to read message content and reactions.
- 1Click 'Add' next to Connection field
- 2Select 'OAuth 2.0' connection type
- 3Click 'Continue' and authorize Make in the Slack popup
- 4Choose your workspace from the dropdown
Slack Module > Configure
Configure Reaction Trigger
Set the trigger to fire only when someone adds the π emoji. This prevents the automation from running on every reaction in your workspace.
- 1Select specific channels or leave blank for all channels
- 2In the 'Reaction' field, type 'memo' (the emoji code for π)
- 3Set 'Limit' to 1 to process one reaction at a time
- 4Click 'OK' to save the trigger configuration
Add Module > Slack > Get Thread
Add Slack Get Thread Module
Fetch the complete thread conversation. This module retrieves all messages in the thread so OpenAI has the full context to summarize.
- 1Click the '+' button after your reaction trigger
- 2Search for 'Slack' and select 'Get Thread'
- 3Use the same connection from step 2
- 4Map 'Channel' field to the trigger's channel ID
- 5Map 'Timestamp' field to the trigger's message timestamp
Add Module > Tools > Text Aggregator
Add Text Aggregator
Combine all thread messages into a single text block. OpenAI needs one continuous text input, not separate message objects.
- 1Click '+' and search for 'Text aggregator'
- 2Select 'Text aggregator' from Tools category
- 3Set 'Source Module' to the Get Thread module
- 4In 'Text' field, map: {{2.messages[].user}}: {{2.messages[].text}}
- 5Set 'Row separator' to line break (\n)
Add Module > OpenAI > Create a Completion
Add OpenAI Module
Connect to OpenAI's API to generate the thread summary. This module sends the aggregated text and receives the AI-generated summary.
- 1Click '+' and search for 'OpenAI'
- 2Select 'Create a Completion' action
- 3Click 'Add' next to Connection
- 4Paste your OpenAI API key in the API Key field
- 5Click 'Save' to establish the connection
OpenAI Module > Configure
Configure OpenAI Completion
Set up the AI prompt and parameters for thread summarization. The model and temperature settings control summary quality and consistency.
- 1Set Model to 'gpt-3.5-turbo-instruct'
- 2In Prompt field, enter: 'Summarize this Slack conversation in 2-3 bullet points:\n{{5.text}}'
- 3Set Max Tokens to 150
- 4Set Temperature to 0.3 for consistent summaries
- 5Leave other fields at default values
Add Module > Slack > Create a Message
Add Reply Module
Post the AI summary back to the original Slack thread. This creates a threaded reply so the summary appears in context.
- 1Click '+' and add another Slack module
- 2Select 'Create a Message' action
- 3Use existing Slack connection
- 4Map Channel to the original trigger channel
- 5Map Thread Timestamp to the trigger's message timestamp
Slack Message Module > Configure
Format Summary Message
Create the final message format with the AI summary. Add context so users know this is an automated summary.
- 1In the Text field, enter: 'π€ Thread Summary:\n{{6.choices[].text}}'
- 2Set 'Parse Mode' to 'none'
- 3Enable 'Unfurl Links' if you want link previews
- 4Leave 'As User' disabled to post as the bot
π¬ New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Right-click OpenAI Module > Add Error Handler
Add Error Handling
Configure what happens when OpenAI is unavailable or rate limited. This prevents the scenario from breaking on API errors.
- 1Right-click the OpenAI module
- 2Select 'Add error handler'
- 3Choose 'Break' directive
- 4Add a Slack message module in the error path
- 5Set error message: 'Sorry, I couldn\'t generate a summary right now. Please try again later.'
Scenario > Run Once
Test the Scenario
Run a test to verify the complete workflow. Make will simulate a real emoji reaction and show you each step's output.
- 1Click 'Run once' at the bottom left
- 2Go to Slack and add π reaction to a test thread
- 3Return to Make and watch the execution progress
- 4Check each module's output in the execution log
- 5Verify the summary appears in your Slack thread
Scenario > Schedule > ON
Enable Automatic Scheduling
Turn on the scenario to run continuously. Make will now monitor all reactions in real-time and generate summaries automatically.
- 1Click the 'OFF' toggle in the bottom left corner
- 2Select 'Immediately' for the schedule
- 3Click 'OK' to confirm activation
- 4The toggle should now show 'ON' with a green indicator
Drop this into a Make custom function.
JavaScript β Custom Function{{if(length(5.text) > 2000; left(5.text; 2000) + "\n[Thread truncated - showing first 2000 characters]"; 5.text)}}βΈ Show code
{{if(length(5.text) > 2000; left(5.text; 2000) + "\n[Thread truncated - showing first 2000 characters]"; 5.text)}}... expand to see full code
{{if(length(5.text) > 2000; left(5.text; 2000) + "\n[Thread truncated - showing first 2000 characters]"; 5.text)}}Scaling Beyond 50+ summaries per day+ Records
If your volume exceeds 50+ summaries per day records, apply these adjustments.
Add Request Delay
Insert a 2-3 second delay before the OpenAI module to avoid rate limits. OpenAI allows 60 requests per minute on paid accounts.
Batch Processing
Consider collecting multiple thread requests and processing them in batches during off-peak hours. Use Make's data store to queue requests.
Model Optimization
Switch to gpt-3.5-turbo with chat format instead of text completion. It's 10x cheaper and handles longer threads without hitting token limits.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Make for this if you need real-time thread summarization across multiple Slack channels and want granular control over the AI prompts. Make's visual builder makes it easy to modify the summarization logic, add filters for specific channels, or chain additional actions like saving summaries to a database. The webhook-based triggers fire instantly when someone adds the emoji reaction. Skip Make and use a simple Slack bot instead if you only need basic summarization in 1-2 channels.
This workflow consumes about 8 operations per run - 1 for the trigger, 2 for getting thread data, 1 for text aggregation, 2 for OpenAI API calls (including retries), and 2 for posting the summary. At 100 summaries per month, that's 800 operations total. Make's free tier includes 1,000 operations monthly, so you're covered. The Pro plan at $9/month gives you 10,000 operations. Zapier would cost $20/month for the same volume since their cheapest paid plan starts higher. N8n is free if self-hosted but requires server management.
Zapier has better error handling for OpenAI rate limits with built-in exponential backoff, while Make requires manual retry configuration. N8n offers more flexible text processing with JavaScript functions, letting you create more sophisticated prompts or filter out certain message types before sending to OpenAI. But Make wins on simplicity and has the most reliable Slack webhook triggers - both competitors occasionally miss reactions during high Slack activity periods.
You'll hit OpenAI's rate limit at around 50 concurrent requests, so add a 2-second delay module if your team uses this heavily. Slack's thread timestamp format changes between different message types - permalink reactions use different timestamps than direct message reactions, which will break your thread mapping. The text aggregator has a 32KB limit, so threads longer than about 200 messages will get truncated before reaching OpenAI.
Ideas for what to build next
- βAdd Summary Analytics β Track which channels use summarization most and measure time saved. Connect a Google Sheets module to log usage data.
- βCreate Topic-Specific Prompts β Set up different scenarios for #support, #sales, and #product channels with customized AI prompts for each context.
- βAuto-Archive Long Threads β After summarization, automatically move threads older than 7 days to an archive channel to keep active channels clean.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup