Skip to content
FlowHubFluxonLab
C
Gmailfree

Handle NPS survey replies and routing with OpenAI, Gmail, and Google Sheets

by Incrementorsadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCodeGmailGmailGoogle SheetsGoogle SheetsHTTP RequestHTTP Request
Share Post Share
Sc1. Schedule - Run Every 6 Hours1. Schedule - R…2. Sheets - Read NPS Responses2. Sheets - Rea…Fi3. Filter - Only Status New Rows3. Filter - Onl…Co4. Code - Validate and Parse NPS Score4. Code - Valid…HR5. HTTP - OpenAI Generate Personalized Reply5. HTTP - OpenA…Co5b. Code - Parse AI Reply and Build Email5b. Code - Pars…6. Gmail - Send Personalized Reply to Customer6. Gmail - Send…Sw7. Switch - Route by NPS Segment7. Switch - Rou…8. Sheets - Save Promoter Quote8. Sheets - Sav…9. Sheets - Update Promoter Status to Processed9. Sheets - Upd…11. Sheets - Update Passive Status to Processed11. Sheets - Up…12. Gmail - Send Detractor Alert to Support Team12. Gmail - Sen…13. Sheets - Update Detractor Status to Processed13. Sheets - Up…123456789101112
1/5
STEPS · 12
Runs on a schedule

Quick Overview This workflow runs every 6 hours to read new NPS responses from Google Sheets, uses OpenAI to draft a personalized reply, sends it via Gmail, routes respondents by NPS segment, logs promoter quotes back to Google Sheets, alerts support on detractors, and marks each row as processed. How it works Runs on a schedule every 6 hours and reads NPS response rows from a Google Sheets document. Filters the sheet to keep only rows where Status equals “new” to avoid reprocessing. Validates required fields, parses the 0–10 NPS score, and classifies each response as Promoter, Passive, or Detractor. Calls the OpenAI Chat Completions API to generate a warm, personalized email body based on the score segment and the customer’s comment. Sends the generated reply to the customer via Gmail and then routes the workflow by segment. For promoters, appends the customer comment as a quote to a “promoter-quotes” tab in Google Sheets and marks the original row as Processed; for passives, it marks the row as Processed. For detractors, sends an alert email to your support team via Gmail and then updates the original Google Sheets row status to Processed.

Tags

n8nreference-onlygmailgoogle-sheets
Connects
CCodegmailGmailsheetsGoogle SheetsWHTTP Request
CategoryGmail
Triggermanual
Complexitycomplex
Nodes13
AddedJul 15, 2026

Related workflows

See all Gmail
gmailsheetsW
free

Move data between JSON and spreadsheets

This workflow illustrates how to convert data from JSON to binary format and import JSON data or files into Google Sheets or local spreadsheets.

by Lorena
Cgmailsheets
free

📦 Electronic data interchange (EDI) message parsing with Gmail and Google Sheet

Tags: Supply Chain Management, Logistics, Transportation, Data Transmission Context Hey! I'm Samir , a Supply Chain Engineer and Data Scientist from Paris founder of LogiGreen Consulting We help small and medium businesses improve their logistics processes using AI, Data Analytics and Automation. > Sustainable and Efficient supply chains with N8N! 📬 For business inquiries, you can add me on Here What is an EDI Message? Electronic Data Interchange (EDI) is a standardized method of automatically transferring data between computer systems. They ensure the smooth flow of essential transactional data, such as purchase orders, invoices, shipping notices, and more. For instance, a manufacturing company can receive purchase orders from a retailer via EDI. However, they need complex integration for the transmission and processing of the messages. Who is this template for? This workflow template is designed for small companies that cannot connect to their customers and need to manually process the EDI messages received. How does it work? This workflow uses a Gmail Trigger that analyzes all the incoming emails. 📧 Gmail Trigger → Detects emails with "EDI" in the subject. 📜 Parses EDI Mes

by Samir Saci
gmailsheetsWtelegram
free

Monitor SSL Certificate Expiry with Google Sheets and Multi-Channel Alert

SSL Expiry Alert System Who is this for? This workflow is ideal for administrators or IT professionals responsible for monitoring SSL certificates of multiple websites to ensure they do not expire unexpectedly. Problem SSL certificates play a crucial role in ensuring secure communication over the internet. However, if not monitored closely, they can expire, leading to potential security risks and service disruption. This workflow helps in proactively monitoring SSL certificate expiry dates. Functionality Pulls URLs to monitor from a Google Sheet. Checks SSL certificates using SSL-Checker.io. Updates Google Sheet with SSL details such as expiry date and certificate status. Sends email alerts for SSL certificates nearing expiry (<30 days) or invalid certificates. Setup Clone the provided Google Sheet and update the Google Sheet URL in the "URLs to Monitor" node. Set up Google Sheets and Gmail credentials in n8n. Configure the Discourse Trigger for weekly monitoring. Customize email/telegram/ntfy alert settings as needed. Customization Modify the frequency of monitoring by adjusting the trigger interval in the "Weekly Trigger" node. Customize email content and recipients in the "Se

by Jesse Davids