Mindket

Deep research report writer with follow-up questions

Newversion 2 · updated

Overview

An n8n workflow that researches a technical question on the web and writes a cited report. It asks follow-up questions, searches with Tavily in up to three passes, has OpenAI write each answer, and sends the reports to a converter that makes Google Docs.

Deep research report writer with follow-up questions is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 2, 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.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there, and publish it so the form’s production address works
  • Your own n8n server: the same file and steps
  • The form’s address: its path ends in deep_research, so a team can bookmark it
  • Google Docs: each report goes to your converter with its title as the file name
Start with
POST https://YOUR_MARKDOWN_TO_DOC_ENDPOINT
output   = the report, in Markdown
fileName = the report’s title

Platform

Connects 4 apps

How it works

Trigger

Research form

It starts when someone opens the DeepResearcher form, presses Next and sends:

  • The research question, written freely
  • An answer to each follow-up question, up to three, one page each

Actions

  1. An OpenAI model asks up to three follow-up questions, and your answers join the question into one brief
  2. gpt-4.1 writes a search phrase, and Tavily returns up to ten pages with their full text
  3. A model keeps up to five of the most useful pages, and one call writes an answer with numbered citations
  4. A check decides whether the question is answered, and if not, up to two more passes search on a new phrase
  5. Reports are written in Markdown, and your converter turns each into a Google Doc

Result

Cited research reports as Google Docs: one after pass 1, one after pass 2, and one covering all three passes when a third runs

Integrations

What you need before you start.

OpenAI

Language models

Asks the follow-up questions, picks the pages, writes and checks each answer and writes the reports. gpt-4.1 writes the first search phrase.

NeedsOpenAI API key

Anthropic

JSON repair

Runs Claude 3.7 Sonnet in four auto-fixing parsers, which repair an answer when its JSON is broken.

NeedsAnthropic API key, or OpenAI models in their place

Tavily

Web search

Searches the web for each pass and returns up to ten results with the full text of each page.

NeedsTavily API key, in three HTTP Request nodes

Google Docs

Reports

Receives each Markdown report through your converter, which builds the Google Doc.

NeedsGoogle Docs OAuth2 credential, and a converter address

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
56 steps, starting on a form
AI
12 steps call an AI model: Clarifying Questions, LLM Relevance Filter, Filter Relevant Content per Page, Evaluate Answer Completeness, Final Report Generator and 7 more
Sign-ins
Signs in to: Google Docs, OpenAI, Anthropic and Tavily
API keys
No API key is left in the file; 1 blank in it for your own key
Step types
Mindket’s checker reads all 11 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow researches a question on the web and writes a cited report. Its prompts are tuned for technical questions, such as which tool fits a set of limits, so they ask for tutorials, code examples and implementation steps. A form takes the question, and an OpenAI model asks up to three follow-up questions, one form page each. Your answers join the question into one brief. gpt-4.1 turns the brief into a search phrase. Tavily returns up to ten pages with their full text, and a model keeps up to five of the most useful. One call reads them and writes an answer with numbered citations. A check then decides whether the question is answered. If not, a second search on a new phrase follows, and a third after that. Markdown reports then go to a converter you supply, which makes the Google Docs.

Who it suits

Developers, tech leads and automation builders who want a cited first answer to a how-do-I or which-tool question, with sources to check. It fits questions that end in something to build, because the page filter favors tutorials and implementation guides. Skip it for news, market sizing or opinion research, whose best sources are not guides. Skip it for quick facts too. A run makes roughly six to thirteen model calls and up to three Tavily searches.

Who uses it, and how
IndustryWho uses itHow they use itExample
Software developmentDevelopers and tech leadsAsk which library, API or open-source tool meets a set of limits, and read the cited report before choosingA developer asks for a self-hosted way to turn meeting audio into text and gets sources to compare.
Automation consultingFreelancers who build automationsResearch what a client asked for before quoting the jobA consultant runs a client’s request through the form and brings the report to the scoping call.
Product teamsProduct managersCheck which ready-made tools exist before the team builds its ownA product manager asks what already covers invoice reminders and what is missing.
IT and operationsIT managersCompare ways to meet a rule, such as keeping data on your own serversAn IT manager asks how to run a chat assistant without sending files to a cloud service.
Training and studyTeachers and self-taught developersGet a sourced starting point for a new topicA student asks how n8n loops work and reads the guides the report cites.

