FlowKit

Automatically Replying to Google Business Reviews with AI in n8n

By Clément Lacaille (Tech-Bharat) · Published 7 September 2026 · 4 min read · how we build and test

Complete FlowKit Bundle — €269

12 ready-to-import n8n workflows, setup guide in French, 14-day guarantee

See the bundle

A study by Davide Proserpio and Georgios Zervas, Online Reputation Management: Estimating the Impact of Management Responses on Consumer Reviews (Marketing Science, 2017), finds that a business which starts replying systematically to reviews sees the volume of new reviews increase, alongside a slight drop in average rating — a sign that replying changes customer behavior as much as their perception. For a small business whose Google Business Profile listing is often the first touchpoint before a call or a purchase, leaving reviews unanswered for weeks is not a neutral choice. This guide builds an n8n pipeline that monitors new Google Business reviews, drafts a reply with AI, and never publishes a word on a negative review without a human in the loop.

Why Google Business Profile has no native node in n8n

n8n covers several hundred integrations, but Google Business Profile isn't one of them: unlike Google Drive or Google Sheets, no dedicated node exposes its operations in the interface. The pipeline therefore relies entirely on an HTTP Request node, calling the Business Profile API (mybusiness.googleapis.com/v4) that Google exposes for verified business listings.

Two distinct operations come into play, with different implications:

  • Listing reviews (accounts.locations.reviews.list): a simple read, low risk.
  • Replying to a review (accounts.locations.reviews.updateReply, a PUT request): a public, irreversible action on the business's listing, which justifies stricter control before publishing.

Authentication: a generic OAuth2 credential

Both calls require OAuth2 authentication with the https://www.googleapis.com/auth/business.manage scope (the older plus.business.manage scope is still accepted for compatibility). The location must be a verified listing: Google refuses these operations on a listing pending verification.

Since n8n has no dedicated Google Business Profile credential, you use a generic OAuth2 credential, described in detail in our guide to configuring generic OAuth2 in n8n: Google's authorization and token URLs, a client ID/secret created in Google Cloud Console, and the business.manage scope entered manually. It's the same mechanism used for any Google API without a dedicated node.

Building the pipeline in n8n

Step 1 — Fetch new reviews on a regular schedule

A Schedule Trigger runs the workflow every hour. An HTTP Request node calls GET .../locations/{locationId}/reviews, sorted by creation date. A Data Table node (see our guide to n8n Data Tables) stores the IDs of reviews already processed, so the pipeline never drafts a reply twice for the same review across runs.

Step 2 — Generate a contextualized reply with AI

An AI Agent node (or Basic LLM Chain) receives the review text, its rating, and the business name, with a prompt enforcing a professional tone, a short reply, and no unverifiable commercial promises. This is exactly the mechanism behind draft generation in the Inbox AI Pack for incoming emails: an LLM proposes text adapted to context, never published without a filter upstream.

Step 3 — Route by rating before publishing

An IF node separates 4-5 star reviews (a generic thank-you reply, safe to auto-publish) from 1-3 star reviews (the draft is sent to Slack for human approval, via a Wait node awaiting approval). This distinction limits exposure: a generic thank-you can't go wrong, a reply to an unhappy customer can.

Step 4 — Publish the approved reply

A final HTTP Request node sends the PUT request to .../reviews/{reviewId}/reply with the final text (validated or auto-generated depending on the branch). The API's response confirms publication or returns a detailed error code.

Handling replies Google rejects

Google can reject a reply that violates its content policy (a promotional link, personal contact details, inappropriate language): the Reviews API then returns a specific rejection reason in the error body. Rather than letting this failure pass unnoticed, a dedicated Error Workflow captures the return code, extracts the reason, and notifies the team to adjust the text manually — an essential safety net, since a reply that silently fails to publish is worse than no automation at all.

Google Business Profile vs Trustpilot: two similar pipelines, different constraints

The overall approach mirrors the one detailed in our guide to monitoring Trustpilot reviews, with operational differences worth knowing:

Google Business Profile Trustpilot
Read authentication OAuth2 (business.manage) Simple API key
Reply authentication OAuth2 (business.manage) Separate Business user OAuth2
Account prerequisite Verified listing required Active Business account
Rejection visibility Detailed reason in the error Depends on the HTTP status code

In both cases, the same best practice applies: draft with AI, but reserve automatic publication for positive, low-stakes reviews.

Why not automate everything

Replying fast is useful, but a poorly calibrated reply to a negative review can backfire if it sounds insincere or defensive — precisely the side effect the Proserpio and Zervas study above points to. The pipeline described here automates the repetitive part (reading, drafting, publishing the easy cases) while keeping a human on the decisions that actually matter: reviews that can sway a hesitant customer. It's the same trade-off behind the Inbox AI Pack: AI prepares, a human decides when the situation calls for it.

FAQ

Frequently asked questions

Is there a native Google Business Profile node in n8n?

No. n8n has no dedicated node for Google Business Profile. You need an HTTP Request node that calls Google's Business Profile API (mybusiness.googleapis.com) directly, using a generic OAuth2 credential.

What access is required to read, then reply to, reviews?

The location must be a verified Google Business Profile listing. Both the read call (accounts.locations.reviews.list) and the reply call (accounts.locations.reviews.updateReply, a PUT request) require the business.manage OAuth2 scope (the older plus.business.manage scope is also accepted), obtained through a generic OAuth2 credential configured in n8n.

Can the AI publish a reply to a negative review automatically?

Not recommended. A generic or poorly calibrated reply to a 1- or 2-star review can make the situation worse rather than better. Best practice is to let the AI draft a contextualized reply, but always route low-rated reviews to human review before publishing.

How do you know if a reply was rejected by Google, and why?

The Reviews API returns a specific rejection reason for any refused reply (content policy violation, unjustified promotional tone, etc.). The n8n pipeline can read that reason from the error response and alert a human instead of leaving the reply silently missing.

Complete FlowKit Bundle

€269