---
title: "FAQ answers completed by AI for each row of a Google Sheet"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/465bb2b0-a728-4bf1-92a1-45f43802fa11"
updated: "2026-11-12"
---

# FAQ answers completed by AI for each row of a Google Sheet

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow you start by hand: it reads rows from Google Sheets, lets OpenAI complete five FAQ answers for each, and saves them as a text file in Google Drive. The row is marked done afterwards.

FAQ answers completed by AI for each row of a Google Sheet is an n8n workflow in the Marketing \& SEO category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow writes FAQ answers in bulk. It reads four sheets of one Google Sheets file. Three list services and one lists categories, and a row with an empty `status` is picked up. For each row it builds five questions, each with the start of an answer, and lets OpenAI finish the answers. It saves the result as a JSON text file in a Google Drive folder and marks the row `done`. 25 nodes do the work, and four more CMS nodes sit unconnected, beside seven sticky notes.

### Who it suits

SEO and content teams that keep one page for each integration, service or category and want a standard FAQ on each. Skip it if your FAQ has another shape. The templates talk about setting up a service in n8n, so rewrite them before you run it on real rows.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Software | Documentation teams | Fill a FAQ for every integration page from one sheet | A team gets a five question FAQ for each app it lists. |
| SEO | Content marketers | Make a standard FAQ block for each category page | A marketer gets five answers for each row of the Categories sheet. |
| Marketplaces | Catalog managers | Complete FAQ text for hundreds of listings without writing each by hand | A manager leaves \`status\` empty on new rows and finds a Drive file for each service. |
| Agencies | Content editors | Draft answers for a client’s pages and review them before they go live | An editor reads the five completed answers in one Drive file per row. |

You need solid n8n for this one: Google Sheets and Google Drive credentials, an OpenAI credential, folder ids and a workflow that calls itself.

### Where to use it

Any n8n that can reach Google and OpenAI will run it. The files land in Drive, so the last step to your site is yours to add.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Google Sheets and Drive: the sheets are the work list and the folders hold the results
- Your site’s CMS: Strapi, WordPress, Webflow and HTTP Request nodes sit unconnected on the canvas, ready for you to wire up

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Three accounts are needed.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Google Sheets | One file with four sheets named \`Single Integration Native\`, \`Single Integration Cred-only\`, \`Single Integration Non-native\` and \`Categories\` |
| Sheet columns | \`displayName\` and \`status\` in the first three, \`Category name\` and \`status\` in \`Categories\` |
| Google Drive | One folder for each sheet, and a credential that can write to them |
| OpenAI | An API key, saved in an OpenAI credential |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`. Save it at once, because `Execute Workflow` calls this same workflow by its id.
2. Add a Google Sheets credential. Select it in `Get Services` and in `Update Row Status`, and choose your file in both.
3. Add a Google Drive credential and select it in `Create From Text`.
4. Open `Prepare Job`. Its `outdir` field holds one placeholder line for each sheet. Replace each with the id of the Drive folder for that sheet.
5. Add an OpenAI credential and select it in `OpenAI Chat Model`. The file uses `gpt-4o-mini`, which OpenAI shuts down on 14 January 2027. Choose `gpt-6-luna` there if you will run the workflow later.
6. Put two or three test rows in a sheet and leave `status` empty. Press Execute workflow.
7. Open the Drive folder for that sheet. Each row has a file, and its `status` cell now says `done`.

### How to use it

Add a row to one of the four sheets, with a name in `displayName` or `Category name`, and leave `status` empty. Press Execute workflow. Each such row starts a second run of the same workflow, which writes the answers to a Drive file and sets `status` to `done`.

What to change for a different result