Where to use it

Any n8n that can reach OpenAI, Anthropic, Tavily and a Google Docs converter will run it. The form is the front door. Share its address with whoever has the questions.

  • n8n Cloud: import the file into a new workflow there, and publish it so the form’s production address works
  • Your own n8n server: the same file and steps
  • The form’s address: its path ends in deep_research, so a team can bookmark it
  • Google Docs: each report goes to your converter with its title as the file name
  • Another place to read reports: replace the three converter nodes with a node that saves where your team works

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Its author puts setup at about 16 minutes. Have these ready before you import it.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key. Fifteen nodes use it: fourteen chat models and one call to the Responses API
AnthropicAn API key for four chat models that repair broken JSON, or OpenAI models in their place
TavilyAn API key, pasted into three HTTP Request nodes
GoogleAn account for a Google Docs OAuth2 credential, and a converter address for three nodes
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential. Select it in OpenAI Chat Model and OpenAI Chat Model1 to OpenAI Chat Model13, and in HTTP Request.
  3. Add an Anthropic credential and select it in Anthropic Chat Model and Anthropic Chat Model1 to Anthropic Chat Model3. Or swap those four for OpenAI chat models.
  4. In Tavily Search, Loop2_Tavily Search1 and Loop3_Tavily Search2, replace <YOUR_TAVILY_KEY> in the Authorization header with your key. The brackets go too.
  5. In HTTP Request1, HTTP Request2 and HTTP Request3, replace YOUR_MARKDOWN_TO_DOC_ENDPOINT with your converter’s address and select a Google Docs OAuth2 credential.
  6. Save, run one question through the test address of Start, then press Publish.

The converter is not in the file. The original copy’s three nodes called one on its author’s own domain, so this copy leaves the address blank. Each node sends two fields and expects a service that builds a Google Doc from them:

POST https://YOUR_MARKDOWN_TO_DOC_ENDPOINT
output   = the report, in Markdown
fileName = the report’s title

The nodes use your Google Docs credential, so n8n sends that credential’s access token with the request. Point them only at a service you run yourself. Or replace each one with a Google Docs node set to Create, then one set to Update that inserts the Markdown as plain text.

How to use it

Open the form from Start, press Next and write your question in What would you like to research?. Be specific. Name the tools, the limits and the outcome you want. Then answer each follow-up page. After the last one the form says thank you. You can close it, because the research goes on behind it. Reports arrive in Google Docs through your converter, so check Drive for more than one document.

What to change for a different result
To changeWhere
Pages searched and readmax_results and search_depth in the three Tavily nodes, and the up to 5 links line in the three relevance prompts
Follow-up questionsThe limit of three in Clarifying Questions
When another pass startsThe criteria in Evaluate Answer Completeness and Loop2_Evaluate Answer Completeness1
Report layoutThe section list in the three report generators’ prompts
Subject areaThe examples in Prepare GPT-4.1 Input and the relevance prompts, which lean toward tutorials and code

Example

You write this question:

Which self-hosted tool can transcribe meeting recordings to text without sending the audio to a cloud service, and how do I call it from n8n?

The model might ask what language the meetings use, how long they run and what hardware you have, one page each. After that, pass 1 writes its answer in the parser’s shape, trimmed here:

{
  "question": "…",
  "search_query": "…",
  "answer": "… with citations such as [1] and [3] …",
  "sources": [{ "id": 1, "title": "…", "url": "…" }]
}

The check replies in a second shape. On no, the new phrase starts pass 2:

{ "answered": "no", "next_search_query": "…" }

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 file has 90 of them, but most are three near copies of the same search-and-read stage, one per pass, so it reads shorter than it looks. A credential is a key n8n stores for you and hands to the node you select it in. Run the form from its test address first. Each node then shows what it received and sent, which is where a wrong key or a blank converter address turns up.

For experts. Two vendors’ models share the work, and a few nodes exist only to repair JSON.

The model behind each step
StepModelWhat to know
Clarifying Questions, the relevance filters, the page filters, the evaluations and the report generatorschatgpt-4o-latest, in 14 chat model nodesAn alias OpenAI moves. Structured parsers hold the replies to a JSON shape
Prepare GPT-4.1 Input and HTTP Requestgpt-4.1 through the Responses API, with its web search tool onOne call writes the first search phrase, and store is true
Three page filters and the pass 2 reportclaude-3-7-sonnet-20250219, in four chat model nodesEach sits behind an auto-fixing parser and runs only when the JSON is broken
The pass 1 and three-pass reportsThe same OpenAI model, in two chat model nodesTheir auto-fixing parsers repair through OpenAI instead

Merge1 and Merge2 gather the three passes’ answers so that Merge Deep Research Answers can hand them to the last report generator. Pass 3 has no check, so no fourth pass follows.

Good to know

A run costs money on three accounts, and it can leave several documents.

  • Billing: OpenAI and Tavily bill each run, Anthropic only when a repair runs. Tavily is called at advanced depth with full page text, so check its pricing for that depth
  • Several documents: passes 1 and 2 each send their answer to a report at once, and a yes from a check sends that pass again. The pass 2 report holds pass 2’s answer only
  • Failed status: Done and Done1 are Stop and Error nodes with the message Success, so a finished run shows as failed in Executions
  • The first phrase: Prepare Keywords (Code) reads one spot in the reply and falls back to the words fallback search query, so read the first run’s phrase
  • Long pages: one call reads up to five full pages, and one long page can pass the model’s input limit
  • Open form: once the workflow is published, anyone with the form’s address can start a run on your keys, so turn on the form trigger’s authentication or keep the address to yourself
  • Where data goes: your question and answers go to OpenAI, page text to OpenAI and sometimes Anthropic, search phrases to Tavily, and each report to your converter
  • Credentials: the JSON holds none, and nothing from its author’s account

README and files

README

Deep research report writer with follow-up questions

An n8n workflow that researches a technical question on the web and writes a cited report. It asks follow-up questions
first, searches with Tavily in up to three passes, and turns each report into a Google Doc through a converter you supply.

What is inside

  • workflow.json: the workflow as n8n exports it, 90 nodes, no sticky notes. It holds no credential, no key and nothing
    from its author's account.
  • Three repairs in the file itself, listed under Good to know: restored backslashes, a placeholder where a converter's
    address stood, and forms without the author's picture.
  • README.md: these notes.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key. Fifteen nodes use it: fourteen chat models and one call to the Responses API.
  • An Anthropic API key for four chat models that repair broken JSON, or OpenAI models in their place (step 3).
  • A Tavily API key.
  • A Google account for a Google Docs OAuth2 credential, and a converter that builds a Google Doc from Markdown (step 5).

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add an OpenAI credential. Select it in OpenAI Chat Model and OpenAI Chat Model1 to OpenAI Chat Model13, and in
    HTTP Request, the call to api.openai.com.
  3. Add an Anthropic credential and select it in Anthropic Chat Model and Anthropic Chat Model1 to
    Anthropic Chat Model3. To skip Anthropic, replace those four with OpenAI chat models: OpenAI Chat Model1 and
    OpenAI Chat Model13 already do that job for two of the repair parsers.
  4. Open Tavily Search, Loop2_Tavily Search1 and Loop3_Tavily Search2. In each Authorization header, replace
    <YOUR_TAVILY_KEY> with your key. The brackets go too, so the value reads Bearer, a space, then the key.
  5. Open HTTP Request1, HTTP Request2 and HTTP Request3. Replace YOUR_MARKDOWN_TO_DOC_ENDPOINT in each address
    with your converter's address, and select a Google Docs OAuth2 credential (below).
  6. Check the model names (chatgpt-4o-latest, claude-3-7-sonnet-20250219, gpt-4.1) against what n8n and your
    accounts offer.
  7. Save, open the test address of Start (its path is deep_research) and run one question through it. Then press
    Publish.

The converter it calls

The file does not include it. Each of the three nodes sends two form fields and expects a service that answers by making a
Google Doc:

| Field | What the node sends |
|---|---|
| output | the report in Markdown |
| fileName | the report's title |

The nodes use a Google Docs credential, so n8n adds that credential's access token to the request. Point them at a
service you run yourself. Or delete each of the three and put a Google Docs node set to Create there, with the title
as the document's name, followed by one set to Update that inserts the Markdown as text. The headings then show as
plain text, but no outside service sees your token.

How a run goes

