The moment it happens
Score product reviews for sentiment and log them in Airtable
Every new product review is scored for sentiment, flagged if it looks fake, and saved to Airtable, with a weekly roundup in Slack.
- Runs
- The moment it happens
- Apps
- Airtable, Slack
- AI
- Yes, uses the built-in AI allowance
- Access
- Airtable read+write; Slack chat:write
Send this to your assistant
Create a ClickRuntime automation: when a new product review comes in, score its sentiment, flag it if it looks fake, save it to my Reviews table in Airtable and post a weekly summary to #product.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small skincare brand collects reviews from its shop and a couple of marketplaces. The founder reads them in bursts, misses a run of complaints about a new pump bottle, and only spots the pattern when returns climb.
Scoring each review as it arrives and keeping them all in one table turns scattered comments into something the team can sort, filter and act on every week.
What you get out of it
Problems show up while they are small
A cluster of negative reviews about one product is visible in the table within days, not after a month of returns.
Suspicious reviews are set aside
Reviews that look fake are flagged so they do not skew how you read customer opinion, and you can report them to the marketplace.
Everyone sees the same weekly picture
A short Slack summary keeps product, support and marketing aligned without anyone exporting a report.
Reviews become data you can filter
With sentiment and product stored as fields, you can sort Airtable by product, score or date and find quotes for marketing.
How it works
What happens, step by step
Each time a review is posted, your shop or review tool sends it to ClickRuntime.
AI reads the review, scores it as positive, neutral or negative, and flags it if it looks fake.
The review and its scores are saved as a new record in your Airtable Reviews table.
Once a week a summary of the reviews is posted in your #product Slack channel.
Before it runs live
- Connect Airtable
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Google Sheets
- Combine it with other Airtable and Slack steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, ai, notify
URL = "https://api.airtable.com/v0/appXXXXXXXXXXXXXX/Reviews"
SCHEMA = {"type": "object", "properties": {"sentiment": {"type": "string", "enum": ["positive", "neutral", "negative"]},
"likely_fake": {"type": "boolean"}, "topic": {"type": "string"}}, "required": ["sentiment", "likely_fake", "topic"]}
@on_event
def handle(event):
r = event.json or {}
text = (r.get("text") or "")[:3000]
res = ai.generate(f"Product: {r.get('product')}\nRating: {r.get('rating')}\nReview: {text}\n"
"Give sentiment, whether it looks fake, and a 3-word topic.", json_schema=SCHEMA, max_output_tokens=80).json
key = credentials.secret("AIRTABLE_API_KEY")
http.post(URL, headers={"Authorization": f"Bearer {key}"}, json={"fields": {
"Product": r.get("product"), "Rating": r.get("rating"), "Review": text, "Sentiment": res["sentiment"],
"Likely fake": res["likely_fake"], "Topic": res["topic"], "Received": event.received_at}})
if res["sentiment"] == "negative" and not res["likely_fake"]:
notify.slack(f"Negative review of {r.get('product')}: {text[:200]}", channel="#product")
return resFAQ
Common questions
Where do the reviews come from?
What makes a review look fake?
What is in the weekly summary?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Save form responses to Airtable and post them in Slack
Each form submission becomes an Airtable record and a message in your leads channel within seconds.
See how it worksLog failed store orders in Airtable and alert Slack
Every failed order from your store is recorded in Airtable and #ops hears about it straight away, with a louder alert when failures pile up.
See how it worksScore new Airtable supplier proposals with AI and share the best in Slack
Each new supplier proposal in Airtable gets a score and a reason, and the strongest ones show up in Slack for the team to review.
See how it worksKeep exploring
Set up “Score product reviews for sentiment and log them in Airtable” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.