Quick overview
This workflow runs twice a day to fetch the latest App Store and Google Play reviews via Apify, classifies and drafts replies with OpenAI (or rule-based fallback), logs new reviews to Google Sheets, and routes low-star, unanswered reviews to the right Slack channels.
How it works
- Runs every 12 hours on a schedule.
- Calls the Apify “App Reviews Unified” actor to fetch recent reviews for the configured iOS and Android app IDs and alerts Slack if the request fails or returns no reviews.
- Reads the existing review log from Google Sheets and filters the Apify results to keep only reviews that have not been logged yet.
- Optionally sends each new review to OpenAI to assign a topic and sentiment, generate a short summary, and draft a public reply, falling back to keyword rules if AI is disabled or returns invalid JSON.
- Appends all newly found reviews (with classification fields) to Google Sheets.
- Filters to low-star, unanswered reviews and routes them to different Slack channels based on topic (bugs/login/performance to engineering, billing to billing, everything else to support).
Setup
- Add an Apify API token using HTTP Header Auth with header name
Authorization and value Bearer <your token>.
- Connect your Google Sheets OAuth account and select the target spreadsheet and sheet tab for both the read and append steps (ensure it contains a “Review ID” column for deduplication).
- Connect your Slack account and set the target channels (for example #app-bugs, #billing, and #app-reviews).
- (Optional) Add an OpenAI API credential and confirm the model selection, or set
useAI to false to use the built-in keyword rules only.
- Update the Config values for
apps, country, language, maxReviewsPerApp, maxStars, and maxCostUsd to match your apps and alerting preferences.
Requirements
- An Apify account and API token (the free plan's monthly credit covers the default schedule)
- Google Sheets connected in n8n (the review log)
- Slack connected in n8n with three channels: engineering, billing and support
- Optional: an OpenAI API key for topics and reply drafts (keyword rules are used without it)
- n8n cloud or self-hosted; only built-in nodes, no community nodes
Customization
- List several apps in Config as ios:<App Store id> or android:<package name>, comma-separated
- Raise maxStars to 3 to also route neutral reviews, or set it to 1 for only the angriest ones
- Add rules to "Route by topic", for example Ads or Feature request to a product channel
- Describe your app and support link in aboutApp so the reply drafts point users to the right place
- Replace a Slack node with Jira, Linear or Zendesk to open tickets instead
Additional info
Cost: US$0.50 per 1,000 reviews fetched on Apify (same price on all plans); the defaults (50 reviews x 2 apps, twice a day) cost about US$0.10 per day, and maxCostUsd caps each run. AI costs well under US$0.001 per review. Every new review is logged in Google Sheets with topic, sentiment, summary and a reply draft; only new, unanswered reviews at or below maxStars alert, and the first run only alerts on the last 3 days. Actor: https://apify.com/fabrikit/app-reviews-unified