| Stage | Nodes | What happens |
|---|---|---|
| Question | Start, Research Request | A welcome page with a Next button, then a page that asks What would you like to research? |
| Follow-ups | Clarifying Questions to Get Initial Query | The model asks up to three questions, one form page each, or answers No clarification needed. The question and answers become one text. |
| Search phrase | End Form to Prepare Keywords (Code) | The form says thank you and closes. gpt-4.1 through the Responses API, with web search switched on, writes one search phrase. |
| Pass 1 | Tavily Search to Filter Relevant Content per Page | Tavily returns up to ten pages with full text. LLM Relevance Filter keeps up to five. One call reads them and writes an answer with numbered citations. |
| Check | Evaluate Answer Completeness, Check If Query Fully Answered | Answers yes or no. On no, it also writes a new search phrase. |
| Pass 2 | the Loop2_ nodes | The same stage on the new phrase, with its own check, Check Loop2 Answered. |
| Pass 3 | the Loop3_ nodes | The same stage once more. No check follows it. |
| Reports | Prepare Final Report, Final Report Generator and its two copies, HTTP Request1 to HTTP Request3 | Each report is Markdown with a title. The nodes post it to the converter. |

Change the results

  • Pages searched and read: max_results and search_depth in the three Tavily nodes (10 and advanced), and the
    up to 5 links line in the three relevance prompts.
  • Follow-up questions: the maximum of three in Clarifying Questions and in the description of
    Structured Output Parser1.
  • When another pass starts: the criteria in Evaluate Answer Completeness and Loop2_Evaluate Answer Completeness1.
  • Report layout: the section list in the prompts of Final Report Generator, Final Report Generator1 and
    Final Report Generator2.
  • Models: the model field of each chat model node, and model in Prepare GPT-4.1 Input.
  • The kind of question: the examples and the style in Prepare GPT-4.1 Input and the relevance prompts ask for
    tutorials, code and implementation guides. Rewrite them for other research.

Good to know

  • The original copy's Code nodes and expressions had lost their backslashes. Twelve nodes read join('n') or
    join('nn') where a line break was meant, and the two Parse LLM Output to JSON nodes had the pattern /{[sS]*}/.
    Mindket put the backslashes back: \n, \n\n and [\s\S]. The twelve are Get Initial Query, the three relevance
    filters, the three page filters, the three report generators, Prepare Final Report and Prepare Final Report Input1.
  • The original copy posted its reports to a converter on its author's own domain, with your Google token. This copy has a
    placeholder instead, so no run sends a token anywhere until you choose where.
  • The forms showed a banner picture from the author's image host, which this copy leaves out. The welcome text on
    Start said reports were saved to Notion. The file saves through Google Docs, so it now says a Google Doc.
  • Passes 1 and 2 each send their answer to a report as soon as it is written, without waiting for the check. A yes from
    a check sends that pass to its report a second time. One run can therefore leave several documents. The pass 2 report
    holds pass 2's answer alone. Only the report from Final Report Generator2 holds all three.
  • Done and Done1 are Stop and Error nodes with the message Success, so a run that ends there shows as failed in
    Executions, with that message.
  • Prepare Keywords (Code) reads only the first item of the reply's output list. When it finds no search phrase there,
    it falls back to the words fallback search query. If the model runs its own web search first, the message may come
    second, so read the first run's search phrase.
  • When the model asks no question, Get Initial Query still writes one stray line into the brief: question: output and
    answer: [object Object].
  • Filter Relevant Content per Page and its two copies put up to five full pages into one prompt. One long page can
    run past the model's input limit and stop that step.
  • A run makes roughly six to thirteen model calls, depending on how many passes run, plus up to three Tavily searches
    at advanced depth with full page text. OpenAI, Tavily and, for repairs only, Anthropic each bill their part.
    chatgpt-4o-latest is an alias OpenAI moves, and the Responses API call sets store to true.
  • Once the workflow is published, anyone with the form's address can start a run on your keys. The form trigger can ask
    for a username and password.
  • The question and your answers go to OpenAI. Page text goes to OpenAI and, when a repair is needed, to Anthropic.
    Search phrases go to Tavily, and each report goes to your converter.
Files
README.md  8 KB
workflow.json  96 KB

2 files, 103 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

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…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Productivity

See all in Productivity

Frontend Slides

zarazhangrui · Skill

Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…

New32.3k

IPTV

iptv-org · Kit

Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…

New144k

upscaler

uwg · Kit

Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…

New