Draft and manage Google review replies with OpenRouter, Gmail and Sheets

Go to Workflow
0 views
Built by Hamza Hamza
Created on October 14, 2026

Description

Quick overview
This workflow checks for new Google Business Profile reviews hourly, uses OpenRouter to classify sentiment and draft on-brand public replies, logs reviews and drafts to Google Sheets, and emails the business owner for approval via Gmail, with optional auto-posting and error logging.

How it works
Runs every hour on a schedule.
Loads your business settings and reads previously logged review IDs from a Google Sheets “Reviews” tab to avoid duplicates.
Calls the Google Business Profile (My Business) API to fetch the latest reviews for the configured account and location.
Filters to only reviews that are not yet logged and do not already have an owner reply.
Sends each new review to OpenRouter to generate JSON containing sentiment, urgency, a short summary, and a suggested public reply, then validates/parses the output with a safe fallback reply.
Appends the review details and drafted reply to the Google Sheets “Reviews” tab and emails the draft to the owner via Gmail, flagging 3-stars-or-lower reviews as urgent.
If auto-posting is enabled, publishes the drafted reply back to the review through the Google Business Profile API, and on any HTTP/Gmail/posting failure logs the error to the Google Sheets “Errors” tab and emails the owner.

Setup
Create a Google Sheet with two tabs named “Reviews” and “Errors” and add the required headers (e.g. Reviews: Review ID, Date, Reviewer, Rating, Comment, Sentiment, Urgency, Draft Reply, Status; Errors: Timestamp, Node, Error, Execution ID).
Add a Google OAuth2 credential with the https://www.googleapis.com/auth/business.manage scope (used to read reviews and optionally post replies).
Add Google Sheets OAuth2 credentials for the spreadsheet and Gmail OAuth2 credentials for sending approval and error emails.
Add an OpenRouter API credential and select the model in the OpenRouter chat model node.
Fill in the Workflow Settings values (business name, owner email, account ID, location ID, sheet ID, brand voice) and only set autoPostReplies to true after you trust the generated drafts.

This workflow was created by Hamza and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (6)

Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter