Gmail to Google Sheets, restaurant feedback logged
You know that moment when someone says, “We should collect more customer feedback,” and suddenly it becomes your problem. You send a bunch of emails, a few people respond, and then those responses end up scattered across inboxes, notes, and screenshots.
This is where Gmail Sheets feedback automation pays off. Restaurant managers feel it first, but marketing leads and ops folks get dragged in too. The outcome is simple: feedback requests go out automatically, and every reply gets logged into one clean Google Sheets tracker you can actually use.
Below, you’ll see how the workflow runs, what it fixes, and what you need to set it up without turning it into a “new system” your team refuses to adopt.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Gmail to Google Sheets, restaurant feedback logged
flowchart LR
subgraph sg0["Google Sheets Trigger: New Feedback Entry Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Google Sheets Trigger: New F..", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Wait for All Data (Code)"]
n2@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email: Notify Team Abou..", pos: "b", h: 48 }
n1 --> n2
n0 --> n1
end
subgraph sg1["Trigger: Form Submitted Flow"]
direction LR
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Trigger: Form Submitted"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait: Pause Before Processing", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Append or Update Row in Goog..", pos: "b", h: 48 }
n3 --> n4
n4 --> n5
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0,n3 trigger
class n5 database
class n1 code
classDef customIcon fill:none,stroke:none
class n1,n3 customIcon
The Challenge: Restaurant feedback gets lost (or never happens)
Collecting feedback after a visit sounds easy until you try doing it consistently. You export a list of guests, paste emails into Gmail, tweak the wording, and hope the message doesn’t land in Promotions. Replies come in at random times, sometimes with missing details, sometimes with a long story you can’t search later. Then the “analysis” step becomes a new task: someone has to retype ratings, copy comments, and try to remember which shift or day the guest is talking about. Honestly, the busywork is why most restaurants stop after week two.
It adds up fast. Here’s where the friction compounds into missed insights.
- Sending feedback requests one-by-one turns into a weekly calendar chore that never stays done.
- Replies live inside Gmail threads, so trends are hard to spot and “what changed last month?” becomes guesswork.
- Manual copy-paste into a spreadsheet invites errors, especially when you’re rushing between service tasks.
- Incomplete responses slip through, which means you get noise instead of usable signals.
The Fix: Automated feedback emails + clean Google Sheets logging
This n8n workflow turns feedback collection into something that runs in the background. When a new guest record appears in your customer list (name and email), the automation picks it up, prepares the message content, and sends a personalized feedback request by email. The guest fills out the embedded form, and their submission triggers the second half of the workflow. After a short delay (useful for reliable processing), the response is formatted and written into your Google Sheets feedback log with a timestamp. You end up with a consistent dataset: ratings, comments, and contact details stored in one place, not trapped in an inbox.
The workflow begins with a new row added to your customer sheet, then uses a small script step to hold and shape the data before emailing. When a form submission comes in, n8n waits briefly, then upserts the response into your Google Sheets tracker so nothing gets missed during busy periods.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you add 40 guest emails per week to your customer list. Manually, you might spend about 3 minutes per guest to personalize, send, and track that request, which is roughly 2 hours weekly. Then you lose another hour copying replies into a spreadsheet (and fixing typos). With this workflow, adding the guest row is the only real “task,” and logging happens automatically after each form submission. You get those 3 hours back, and the sheet is ready to review on Monday.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Gmail (or email send connection) to send feedback request emails.
- Google Sheets to store requests and responses cleanly.
- Microsoft Excel 365 if your customer list lives in Excel.
- OpenAI API key (get it from your OpenAI dashboard) for optional message polishing via AI.
Skill level: Beginner. You’ll connect accounts, confirm sheet columns, and paste your email/form content.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A new guest gets added to your list. The workflow watches your customer sheet for new entries (name + email), then pulls that row into n8n.
The data is cleaned and prepared. A short code step holds the incoming details and makes sure fields like name and email are usable, so you don’t send “Hi ,” to someone because a cell was empty.
The feedback request email goes out. n8n sends a personalized message through your email connection (Gmail or similar), including the feedback form link or embedded form content your guests fill out.
Submissions get logged automatically. When the guest submits the form, n8n waits briefly, then writes the full response into Google Sheets, including a timestamp and all question fields.
You can easily modify the feedback questions to match a new menu, a special event, or a different location based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the public feedback form that starts the workflow and collects dining feedback responses.
- Add the Form Submission Hook node as your primary trigger.
- Set Form Title to
Customer Feedback Questions for IT Services. - In Options, set Path to
feedback/listand keep Append Attribution disabled. - Define the form fields exactly as listed in the node: What is your Name?, Email ID, Contact Number, multiple dropdown questions, and the Any additional comments or suggestions? textarea.
Step 2: Connect Google Sheets
Configure Google Sheets nodes that read spreadsheet data and store new feedback responses.
- Open Spreadsheet Feedback Trigger and set Document to
[YOUR_ID]and Sheet togid=0(labelleduser detail). - Set Poll Times to
everyMinutefor Spreadsheet Feedback Trigger. - Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials in Spreadsheet Feedback Trigger.
- Open Upsert Feedback Row and set Operation to
appendOrUpdate. - Set Document to
[YOUR_ID]and Sheet toFood_feedbackin Upsert Feedback Row. - Map columns using the provided expressions, for example Name to
{{ $json['What is your Name?'] }}and E-Mail to{{ $json['Email ID'] }}. - Credential Required: Connect your googleSheetsOAuth2Api credentials in Upsert Feedback Row.
E-Mail and Any additional comments or suggestions?), otherwise the upsert will fail.Step 3: Set Up Processing and Timing
Control the flow timing and prepare data for the feedback email step.
- Add Delay Before Processing after Form Submission Hook and set Amount to
10seconds. - Connect Spreadsheet Feedback Trigger to Hold Data with Script to align spreadsheet-based entries with the email send step.
- In Hold Data with Script, keep the JavaScript snippet that logs and delays:
console.log("Waiting..."); setTimeout(() => { console.log("5 seconds passed."); }, 5000);.
Step 4: Configure Output and Notifications
Send a feedback request email after data is captured from the spreadsheet trigger flow.
- Open Dispatch Feedback Email and set Subject to
Feedback. - Set To Email to
{{ $json.Email }}and From Email to[YOUR_EMAIL]. - Set Email Format to
textand keep the message body asPlease give us your valuable feedback at: https://example.com/feedback. - Credential Required: Connect your smtp credentials in Dispatch Feedback Email.
Step 5: Test and Activate Your Workflow
Validate the workflow end-to-end, then enable it for live feedback collection.
- Click Execute Workflow and submit a test response using the Form Submission Hook form URL.
- Confirm a new row is appended or updated in the Google Sheet via Upsert Feedback Row with mapped values like
{{ $json['Email ID'] }}and{{ $json.submittedAt }}. - Trigger Spreadsheet Feedback Trigger by adding a test row to the source sheet, and verify that Dispatch Feedback Email sends to
{{ $json.Email }}. - When everything works as expected, toggle the workflow to Active to run in production.
Watch Out For
- Google Sheets permissions can block writes even when the sheet “opens fine.” If rows stop logging, check the connected Google account in n8n credentials and confirm it still has edit access to the target spreadsheet.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
Usually about an hour if your sheets and Gmail are ready.
Yes. No coding is required, but you will need to match the form questions to the correct Google Sheets columns.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs if you use the AI Agent (usually pennies per batch of emails, depending on volume).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can swap the email wording and questions without changing the overall logic. Most customizations happen in the “Dispatch Feedback Email” step (your message content) and the “Upsert Feedback Row” step (your column mapping). Many restaurants add one or two location-specific questions, remove anything that feels repetitive, and change the timing so requests send the morning after a visit instead of immediately.
Usually it’s an expired OAuth permission or the wrong Gmail account connected in n8n. Reconnect the Gmail credential, then send a test email from the “Dispatch Feedback Email” node to confirm it can send. If it works in tests but fails in production, check sending limits and make sure you’re not blasting a large list in a short window.
It scales fine for most small teams, because each guest and each submission is just another execution.
Sometimes. If you want simple “form to spreadsheet,” Zapier or Make can be quicker to click together. But n8n is easier to expand when you want branching rules, retries, and extra processing without paying more for every little filter. It also gives you a self-hosted option, which can matter when you’re running this daily. The main win is flexibility: you can keep the same workflow and add things like sentiment tags, manager alerts, or a weekly summary email later. Talk to an automation expert if you’re not sure which fits.
Once this is running, feedback stops being a “we should do that” project and becomes a steady stream of answers you can act on. The workflow handles the repetitive parts so you can focus on service, training, and fixing what guests actually mention.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.