| To change | Where |
| --- | --- |
| The questions and answer starts | The four template nodes, \`Single Integration Native\`, \`Single Integration Cred-only\`, \`Single Integration Non-native\` and \`Categories\` |
| Which answers OpenAI finishes | \`ai\_completion\` in each template, true for all five by default |
| The instructions to the model | The system message and prompt text in \`AI Completion1\` |
| The model | \`model\` in \`OpenAI Chat Model\`, \`gpt-4o-mini\` in the file |
| The sheets read | The list in \`Define Sheets\`, and a branch in \`Switch\` for each |
| The Drive folders | The \`outdir\` field in \`Prepare Job\` |

### Example

The sheet `Single Integration Native` has a row with `displayName` Airtable and an empty `status`.

The run builds five questions, such as how to set up Airtable in n8n, each with the template’s answer start. OpenAI continues each answer in up to three sentences of plain text. A Drive file named after the row and the date holds the questions and answers as JSON, and the row’s `status` now says `done`.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one is large and runs in two layers. The first reads the sheets and hands each row to a second run of the same workflow, which writes the answers. Try two test rows and open the second runs from the Executions tab.

**For experts.** The workflow calls itself through an Execute Workflow node, one run for each row, with `$workflow.id` as the target.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`For Each Sheet...\` and \`For Each Service...\` | Split In Batches 3 loops | The first loop reads one sheet at a time, and its finished output feeds the second loop one row at a time |
| \`Get Services\` | Google Sheets 4.3, reads the rows whose \`status\` is empty | It always returns an item, so an empty sheet gives a blank one, which \`If has Data\` drops |
| \`Execute Workflow Trigger\` | Starts each second run with the row | \`Switch\` picks a template by the sheet’s name |
| \`AI Completion1\` | Basic LLM Chain 1.4 with a system message | It asks for three sentences at most, in plain text and in the tone of the answer start |
| \`Create From Text\` | Google Drive 3, create a file from text | The file is named after the row and the date and holds the questions as JSON |

### Good to know

The templates are written for n8n’s own pages, and the end of the original run was broken.

- Templates: the questions and answer starts talk about setting up a service in n8n and about n8n’s pricing, so rewrite them for your own site first
- Repairs: in the original copy a Strapi node with nothing set and no account sat after the \`done\` mark, so a run ended on an error there. Mindket’s copy leaves it, with three other CMS nodes, unconnected
- Folders: if \`outdir\` keeps its placeholders, the Drive step fails
- Columns: every sheet needs a \`status\` column, or the read stops with an error about it
- Model: \`gpt-4o-mini\` is on OpenAI’s deprecations page, read on 12 November 2026, with a shutdown on 14 January 2027 and \`gpt-6-luna\` as the replacement
- Billing: OpenAI bills five calls for every row
- Retries: a row is marked \`done\` only after its Drive file is saved, so a failed run leaves it to be picked up again
- Your data: each row’s name and the templates go to OpenAI, and the answers go to Google Drive
- Credentials: the JSON holds none

## README

```markdown
# FAQ answers completed by AI for each row of a Google Sheet

An n8n workflow you start by hand. It reads four sheets of one Google Sheets file and takes every row whose `status` is
empty. For each row it builds five questions with answer starts and lets OpenAI finish each answer. It saves the
result as a JSON text file in a Google Drive folder and writes `done` into the row.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 36 nodes. 29 are working nodes and seven are sticky notes that
  explain the steps. Four of the working nodes (Strapi, WordPress, Webflow and HTTP Request) are not connected to
  anything. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- `Strapi` sat at the end of the run with no content set and no account. A run that reached it ended on an error,
  after the Drive file and the `done` mark were already made. Mindket's copy leaves it, with the WordPress, Webflow and
  HTTP Request nodes, unconnected on the canvas as CMS options for you to wire up.
- The sticky note about the sheets linked to a sample spreadsheet of its author. The link is gone, and the note now says
  which columns each sheet needs.
- The WordPress node was linked to a credential in its author's n8n. The link is gone.
- The file had no settings block, so Mindket's copy adds `executionOrder` v1, the setting n8n gives a new workflow.
- Nothing else. The question templates, the prompt and the model are the file's own.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- A Google Sheets file with four sheets named `Single Integration Native`, `Single Integration Cred-only`,
  `Single Integration Non-native` and `Categories`. The first three need the columns `displayName` and `status`. The
  fourth needs `Category name` and `status`. A row with an empty `status` is picked up.
