Manage Google and Trustpilot reviews with OpenAI and Slack

Go to Workflow
0 views
Built by Redowan Ahmed Farhan Redowan Ahmed Farhan
Created on July 28, 2026

Description

Quick overview
This workflow runs hourly to fetch new Google Business Profile and Trustpilot reviews, deduplicates them, uses OpenAI via a LangChain agent to draft sentiment-aware replies, escalates negative reviews in Slack, and routes positive replies to Slack for approval before posting the reply back to Trustpilot.

How it works
Runs every hour on a schedule.
Fetches the latest reviews from the Google Business Profile API and the Trustpilot API and combines the results.
Deduplicates reviews by tracking previously seen review IDs in workflow static data and stops if there are no new reviews.
Processes each new review and uses OpenAI (via a LangChain agent) to generate structured JSON containing sentiment, a draft reply, and an optional suggested resolution.
Sends negative reviews to a Slack channel for the owner along with the suggested resolution.
Sends positive draft replies to Slack for one-tap approval (with a 24-hour timeout) and, if approved, publishes the reply to the Trustpilot API.
Sends a Slack alert to the ops channel if the workflow errors.

Setup
Configure authentication and replace placeholders for the Google Business Profile reviews endpoint (account and location) in the Google reviews HTTP request.
Configure Trustpilot API authentication, set your business unit ID in the fetch URL, and ensure the reply endpoint can post to v1/reviews/{reviewId}/reply.
Add an OpenAI credential for the Chat Model node (model set to gpt-5-mini) used by the LangChain agent.
Add a Slack OAuth credential and set the channel IDs for owner alerts, review approvals, and ops error notifications.
Review the agent system message to match your brand voice and confirm the sentiment schema (positive/negative) fits your routing needs.

Nodes Used (6)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Slack
n8n-nodes-base.slack
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured