Service businesses / n8n workflow
Ask for customer reviews at the right moment.
Review Requests System
- n8n
- OpenAI
- Gmail
- Twilio
- Google Sheets
- Slack

Problem
Happy customers rarely leave reviews because nobody asks at the right moment. Requests go out inconsistently, follow-ups are forgotten, replies get buried in the inbox, and unsubscribes are easy to miss.
Built
An n8n workflow that triggers a review request when a job is completed, uses an OpenAI agent to draft a personalized message, sends it by email and SMS, tracks clicks, classifies replies, and honors unsubscribes. Everything is logged in Google Sheets with Slack alerts.
Result placeholder
100 reviews collected/month
User-supplied monthly result — not independently verified. Click tracking alone does not confirm a published review; confirm collected reviews before presenting this as a measured outcome.
The workflow, step by step
- 1
Triggers fire the workflow. A webhook for completed jobs, a review queue schedule, webhooks for review clicks and unsubscribes, and a Gmail trigger for client replies.
- 2
Request is validated. n8n normalizes the entry, loads the config, computes context, and rejects unauthorized requests with a 403.
- 3
Event is routed. A router sends each event down the right path: job completed, review queue, review click, unsubscribe, or client reply.
- 4
Completed jobs are parsed. The job is validated and acknowledged, or rejected if invalid. n8n checks existing requests to enforce a cooldown, then saves the request or logs it as skipped so the same customer is not asked twice in a short window.
- 5
The queue is processed on schedule. n8n reads pending review requests, selects the items that are due, and loops through them one by one.
- 6
AI drafts the message. The router separates initial requests from reminders, and the AI writes a personalized review request for each.
- 7
Message is sent and logged. It goes out by email and/or SMS, the request row is updated, and a short wait avoids rate limits.
- 8
Clicks are tracked. When a customer clicks the review link, n8n finds the request, redirects them to the review page, and marks it as clicked.
- 9
Unsubscribes are honored. The request is found and marked unsubscribed, and the customer gets a confirmation so they are not contacted again.
- 10
Replies are classified. AI reads each email reply, matches it to the right request, and sorts it by intent. The row is updated, the team is notified in Slack when needed, and an auto-reply is sent when appropriate.
Human checkpoint
Replies that need attention alert the team in Slack, so a person handles unhappy customers before they post a public review.