- A Google Drive folder for each sheet, and its id.
- A Google account for the Sheets and Drive credentials, and an OpenAI API key.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`. Save it at once,
   because `Execute Workflow` calls this same workflow by its id.
2. Add a Google Sheets credential. Select it in `Get Services` and in `Update Row Status`, and choose your spreadsheet
   in both.
3. Add a Google Drive credential and select it in `Create From Text`.
4. Open `Prepare Job`. Its `outdir` field holds one placeholder line for each sheet. Replace each with the id of the
   Drive folder for that sheet.
5. Add an OpenAI credential and select it in `OpenAI Chat Model`. The file uses `gpt-4o-mini`, which OpenAI shuts down
   on 14 January 2027. Choose `gpt-6-luna` there if you will run the workflow later.
6. Put two or three test rows in a sheet and leave `status` empty. Press Execute workflow.
7. Open the Drive folder for the sheet. Each row has a file, and its `status` cell now says `done`.

## How a run goes

1. The manual trigger starts the run. `Define Sheets` lists the four sheet names and `Sheets To List...` splits them.
2. `For Each Sheet...` (Split In Batches 3) takes one sheet at a time. `Get Services` (Google Sheets 4.3) reads the rows
   whose `status` is empty. It always returns an item, so an empty sheet gives a blank one. `Prepare Job` adds the
   sheet's name and Drive folder to each row.
3. When every sheet is read, `For Each Service...` takes the rows one at a time. `If has Data` drops the blank items.
4. `Execute Workflow` starts a second run of this same workflow for each row. In it, `Execute Workflow Trigger` hands
   the row to `Switch`, which picks one of four templates by the sheet's name.
5. The template (a Set node in raw JSON mode) lists five questions, each with the start of an answer. `Question to
   List1` splits them and `For Each Question...1` takes them one by one.
6. `Needs AI Completion?1` sends a question to `AI Completion1` (Basic LLM Chain 1.4) when its `ai_completion` is true,
   which it is for all of them. The model finishes the answer in up to three sentences of plain text, in the tone of
   the start it was given. `Format QA Pair1` joins the start, the model's words and any `append` text.
7. `Questions to Object...1` gathers the pairs and `Format DisplayName + Questions1` names them after the row.
   `Create From Text` saves a file named after the row and the date, with the questions and answers as JSON.
   `Update Row Status` then writes `done` into the row.

## Change the look

- Questions and answer starts: the four template nodes. Set `ai_completion` to false on a question to keep its answer
  as written.
- The instructions to the model: the system message and prompt text in `AI Completion1`.
- Model: `model` in `OpenAI Chat Model`.
- Sheets: the list in `Define Sheets`, a branch in `Switch` and a template node for each sheet you add, plus a line for
  it in the `outdir` field of `Prepare Job`.
- Where the answers go: connect one of the CMS nodes at the bottom of the canvas after `Create From Text` and fill its
  fields from the JSON the question loop produces.

## Good to know

- The templates are written for n8n's own integration pages. Their questions and answer starts talk about setting up a
  service in n8n and about n8n's pricing, so rewrite them for your own site first.
- OpenAI bills five calls for every row.
- If `outdir` keeps its placeholders, the Drive step fails. A `status` column must exist in every sheet, or the read
  stops with an error about the column.
- A row is marked `done` only after its Drive file is saved, so a failed run leaves the row to be picked up again.
- Each row's name and the templates go to OpenAI. The answers go to Google Drive.
- The file holds no credential and no key.
```

## What is in it

3 files, 47 KB, downloaded as a zip.

```text
NOTICE.md  654 B
README.md  6 KB
workflow.json  41 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 24 steps, starting when another workflow calls it or by hand
- Not reached: 4 nodes no run reaches: Strapi, Wordpress, Webflow and HTTP Request
- AI: 1 step calls an AI model: AI Completion1
- Sign-ins: Signs in to: Google Drive, Google Sheets and OpenAI
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 12 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/465bb2b0-a728-4bf1-92a1-45f43802fa11)
- [Its page on Mindket](https://mindket.com/p/465bb2b0-a728-4bf1-92a1-45f43802fa11)
