🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Forms to Google Sheets, interviews logged clean

Lisa Granqvist Partner Workflow Automation Expert

Interview responses are supposed to be the easy part. But once the form closes, you’re stuck with scattered notes, half-copied quotes, and that one “where did we save it?” thread.

Marketing managers feel it when customer interviews pile up. Founders trying to validate a new offer run into the same mess. And researchers doing discovery calls? They need Forms interview logging that doesn’t fall apart the moment volume increases.

This workflow turns a Google Form into a guided AI interview and writes the full transcript into Google Sheets, neatly. You’ll see what it automates, what you need, and where teams usually trip up.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Google Forms to Google Sheets, interviews logged clean

The Challenge: Interviews that turn into cleanup work

Running interviews sounds simple until you do it more than a couple times a week. Someone writes questions in one place, the respondent answers in another, and then you stitch the story together from browser tabs, email notifications, and whatever got pasted into a doc. If you’re doing market research, that “stitching” becomes the real job. It’s also where errors creep in: missing context, misquoted wording, and transcripts that never make it into a dataset your team can actually review.

It adds up fast. Here’s where it breaks down in day-to-day work.

  • You end up copying answers from multiple pages into one “master” file, and it’s always slower than you expect.
  • When interviews are longer, people stop taking clean notes, which means insights are lost or watered down.
  • There’s no reliable session transcript, so two teammates can interpret the same respondent completely differently.
  • Sharing raw responses is awkward because the data isn’t in a review-friendly format, especially for stakeholders who live in spreadsheets.

The Fix: An AI interviewer that writes clean rows to Sheets

This n8n workflow turns a multi-page n8n Form into an interactive interview that can run as long as the respondent wants. The interview begins when someone opens your published form, and the workflow creates a unique session ID behind the scenes. As the person answers, an AI agent (powered by a chat model such as Groq, though you can swap providers) responds with the next question based on your topic and the conversation so far. Every question-and-answer pair is appended to a session transcript stored in Redis, so nothing gets lost between pages. When the respondent chooses to end, the workflow closes the loop, renders a completion screen, and saves the full transcript into Google Sheets as structured data your team can review immediately.

The workflow starts with a form trigger, then uses Redis as a session “memory” for the transcript while the AI agent continues the conversation. Once the interview ends, n8n converts that session log to JSON and appends it into Google Sheets (or Microsoft Excel 365 if you prefer), creating tidy rows that are ready for analysis.

What Changes: Before vs. After

Real-World Impact

Say you run 10 interviews a week, and each one has 15 question-and-answer turns. Manually, you might spend about 10 minutes per interview cleaning up notes and pasting key quotes into a spreadsheet, plus another 10 minutes just formatting things so they’re readable. That’s roughly 3 hours a week in cleanup. With this workflow, the respondent drives the interview in the form, Redis captures the transcript live, and Google Sheets gets a clean session log at the end. You still review, but the busywork mostly disappears.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing transcripts in rows.
  • Redis (or compatible) to store interview sessions safely.
  • LLM API access (get it from Groq or your chosen provider)

Skill level: Intermediate. You’ll connect accounts, add credentials, and lightly adjust prompts and sheet columns.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

The interview starts from a published form. The n8n form trigger opens the session, generates a unique ID, and prepares storage so each respondent’s transcript stays separate.

Session memory is created and continuously updated. Redis stores the start marker, then appends each new answer as the respondent moves through the form pages. If the session can’t be found (expired key, wrong ID), the workflow renders a “missing” page instead of failing silently.

The AI agent asks and adapts questions. The workflow sets the interview topic, passes recent context through a memory buffer, and lets the agent generate the next question. The user replies, the answer is saved, and the loop continues until the user chooses to end.

The transcript is compiled and written to Sheets. When the interview ends, the session log is split and converted into JSON, then appended to Google Sheets (and optionally Microsoft Excel 365) as a clean record for analysis and sharing.

You can easily modify the interview topic and the stopping rules to match your survey style 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 interview entry point so participants can start the session and provide their name.

  1. Open Begin Interview Form and set Form Title to UK Practical Driving Test Satisfaction Interview.
  2. In Form Fields, add a required field labeled What is your name? with placeholder ie. Sam Smith.
  3. Under Options, set Path to driving-lessons-survey and Button Label to Begin Interview!.
  4. Set Response Mode to lastNode and paste the provided interview description into Form Description.

