

How to Run Sentiment Analysis on Slack Messages with Zapier
Automatically analyze sentiment of Slack #feedback messages using GPT and post the classification (positive, neutral, negative) back to the channel.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Teams wanting automatic sentiment tracking on feedback channels without any coding required.
Not ideal for
High-volume feedback processing or teams needing sentiment trends stored in databases.
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person B2B SaaS company uses this to automatically classify customer feedback in their #customer-voice channel. Before automation, their customer success manager manually reviewed 50+ messages daily and often missed negative feedback for hours. Now GPT flags negative sentiment immediately, and the CS team responds to problems within 30 minutes instead of the next business day.
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
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Message Text | text | |
| Thread Timestamp | ts | |
| Channel ID | channel | |
| OpenAI Response | content | |
1 optional fieldβΈ show
| User ID | user |
Step-by-Step Setup
Dashboard > Create Zap > Trigger
Create New Zap with Slack Trigger
Start a new Zap and set up Slack as the trigger to monitor your feedback channel. This will fire every time someone posts a new message in the specified channel.
- 1Click 'Create Zap' from the Zapier dashboard
- 2Search for 'Slack' and select it as your trigger app
- 3Choose 'New Message Posted to Channel' as the trigger event
- 4Click 'Continue' to move to the account connection
Trigger > Account
Connect Your Slack Account
Authenticate Zapier to access your Slack workspace. You'll need admin permissions to set up channel monitoring.
- 1Click 'Sign in to Slack' button
- 2Select your workspace from the dropdown
- 3Click 'Allow' to grant Zapier permissions
- 4Confirm the green 'Connected' status appears
Trigger > Event
Configure Channel Settings
Point the trigger to your specific feedback channel. The trigger will only fire for messages in this channel, ignoring DMs and other channels.
- 1In the 'Channel' dropdown, select your #feedback channel
- 2Leave 'Trigger for Bot Messages' unchecked
- 3Set 'Include Threaded Messages' to 'No' to avoid analyzing replies
- 4Click 'Continue' to proceed
Trigger > Test
Test Slack Trigger
Zapier will fetch a recent message from your feedback channel to use as test data. This sample will flow through the rest of your Zap setup.
- 1Click 'Test trigger' button
- 2Wait for Zapier to fetch recent messages
- 3Review the sample message data in the results panel
- 4Click 'Continue with selected record' if the data looks correct
Action > Choose App
Add OpenAI Action Step
Add OpenAI as the action step to analyze the sentiment of each Slack message. This will send the message text to GPT for classification.
- 1Click the '+' button to add an action step
- 2Search for 'OpenAI' and select it
- 3Choose 'Send Prompt' as the action event
- 4Click 'Continue' to move to account setup
Action > Account
Connect OpenAI Account
Link your OpenAI account using an API key. You'll need an active OpenAI account with API credits to run sentiment analysis.
- 1Click 'Connect a new account'
- 2Go to platform.openai.com/api-keys in a new tab
- 3Create a new API key and copy it
- 4Paste the API key into Zapier's connection field
- 5Click 'Yes, Continue' after successful connection
Action > Event > Model Settings
Configure GPT Prompt Settings
Set up the GPT model and parameters for sentiment analysis. Use GPT-3.5-turbo for speed and cost efficiency on this straightforward classification task.
- 1Select 'gpt-3.5-turbo' from the Model dropdown
- 2Set Max Tokens to 50 (enough for 'positive', 'neutral', or 'negative')
- 3Set Temperature to 0.1 for consistent classifications
- 4Leave Top P at default (1)
Action > Event > Messages
Build the Sentiment Analysis Prompt
Create a specific prompt that instructs GPT to classify the message sentiment. Include the Slack message text as dynamic data from the trigger.
- 1Click in the 'User' message field
- 2Type: 'Analyze the sentiment of this message and respond with only one word: positive, negative, or neutral. Message: '
- 3Click the data pill icon and select 'Text' from the Slack trigger data
- 4Add a closing quote after the Text field
Action > Test
Test OpenAI Action
Run the sentiment analysis on your sample Slack message to verify GPT returns the expected classification format.
- 1Click 'Test step' button
- 2Wait for OpenAI to process the request
- 3Check that the response contains only 'positive', 'negative', or 'neutral'
- 4Click 'Continue' if the classification looks correct
Action 2 > Choose App
Add Slack Reply Action
Set up a second Slack action to post the sentiment classification back to the feedback channel. This creates a thread reply under the original message.
- 1Click '+' to add another action step
- 2Select Slack as the app
- 3Choose 'Send Channel Message' as the action
- 4Use your existing Slack connection
Action 2 > Event
Configure Reply Message
Set up the message content and targeting to reply in the same channel with the sentiment analysis result.
- 1Select your #feedback channel from the Channel dropdown
- 2In the Message Text field, type 'Sentiment: ' followed by the OpenAI content data pill
- 3Set Thread Timestamp to the original message timestamp from the trigger
- 4Leave other fields at defaults
π¬ New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Action 2 > Test
Test Complete Workflow
Run the full Zap end-to-end to verify sentiment analysis and Slack reply work together correctly.
- 1Click 'Test step' on the final Slack action
- 2Check your #feedback channel for the sentiment reply
- 3Verify the reply appears as a thread under the original message
- 4Click 'Publish Zap' if everything works correctly
Drop this into a Zapier Code step.
JavaScript β Code Step{{if(length(trigger.text) > 10 && not(contains(trigger.user, 'bot')), 'process', 'skip')}}βΈ Show code
{{if(length(trigger.text) > 10 && not(contains(trigger.user, 'bot')), 'process', 'skip')}}... expand to see full code
{{if(length(trigger.text) > 10 && not(contains(trigger.user, 'bot')), 'process', 'skip')}}Scaling Beyond 200+ messages/day+ Records
If your volume exceeds 200+ messages/day records, apply these adjustments.
Add Message Length Filter
Skip sentiment analysis on messages under 10 characters - they're usually just reactions or acknowledgments that don't need classification. This cuts your OpenAI API calls by 30-40% in active channels.
Switch to Make for Cost Savings
Make's Core plan handles 10,000 operations for $9/month vs Zapier's Professional at $49/month for the same volume. The setup is more complex but saves $480/year at high volume.
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 Zapier for this if you want zero coding and your feedback volume stays under 200 messages per month. Setup takes 15 minutes and works reliably with both Slack and OpenAI APIs. Pick Make instead if you're processing 500+ messages monthly - their free tier handles more volume and costs 40% less at scale.
This workflow burns 2 Zapier tasks per feedback message (one for the trigger, one for the reply). At 100 messages monthly, that's 200 tasks fitting comfortably in the $19.99 Starter plan. Make charges $9/month for the same volume. N8n would be free but requires hosting. Zapier wins on simplicity despite costing more.
Make handles OpenAI rate limiting better with built-in retry logic and lets you batch multiple messages in one API call. N8n gives you more control over the GPT prompt formatting and can store sentiment trends in a database easily. But Zapier's guided builder means you'll have this running in 15 minutes vs 2 hours of JSON wrangling with alternatives.
GPT sometimes returns 'mixed' or 'slightly positive' instead of your three target categories - add validation that rejects anything other than exact matches. Slack's thread timestamp format is picky about timezone handling. OpenAI's API occasionally returns rate limit errors even within your quota during peak hours, so enable Zapier's automatic retry feature in Settings.
Ideas for what to build next
- βAdd Weekly Sentiment Reports β Create a second Zap that aggregates sentiment data into Google Sheets and emails weekly summaries to your customer success team.
- βSet Up Negative Sentiment Alerts β Add a filter that immediately notifies your support team in a private channel when GPT detects negative sentiment, enabling faster response to customer issues.
- βTrack Sentiment Trends Over Time β Connect the sentiment data to a database or analytics tool to identify patterns in customer feedback and measure satisfaction changes over time.
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