See llms.txt for all machine-readable content.

Back to Templates

Send post-appointment review requests via email and SMS using Google Sheets

Quick overview

This workflow sends post-appointment review requests via SMTP email and optional SMS (via an HTTP API) after completed bookings, using Google Sheets to enforce cooldowns, prevent duplicates, and track opt-outs from SMS replies and email unsubscribe links.

How it works

  1. Receives a completed-appointment event via a webhook with header authentication (or, optionally, runs on a 15-minute schedule to read completed appointments from a Google Sheets tab).
  2. Validates and normalizes the appointment data, immediately returns a 202 response to the booking system, and waits the configured delay before sending.
  3. Loads Review_Log and Opt_Outs from Google Sheets and applies rules to skip duplicates, honor opt-outs, and enforce a cooldown between requests.
  4. Sends a review request email through SMTP and, if enabled and within the configured send window and consent rules, sends an SMS via an HTTP request to your SMS provider.
  5. Appends a row to the Review_Log Google Sheet for every send, skip, or failure so the same contact is not asked twice.
  6. Records inbound SMS STOP/START replies and email unsubscribe link clicks as opt-out events in the Opt_Outs Google Sheet.

Setup

  1. Create a Google Sheet with tabs named Review_Log, Opt_Outs, and (if using schedule mode) Appointments, using the columns expected by the workflow.
  2. Add Google Sheets OAuth credentials and update the Google Sheet document ID in all Google Sheets nodes.
  3. Configure SMTP credentials for sending review request emails and set your business details, review URL, unsubscribe URL, delay, cooldown, and templates in Review Request Settings.
  4. Configure Header Auth credentials for the completed-appointment webhook and configure your booking tool to POST to the webhook URL.
  5. If using SMS, add an HTTP Header Auth credential for your SMS provider, set the SMS API URL/from number and enable SMS in Review Request Settings, then point your SMS provider’s inbound webhook to the SMS reply webhook URL.

Requirements

  • Google Sheets, an SMTP account, and optionally an SMS provider with an HTTP API. Only built-in nodes are used.

Customization

  • Change the wording in the Settings node, adjust the send window, or switch SMS body fields to match your provider (Twilio, Telnyx, Plivo and others).

Additional info

It never reads ratings or satisfaction data. Everyone gets the same request, in line with Google's review policies and the FTC rule against suppressing negative reviews. Tested on n8n 2.45.6 (self-hosted). Not legal advice: check consent and messaging rules for your location.