Tip: Keep Ignore Bots enabled to reduce spam submissions.

Step 2: Connect Session Storage (Redis)

Initialize and maintain a session log for each interview using Redis. Several Redis nodes work together to store interview start, answers, and stop events.

  1. Open Create Unique ID and keep Action set to generate to create a session identifier.
  2. In Initialize Session Store, set Key to =session_{{ $('Create Unique ID').item.json.data }}, TTL to {{ 60 * 60 * 24 }}, and Value to {{ [] }}.
  3. Confirm Initialize Session Store, Append Session Log, Append Session Log 2, Append Session Log 3, Lookup Session Data, and Retrieve Session List all point to the same Redis instance and use the list key session_{{ $('Create Unique ID').first().json.data }}.
  4. Credential Required: Connect your redis credentials in Initialize Session Store, Append Session Log, Append Session Log 2, Append Session Log 3, Lookup Session Data, and Retrieve Session List.

⚠️ Common Pitfall: A mismatched session key format will prevent transcript retrieval. Ensure all Redis nodes use session_{{ $('Create Unique ID').first().json.data }}.

Step 3: Set Up the AI Interview Agent

Configure the AI interview flow so the model asks questions, parses responses, and checks for the stop condition.

  1. Open Define Interview Topic and set the answer assignment to Hello, my name is {{ $('Begin Interview Form').first().json['What is your name?'] }}, and interview_topic to Your experience preparing for and taking the UK practical driving test.
  2. In AI Interview Agent, set Text to {{ $json.answer }}, keep Prompt Type as define, and enable Has Output Parser.
  3. Ensure Groq Chat Engine is connected as the language model with Model set to llama-3.2-90b-text-preview. Credential Required: Connect your groqApi credentials in Groq Chat Engine.
  4. In Parse Agent Output, set the output assignment to {{$json.output.replace('```json', '').replace('```', '').parseJson()}} to parse the model’s JSON response.
  5. In Check End Interview, keep the boolean condition {{ $json.output.stop_interview }} to route either to next question or stopping the interview.

Tip: Window Memory Buffer A, Window Memory Buffer B, and Reset For Next Session are AI sub-nodes; credentials are added to the parent nodes (like Groq Chat Engine), not the memory nodes.

Step 4: Configure Question Loop & Session Logging

Store each question/answer pair in Redis and route the conversation back into the agent until the user ends the interview.

  1. In Build Start Row, set timestamp to {{ $now.toISO() }}, type to start_interview, question to What is your name?, and answer to {{ $('Begin Interview Form').first().json['What is your name?'] }}.
  2. In Build Row Data, set timestamp to {{ $now.toISO() }}, type to next_question, question to {{ $('Parse Agent Output').item.json.output.question }}, and answer to {{ $('Collect Answer Form').item.json.answer }}.
  3. In Return Answer To Agent, set answer to {{ $('Collect Answer Form').item.json.answer }} so the response is fed back into AI Interview Agent.
  4. In Build Stop Row, set timestamp to {{ $now.toISO() }}, type to stop_interview, and both question and answer to None.
  5. Verify the execution flow: Collect Answer FormBuild Row DataAppend Session Log 2Return Answer To AgentAI Interview Agent.

⚠️ Common Pitfall: If Check End Interview returns true too early, ensure the agent’s system message outputs valid JSON with stop_interview as a boolean.

Step 5: Configure Transcript Retrieval & Web Response

Render transcripts through a webhook-based HTML response after a session completes.

  1. In Incoming Transcript Webhook, keep Path set to ai-interview-transcripts/:session_id and Response Mode to responseNode.
  2. In Lookup Session Data, set Key to session_{{ $('Incoming Transcript Webhook').first().json.params.session_id }} and Property Name to data.
  3. In Validate Session Exists, keep the condition checking {{ $json.data }} exists to route either to Render Transcript Page or Render Missing Page.
  4. In Send Webhook Reply, set Respond With to text and Response Body to {{ $json.html }}.

Tip: Use the URL format /webhook/ai-interview-transcripts/<session_id> to test retrieval in a browser.

Step 6: Configure Output to Google Sheets

