anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
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 . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Manual run
It starts when you press Execute workflow, and takes every row with an empty status from:
A JSON text file with five completed questions and answers for every row, in your Drive folders, and done in the row’s status cell
What you need before you start.
Language model
Runs the chat model node, gpt-4o-mini in the file, to finish each FAQ answer.
NeedsOpenAI API key, in an OpenAI credential
Work list
Reads the rows with an empty status from four sheets, then writes done into the status cell.
NeedsA Google account, in a Google Sheets credential
File storage
Creates a text file with each row’s questions and answers as JSON, in a folder you choose.
NeedsA Google account, in a Google Drive credential, and a folder id for each sheet
Checked by Mindket on 13 Nov 2026
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.
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.
| 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.
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.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Three accounts are needed.
| 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 |
workflow.json. Save it at once, because Execute Workflow calls this same workflow by its id.Get Services and in Update Row Status, and choose your file in both.Create From Text.Prepare Job. Its outdir field holds one placeholder line for each sheet. Replace each with the id of the Drive folder for that sheet.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.status empty. Press Execute workflow.status cell now says done.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.
| 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 |
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.
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.
| 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 |
The templates are written for n8n’s own pages, and the end of the original run was broken.
done mark, so a run ended on an error there. Mindket’s copy leaves it, with three other CMS nodes, unconnectedoutdir keeps its placeholders, the Drive step failsstatus column, or the read stops with an error about itgpt-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 replacementdone only after its Drive file is saved, so a failed run leaves it to be picked up againAn 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.
workflow.json: the workflow as n8n exports it, 36 nodes. 29 are working nodes and seven are sticky notes thatREADME.md: these notes.Strapi sat at the end of the run with no content set and no account. A run that reached it ended on an error,done mark were already made. Mindket's copy leaves it, with the WordPress, Webflow andexecutionOrder v1, the setting n8n gives a new workflow.Single Integration Native, Single Integration Cred-only,Single Integration Non-native and Categories. The first three need the columns displayName and status. TheCategory name and status. A row with an empty status is picked up.workflow.json. Save it at once,Execute Workflow calls this same workflow by its id.Get Services and in Update Row Status, and choose your spreadsheetCreate From Text.Prepare Job. Its outdir field holds one placeholder line for each sheet. Replace each with the id of theOpenAI Chat Model. The file uses gpt-4o-mini, which OpenAI shuts downgpt-6-luna there if you will run the workflow later.status empty. Press Execute workflow.status cell now says done.Define Sheets lists the four sheet names and Sheets To List... splits them.For Each Sheet... (Split In Batches 3) takes one sheet at a time. Get Services (Google Sheets 4.3) reads the rowsstatus is empty. It always returns an item, so an empty sheet gives a blank one. Prepare Job adds theFor Each Service... takes the rows one at a time. If has Data drops the blank items.Execute Workflow starts a second run of this same workflow for each row. In it, Execute Workflow Trigger handsSwitch, which picks one of four templates by the sheet's name. splits them and For Each Question...1` takes them one by one.Needs AI Completion?1 sends a question to AI Completion1 (Basic LLM Chain 1.4) when its ai_completion is true,Format QA Pair1 joins the start, the model's words and any append text.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.ai_completion to false on a question to keep its answerAI Completion1.model in OpenAI Chat Model.Define Sheets, a branch in Switch and a template node for each sheet you add, plus a line foroutdir field of Prepare Job.Create From Text and fill itsoutdir keeps its placeholders, the Drive step fails. A status column must exist in every sheet, or the readdone only after its Drive file is saved, so a failed run leaves the row to be picked up again.NOTICE.md 654 B README.md 6 KB workflow.json 41 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…