Google Forms to Google Sheets, testimonials ready
Your customers are already telling you what to say in your marketing. The problem is it’s buried in messy Google Forms responses, and nobody has time to sift, edit, and format quotes every week. That’s how great testimonials die in a spreadsheet.
This testimonial automation hits marketing managers first, because they’re the ones chasing proof for landing pages. But founders feel it too when sales asks for “fresh quotes,” and agency teams need client-ready social proof on a deadline.
This workflow turns raw feedback into short, emotionally engaging testimonials using Gemini, saves them back into Google Sheets, and sends a Gmail alert so your team can publish fast.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Google Forms to Google Sheets, testimonials ready
flowchart LR
subgraph sg0["New Form Response Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "New Form Response Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Extract Testimonial with Gem..", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Save Extracted Testimonial", pos: "b", h: 48 }
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Notify Marketing Team", pos: "b", h: 48 }
n0 -.-> n2
n1 --> n2
n3 --> n4
n2 --> n3
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 n1 trigger
class n2 ai
class n0 aiModel
class n3 database
The Problem: Great Feedback Isn’t “Marketing-Ready”
Google Forms feedback usually comes in like a brain dump. People mix praise with feature requests, they ramble, they add context that matters to support but not to a landing page. So someone on your team opens the sheet, skims a few paragraphs, copy-pastes bits into a doc, rewrites it, then asks, “Can we actually use this quote?” Meanwhile, the best line gets missed because it’s stuck in the middle of a long response. Honestly, it’s exhausting work for something that should be simple.
The friction compounds. Here’s where it breaks down in real life.
- Someone has to check the responses manually, and it usually slips to “later” until you need testimonials urgently.
- Editing takes longer than you expect because you’re trying to preserve the customer’s voice while making it short enough to publish.
- Quotes end up inconsistent across channels, so your website sounds different than your pitch deck and email campaigns.
- Even after you find a great one, you still need to notify the team, which turns into yet another internal message thread.
The Solution: Google Forms Feedback In, Testimonials Out
This n8n workflow listens for new Google Forms responses as they land in your connected Google Sheet. The moment a new row appears, it sends the raw feedback to a Gemini prompt designed to extract only the emotionally engaging part and rewrite it as a clean, publishable quote. Then it logs everything back into Google Sheets, so you still keep the original response alongside the improved testimonial. Finally, it emails your marketing team through Gmail with the fresh quote, which means nobody has to “remember to check the sheet.” It’s a small automation that quietly removes a recurring content bottleneck.
The workflow starts with a new form response in Google Sheets. Gemini refines the quote and returns only the testimonial text. After that, Google Sheets stores the extracted quote and Gmail notifies your team so it can be used immediately.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get 20 feedback submissions a week. Manually, you might spend about 8 minutes reading each response, another 5 minutes rewriting a usable quote, then 2 minutes pasting it into a “testimonials” sheet and messaging your team. That’s roughly 5 hours a week. With this workflow, the “work” becomes checking the Gmail alert and approving the quote, maybe 1 minute each. You get back about 4 hours weekly, and the backlog disappears.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets to store form responses and quotes
- Gmail to notify your marketing team automatically
- Google Gemini API access (get it from Google AI Studio / your Google Cloud project)
Skill level: Beginner. You’ll connect Google accounts, paste an API key, and map a few fields in the sheet.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A new form response hits your Google Sheet. The workflow uses a Google Sheets trigger that watches for new rows, so it runs the moment someone submits feedback.
The feedback gets cleaned up by Gemini. The AI prompt focuses on one job: keep the emotional, specific part and drop the rest. It returns only the testimonial quote, not a long explanation.
The quote is saved as structured data. n8n writes the extracted testimonial into Google Sheets alongside the original feedback, plus metadata like name, email, and timestamp.
Your team gets notified in Gmail. A simple email alert fires with the new quote, so marketing can copy it into a landing page, a case study draft, or a social post right away.
You can easily modify the Gemini prompt to match your brand voice (more casual, more formal, shorter quotes, and so on) based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Google Sheets Trigger
Set up the trigger so new form responses in your spreadsheet start the workflow.
- Add and open Form Response Watcher.
- Set Event to
rowAdded. - Set Document to
Testimonial(ID14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s). - Set Sheet to
Form Responses 1. - Confirm the polling schedule shows
everyMinute. - Credential Required: Connect your Google Sheets credentials (this node requires authentication).
Step 2: Connect Google Sheets
Configure the storage sheet that will receive the extracted testimonial quote.
- Add and open Store Extracted Quote.
- Set Operation to
appendOrUpdate. - Set Document to
Testimonial(ID14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s). - Set Sheet to
Form Responses 1. - Keep Columns in
autoMapInputDataso the output from the AI step maps intoTestimonyandtextautomatically. - Credential Required: Connect your Google Sheets credentials (this node requires authentication).
Step 3: Set Up AI Processing
Configure the Gemini model and the extraction prompt to generate a concise testimonial quote.
- Open Gemini Chat Model Hub and set Model to
models/gemini-2.0-flash. - Credential Required: Connect your Google Gemini credentials in Gemini Chat Model Hub.
- Open Gemini Quote Extractor and set Prompt Type to
define. - Set Text to
=Extract a short, emotionally engaging testimonial quote from the following user feedback. Ignore neutral or irrelevant text. Only return the quote. "{{ $json.Feedback }}" Feedback: "{{ $json["Feedback"] }}". - Ensure Gemini Chat Model Hub is connected as the language model for Gemini Quote Extractor (credentials are added to Gemini Chat Model Hub, not the chain node).
Execution Flow: Form Response Watcher → Gemini Quote Extractor → Store Extracted Quote → Email Marketing Alert.
Step 4: Configure Output Actions
Send a notification email when a new testimonial quote is extracted and stored.
- Open Email Marketing Alert.
- Set To to
[YOUR_EMAIL]. - Set Subject to
New Testimonial Extracted. - Set Message to
={{ $json.text }}so the extracted quote is emailed. - Credential Required: Connect your Gmail credentials (this node requires authentication).
Step 5: Test and Activate Your Workflow
Run a manual test to verify the end-to-end flow before enabling it for production.
- Click Execute Workflow and add a new row to your
Form Responses 1sheet. - Confirm Gemini Quote Extractor outputs a short quote in the
textfield. - Check Store Extracted Quote to ensure the quote is appended/updated in the sheet.
- Verify Email Marketing Alert sends an email with the extracted quote.
- Toggle the workflow Active to run automatically on new form submissions.
Common Gotchas
- Google Sheets credentials can expire or lose permissions after a password change. If things break, check the Google connection in n8n’s Credentials list first.
- If Gemini returns an empty quote (it happens with vague feedback), your Google Sheets “Store Extracted Quote” step may write blanks. Add a simple fallback message or a filter to skip rows with no usable content.
- Default AI prompts are generic. Add your brand voice early (length limits, banned words, preferred tone) or you’ll keep tweaking quotes manually later.
Frequently Asked Questions
About 30 minutes if your Google accounts are ready.
No. You’ll mostly connect accounts and map a few Google Sheets columns. The “hard part” is just deciding what you want the quote to sound like.
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 Google Gemini usage, which is usually cheap for short text prompts.
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.
Yes, and you should. Update the prompt in the Gemini Quote Extractor so it enforces your style (for example: “one sentence,” “no hype words,” “keep it conversational,” or “max 20 words”). Common tweaks include writing quotes in first person, removing product names for anonymity, and outputting two options so marketing can choose.
Usually it’s an expired Google authentication or the wrong Google account connected. Reconnect Google Sheets in n8n Credentials, then confirm the workflow still points to the same spreadsheet and worksheet tab. If the trigger suddenly stops firing, check that your form is still writing into that sheet and that new rows are actually being created.
A lot. On n8n Cloud, your limit is mainly your monthly executions, and on self-hosting it depends on your server. In practice, testimonial extraction is lightweight, so most small teams can run this continuously without thinking about scale.
Often, yes. n8n is easier to keep affordable when you’re running lots of submissions because you can self-host and avoid per-task pricing, and it handles more complex logic when you want branching, filters, or fallbacks. It also plays nicely with AI chains, which matters if you later want scoring, tagging, or multiple outputs. Zapier or Make can still be fine for a simple “Form → Email” flow, but once AI rewriting enters the picture, costs and flexibility start to matter. If you want a second opinion, Talk to an automation expert.
This is one of those automations you set up once and then quietly benefit from every week. The workflow collects the raw feedback, turns it into something publishable, and makes sure your team actually sees it.
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.