Split and format session entries, then append them to your spreadsheet for analytics and long-term storage.

  1. In Retrieve Session List, set Key to session_{{ $('Create Unique ID').first().json.data }} and Property Name to session.
  2. In Split Session Items, set Field To Split Out to session.
  3. In Session To JSON, set JSON Output to {{ { ...$json.session.parseJson(), session_id: `session_${$('Create Unique ID').first().json.data}`, name: $('Begin Interview Form').first().json['What is your name?'], } }}.
  4. In Append To Sheets, select the target Document and Sheet Name, and map columns using the existing auto-map configuration.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append To Sheets.

Step 7: Configure Completion & Session Reset

When the interview ends, clean memory, redirect the user to the transcript, and finalize the session log.

  1. In Reset For Next Session, set Mode to delete and Delete Mode to all.
  2. In Route To Completion Page, set Operation to completion and Redirect URL to https://<host>/webhook/<uuid-if-using-n8n-cloud>/ai-interview-transcripts/{{ $('Create Unique ID').first().json.data }}.
  3. Confirm the flow Append Session Log 3Reset For Next SessionRoute To Completion PageRetrieve Session List is intact.

Step 8: Test and Activate Your Workflow

Run a full interview session to verify that questions, logs, transcripts, and sheet entries are all working as expected.

  1. Click Execute Workflow, open the Begin Interview Form link, and submit a name to start a session.
  2. Answer several questions via Collect Answer Form, then enter STOP to end the interview.
  3. Verify the transcript page loads from Incoming Transcript Webhook and shows your question/answer history from Render Transcript Page.
  4. Confirm the spreadsheet receives appended rows in Append To Sheets.
  5. When ready, switch the workflow to Active so the forms and webhooks are available in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n Credentials screen and the target spreadsheet sharing settings first.
  • Redis sessions can “disappear” if your TTL (expiration) is too short or your Redis instance restarts. If respondents report missing transcripts, check Redis persistence settings and session key expiry.
  • Default AI prompts are generic. Add your brand voice and research goal early, or you will spend your time rewriting questions and cleaning messy answers later.

Common Questions

How quickly can I implement this Forms interview logging automation?

About an hour if your Sheet, Redis, and AI credentials are ready.

Can non-technical teams implement this interview logging?

Yes, but someone should be comfortable connecting credentials and testing a full interview end-to-end. No coding is required.

Is n8n free to use for this Forms interview logging workflow?

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 LLM API costs (often a few cents per interview, depending on length).

Where can I host n8n to run this automation?

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.

How do I adapt this Forms interview logging solution to my specific challenges?

You can swap the chat model without changing the overall flow by replacing the Groq Chat Engine with another provider node (including an OpenAI Chat Model) and keeping the AI Interview Agent inputs the same. Most teams customize the “Define Interview Topic” and the agent prompt so it asks on-brand questions, probes deeper, and stops in the right place. If you want different outputs, adjust “Build Row Data” and “Append To Sheets” so your columns match how you analyze interviews. You can also change the completion page text in “Route To Completion Page” to set expectations about follow-up.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired credentials or the spreadsheet isn’t shared with the connected Google account. Update the Google Sheets credential in n8n, then confirm the target sheet and tab still exist. If you recently changed columns, “Append To Sheets” may also be writing to a range that no longer matches your headers.

What’s the capacity of this Forms interview logging solution?

If you self-host, there’s no execution limit; capacity mostly depends on your server and your AI provider’s rate limits. On n8n Cloud, your plan sets monthly executions, and interviews can use multiple executions because the workflow loops through question-and-answer turns. Practically, most small teams can run dozens of interviews a week without thinking about it, then scale up by shortening the interview or reducing how often the agent calls the model.

Is this Forms interview logging automation better than using Zapier or Make?

Often, yes. This workflow relies on a looped interaction (question, answer, save, ask again) plus session storage in Redis, which is awkward in most “linear” automation builders. n8n also gives you more control over branching with If/Switch logic, and you can self-host when volume grows. Zapier or Make can still be fine for simple “Form submission → add row” flows, but this is more than that. Talk to an automation expert if you want help choosing the simplest tool for your situation.

Once interviews automatically land in Google Sheets as clean transcripts, research stops feeling fragile. The workflow handles the repetitive capture so you can focus on patterns, decisions, and what to do next.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Launch login modal Launch register modal