Beginner~8 min setupAI & CommunicationVerified April 2026
OpenAI logo
Slack logo

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-time

Use case type

notification

Real-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.

/mo
505005K50K

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.

Admin access to the Slack workspace with the feedback channel
OpenAI account with API access and available credits
Zapier account (free tier works for testing)
Active #feedback channel with recent messages for testing
Permission to add bot messages to the feedback channel

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Message Texttext
Thread Timestampts
Channel IDchannel
OpenAI Responsecontent
1 optional fieldβ–Έ show
User IDuser

Step-by-Step Setup

1

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.

  1. 1Click 'Create Zap' from the Zapier dashboard
  2. 2Search for 'Slack' and select it as your trigger app
  3. 3Choose 'New Message Posted to Channel' as the trigger event
  4. 4Click 'Continue' to move to the account connection
βœ“ What you should see: You should see the Slack trigger configured with 'New Message Posted to Channel' selected.
Zapier
+
click +
search apps
OpenAI
OP
OpenAI
Create New Zap with Slack Tr…
OpenAI
OP
module added
2

Trigger > Account

Connect Your Slack Account

Authenticate Zapier to access your Slack workspace. You'll need admin permissions to set up channel monitoring.

  1. 1Click 'Sign in to Slack' button
  2. 2Select your workspace from the dropdown
  3. 3Click 'Allow' to grant Zapier permissions
  4. 4Confirm the green 'Connected' status appears
βœ“ What you should see: Green checkmark next to Slack with your workspace name displayed.
⚠
Common mistake β€” Make sure you're connecting the workspace that contains your #feedback channel - switching later requires rebuilding the Zap.
Zapier settings
Connection
Choose a connection…Add
click Add
OpenAI
Log in to authorize
Authorize Zapier
popup window
βœ“
Connected
green checkmark
3

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.

  1. 1In the 'Channel' dropdown, select your #feedback channel
  2. 2Leave 'Trigger for Bot Messages' unchecked
  3. 3Set 'Include Threaded Messages' to 'No' to avoid analyzing replies
  4. 4Click 'Continue' to proceed
βœ“ What you should see: Channel field shows your #feedback channel name with proper # prefix.
⚠
Common mistake β€” Don't enable threaded messages unless you want to analyze every reply - this can create noise in your sentiment data.
4

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.

  1. 1Click 'Test trigger' button
  2. 2Wait for Zapier to fetch recent messages
  3. 3Review the sample message data in the results panel
  4. 4Click 'Continue with selected record' if the data looks correct
βœ“ What you should see: Sample message displayed with fields like 'text', 'user', 'timestamp' populated with real data from your channel.
Zapier
β–Ά Turn on & test
executed
βœ“
OpenAI
βœ“
Slack
Slack
πŸ”” notification
received
5

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.

  1. 1Click the '+' button to add an action step
  2. 2Search for 'OpenAI' and select it
  3. 3Choose 'Send Prompt' as the action event
  4. 4Click 'Continue' to move to account setup
βœ“ What you should see: OpenAI action step added with 'Send Prompt' event selected.
6

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.

  1. 1Click 'Connect a new account'
  2. 2Go to platform.openai.com/api-keys in a new tab
  3. 3Create a new API key and copy it
  4. 4Paste the API key into Zapier's connection field
  5. 5Click 'Yes, Continue' after successful connection
βœ“ What you should see: Green 'Connected' badge appears next to OpenAI with your account email.
⚠
Common mistake β€” Store your API key securely - Zapier masks it after entry but you can't retrieve it later if you need to use it elsewhere.
7

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.

  1. 1Select 'gpt-3.5-turbo' from the Model dropdown
  2. 2Set Max Tokens to 50 (enough for 'positive', 'neutral', or 'negative')
  3. 3Set Temperature to 0.1 for consistent classifications
  4. 4Leave Top P at default (1)
βœ“ What you should see: Model shows 'gpt-3.5-turbo', Max Tokens shows '50', Temperature shows '0.1'.
⚠
Common mistake β€” Don't use GPT-4 here - it's 20x more expensive and overkill for simple sentiment classification.
8

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.

  1. 1Click in the 'User' message field
  2. 2Type: 'Analyze the sentiment of this message and respond with only one word: positive, negative, or neutral. Message: '
  3. 3Click the data pill icon and select 'Text' from the Slack trigger data
  4. 4Add a closing quote after the Text field
βœ“ What you should see: User field shows your prompt text with the Slack 'Text' field inserted as dynamic content.
⚠
Common mistake β€” Keep the prompt simple and specific - complex instructions can lead to inconsistent response formats that break downstream steps.
9

Action > Test

Test OpenAI Action

Run the sentiment analysis on your sample Slack message to verify GPT returns the expected classification format.

  1. 1Click 'Test step' button
  2. 2Wait for OpenAI to process the request
  3. 3Check that the response contains only 'positive', 'negative', or 'neutral'
  4. 4Click 'Continue' if the classification looks correct
βœ“ What you should see: Test results show a single word sentiment classification in the 'content' field.
10

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.

  1. 1Click '+' to add another action step
  2. 2Select Slack as the app
  3. 3Choose 'Send Channel Message' as the action
  4. 4Use your existing Slack connection
βœ“ What you should see: Second Slack action configured with 'Send Channel Message' selected.
11

Action 2 > Event

Configure Reply Message

Set up the message content and targeting to reply in the same channel with the sentiment analysis result.

  1. 1Select your #feedback channel from the Channel dropdown
  2. 2In the Message Text field, type 'Sentiment: ' followed by the OpenAI content data pill
  3. 3Set Thread Timestamp to the original message timestamp from the trigger
  4. 4Leave other fields at defaults
βœ“ What you should see: Message shows 'Sentiment: ' plus the OpenAI response content, with thread timestamp mapped to original message.
⚠
Common mistake β€” Map the Thread Timestamp correctly or replies will post as new messages instead of threaded responses.
Message template
πŸ“¬ New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
12

Action 2 > Test

Test Complete Workflow

Run the full Zap end-to-end to verify sentiment analysis and Slack reply work together correctly.

  1. 1Click 'Test step' on the final Slack action
  2. 2Check your #feedback channel for the sentiment reply
  3. 3Verify the reply appears as a thread under the original message
  4. 4Click 'Publish Zap' if everything works correctly
βœ“ What you should see: New threaded reply in your Slack channel showing 'Sentiment: [classification]' under the test message.

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.

1

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.

2

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

VerdictWhy Zapier for this workflow

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.

Cost

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.

Tradeoffs

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

Was this guide helpful?
← OpenAI + Slack overviewZapier profile β†’