Mindket

RFP questions answered into a Google Doc by AI

Newversion 1 · updated

Overview

An n8n workflow that takes an RFP as a PDF through a webhook, pulls out its questions and has an AI agent answer each from your company text into a new Google Doc. Gmail and Slack tell the team when it is done.

RFP questions answered into a Google Doc by AI is an n8n workflow in the Business 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.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the webhook address reachable by the sender
  • A form or portal: post the RFP to the webhook from your own front end instead of curl
  • Another channel: swap the Gmail or Slack node for the tool your team uses

Platform

Connects 4 apps

How it works

Trigger

Webhook request

It starts when a request is posted to its webhook, with:

  • The fields id, title and reply_to
  • The RFP as a PDF in the field data

Actions

  1. The PDF text is read and a new Google Doc is created, with the title, date and requester at the top
  2. GPT-5.6 Terra lists every question meant for the supplier, one per line
  3. An AI Agent answers each question from the company text in its system message
  4. Each numbered question and answer is added to the Doc
  5. Gmail emails the requester and Slack posts a note when the last answer is in

Result

A Google Doc in your Drive with every question and a drafted answer, plus an email and a Slack message

Integrations

What you need before you start.

OpenAI

Language model

Runs gpt-5.6-terra to list the questions in the PDF and to draft each answer.

NeedsOpenAI API key

Google Docs

Documents

Creates the response Doc, writes the details at the top and adds each question with its answer.

NeedsA Google account

Gmail

Email

Emails the requester that the Doc is complete.

NeedsA Google account with Gmail

Slack

Team chat

Posts a note that the RFP is complete.

NeedsA Slack workspace, an app that can post messages and a channel

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
11 steps, starting when its webhook is called
AI
2 steps call an AI model: Extract Questions From RFP and Answer Question with Context
Sign-ins
Signs in to: Google Docs, Gmail, Slack and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 9 of its step types

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

About

What it is

This n8n workflow drafts answers to a request for proposal, known as an RFP. A buyer’s PDF is posted to a webhook. The workflow creates a Google Doc, then asks a model to list every question meant for the supplier. An AI agent answers them one at a time from a company reference text that you paste into its system message. Each question and answer is added to the Doc. When the last one is in, Gmail emails the requester and Slack posts a note. Fourteen nodes do the work, beside ten sticky notes.

Who it suits

Bid teams and sales engineers who answer long buyer questionnaires from the same company facts again and again. Skip it if the answers need figures or documents beyond a short reference text. The agent has no tools to look anything up.

Who uses it, and how
IndustryWho uses itHow they use itExample
IT servicesBid teamsGet a first draft of a long questionnaire before the first meetingA bid team opens one Doc with every question and a drafted answer.
SoftwareSales engineersAnswer security and procurement questionnaires from a standard textAn engineer pastes the company’s standard answers and reviews the Doc.
AgenciesAccount managersRespond to client tender documents fasterAn agency drafts answers about its team and process from a one-page text.
ConsultingProposal writersPull the questions out of a buyer’s PDF in one passA writer sees every question listed and drafted the same afternoon.

You need solid n8n for this one: three kinds of credential, a webhook you call with a file, and a secured endpoint before real use. The workflow’s own sticky notes give no setup time.

Where to use it

Any n8n that can reach OpenAI, Google and Slack, and that your sender can reach by webhook, will run it. The answers end up in a Google Doc in your Drive.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the webhook address reachable by the sender
  • A form or portal: post the RFP to the webhook from your own front end instead of curl
  • Another channel: swap the Gmail or Slack node for the tool your team uses

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Four accounts and a short company text cover every step.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key that can use gpt-5.6-terra
GoogleAn account for Google Docs and Gmail
SlackA workspace, an app that can post messages and a channel
InputsAn RFP as a PDF with selectable text, and a short company text to paste
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential and select it in OpenAI Chat Model and OpenAI Chat Model1.
  3. In Answer Question with Context, replace <PASTE YOUR COMPANY REFERENCE TEXT HERE> in the system message with your company text.
  4. Add a Google Docs credential and select it in the three Google Docs nodes. In Add Metadata to Response Doc, replace <YOUR_N8N_HOST> with your n8n address.
  5. Add a Gmail credential for Send Email Notification and a Slack credential for Send Chat Notification. The file names the channel RFP-channel, so pick yours.
  6. Click Execute workflow and send a form to the test URL, /webhook-test/rfp-questionnaire, with the fields id, title and reply_to and the PDF in data. A sticky note on the canvas holds a curl example.
  7. Read the new Doc in your Drive. When it looks right, publish the workflow, add authentication to Wait for Request and use the production URL.

How to use it

Post an RFP to the webhook with an id, a title and the address to notify. The workflow answers the request at once and keeps working. A Doc named from the id, the title and the time appears at the top of your Drive, and it fills with the numbered questions and an answer under each.

What to change for a different result
To changeWhere
The answer rules and company textThe system message in Answer Question with Context
Which questions countThe prompt in Extract Questions From RFP
The layout of the DocThe text in the two Google Docs update nodes
The file name and folderdoc_filename in Set Variables, and the folder in Create new RFP Response Document
Who is toldSend Email Notification and Send Chat Notification

Example

A buyer’s PDF holds a questionnaire with security, support and pricing questions. A bid manager posts it with the title of the tender and her own email address.

The Doc fills with numbered questions, each followed by a draft answer built from the company text. Where the text says nothing on a question, the draft says what is missing. Gmail and Slack announce that the Doc is complete.

For newcomers and experts

If you are new. An RFP is a document in which a buyer asks suppliers to answer a list of questions. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Test with a short PDF of three or four questions, and read every answer in the Doc.

For experts. One loop handles the questions, and each one is a separate agent call.

Where to look closer
NodeWhat it doesWhat to know
Wait for RequestA Webhook node that takes a POST at rfp-questionnaireIt answers the sender at once and has no authentication
Extract Questions From RFPA Basic LLM Chain with an Item List Output ParserThe parser is set to -1 so every question counts. Left empty, n8n stops at three
For Each Question...Split In Batches, one question per roundIts second output starts an answer, and its first runs once all are done
Answer Question with ContextAn AI Agent 1.9 with no toolsIt answers only from the text in its system message

Good to know

The Assistants step was rebuilt, and the webhook is open.

  • Assistants: OpenAI’s deprecations page, read on 12 November 2026, gives 26 August 2026 as the shutdown of the Assistants API. The answer step is now an AI Agent with your reference text in its system message, not an assistant with uploaded files
  • Models: both model nodes call gpt-5.6-terra. The first had no model set and used n8n’s default, gpt-5-mini, which OpenAI shuts down on 11 December 2026
  • Question count: the item list parser had no number set and would have stopped at three questions. It is set to -1
  • Open webhook: anyone with the address can start a run, spend your key and make your Gmail email any address in reply_to. Add header authentication before real use
  • Drafts: read every answer before it goes into a bid, since a model can still get a fact wrong
  • Size: the reference text has to fit in the agent’s prompt, and the whole PDF text goes to the model in one prompt
  • Scans: a scanned PDF has no text, so few questions will be found
  • Email: it says the Doc is complete but has no link to it
  • Billing: one call to list the questions and one per question
  • Your data: the RFP and your company text go to OpenAI, and the title goes to Slack and email
  • Credentials: the JSON holds none

README and files

README

RFP questions answered into a Google Doc by AI

An n8n workflow that takes a request for proposal (RFP) as a PDF sent to a webhook. It creates a Google Doc for the answers and
asks a model to pull every question out of the PDF. An AI agent then answers the questions one at a time from a company
reference text you paste into its system message, and each question and answer goes into the Doc. When the last one is
written, Gmail and Slack tell the team.

What is inside

  • workflow.json: the workflow as n8n exports it, fourteen nodes and ten sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The question answering used n8n's OpenAI Assistant node. OpenAI's deprecations page, read on 12 November 2026, gives
    26 August 2026 as the shutdown of the Assistants API, with the Responses API and Conversations API as the replacement. The
    step is now an AI Agent, Answer Question with Context, with its own model node, OpenAI Chat Model1, calling
    gpt-5.6-terra. The author's assistant held company documents. Here you paste a company reference text into the agent's
    system message instead, in place of <PASTE YOUR COMPANY REFERENCE TEXT HERE>. The system message is ours, and it tells the
    agent to say what is missing when the text does not cover a question.
  • The first model node set no model, so n8n used its default, gpt-5-mini. OpenAI's page gives 11 December 2026 as its
    shutdown, with gpt-5.6-terra as the replacement, so OpenAI Chat Model now names gpt-5.6-terra.
  • Item List Output Parser had no Number Of Items setting. With an empty setting n8n's code asks the model for three items,
    stops after three and fails when fewer come back, so only the first three questions of an RFP would be answered. It is now
    set to -1, which turns the limit off.
  • Send Chat Notification and Send Email Notification read $('Set Variables').item.json.title, a field that node does not
    produce. They now read doc_title.
  • The webhook path was a generated id. It is now rfp-questionnaire.
  • Create new RFP Response Document pointed at one of the author's Drive folders. It now uses default, the top of your
    Drive.
  • Add Metadata to Response Doc wrote an execution link that began with http://localhost:5678. The start is now
    https://<YOUR_N8N_HOST>.
  • The text recorded for each question was taken from the output of the assistant node. It now reads the question from
    For Each Question... and the answer from the agent.
  • Three sticky notes told you to set up an assistant and linked to the author's files. They now describe the agent and the
    pasted text.
  • The Google Docs, Gmail, Slack and OpenAI nodes lost their links to credentials in the author's n8n. Select your own.

Before you start

  • An n8n instance, on n8n Cloud or your own server, that can receive a webhook from where you send the RFP.
  • An OpenAI API key that can use gpt-5.6-terra.
  • A Google account for Google Docs and Gmail.
  • A Slack workspace, an app that can post messages and a channel.
  • An RFP as a PDF with text you can select, and a short company document to paste.
  • A tool that can send a form with a file, such as curl or Postman.

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 and select it in OpenAI Chat Model and OpenAI Chat Model1.
  3. Open Answer Question with Context and replace <PASTE YOUR COMPANY REFERENCE TEXT HERE> in the system message with your
    company text.
  4. Add a Google Docs credential and select it in Create new RFP Response Document, Add Metadata to Response Doc and
    Record Question & Answer in Response Doc.
  5. In Add Metadata to Response Doc, replace <YOUR_N8N_HOST> with the address of your n8n.
  6. Add a Gmail credential and select it in Send Email Notification. Add a Slack credential and select it in
    Send Chat Notification. The file names the channel RFP-channel, so pick yours.
  7. Click Execute workflow. Wait for Request listens at the test URL, /webhook-test/rfp-questionnaire on your n8n. Send it
    a form with the fields id, title and reply_to and the PDF in a field named data. The sticky note on the canvas holds a
    curl example.
  8. Open the new Doc in your Drive and read the answers. When they look right, publish the workflow and use the production URL,
    /webhook/rfp-questionnaire.
  9. Before you share the production URL, add authentication to Wait for Request.

How a run goes

  1. Wait for Request takes the POST. It answers the sender at once, before the work is done.
  2. Get RFP Data reads the text of the PDF from the field data.
  3. Set Variables builds three values: doc_title from title, doc_filename from the id, the title and the time, and
    reply_to.
  4. Create new RFP Response Document makes an empty Google Doc with that file name at the top of your Drive.
  5. Add Metadata to Response Doc writes the title, the date, the requester and a link to the execution at the top of the Doc.
  6. Extract Questions From RFP (Basic LLM Chain, with OpenAI Chat Model) is told to take every question meant for the
    supplier, exactly as written. Item List Output Parser splits the reply at each new line, so each question becomes an item.
  7. For Each Question... hands the questions on one at a time. Answer Question with Context answers one from the reference
    text, and Record Question & Answer in Response Doc adds a numbered question and answer to the end of the Doc.
  8. When the loop is done, Send Email Notification emails the person in reply_to, then Send Chat Notification posts to Slack.

Change the look

  • The answer rules and the company text: the system message in Answer Question with Context.
  • Which questions count: the prompt in Extract Questions From RFP.
  • The layout of the Doc: the text in the two Docs update nodes.
  • The file name and the folder: doc_filename in Set Variables, and the folder in Create new RFP Response Document.
  • Who is told and how: Send Email Notification and Send Chat Notification.
  • The models: OpenAI Chat Model and OpenAI Chat Model1.

Good to know

  • Anyone who knows the webhook address can start a run, spend your OpenAI key and make your Gmail email any address they put in
    reply_to. Add header authentication to Wait for Request before you use it outside a test.
  • The answers are drafts. The agent writes from your pasted text and is told not to guess, but a person should read every
    answer before it goes into a bid.
  • The pasted text has to fit in the agent's prompt next to each question. A large library of documents needs a different
    approach, such as a search tool for the agent.
  • A scanned PDF has no text to read, so Get RFP Data returns little and the model finds few questions.
  • The whole PDF text goes to the model in one prompt. A long RFP can exceed what the model takes.
  • The email says the document is complete but carries no link, although a sticky note says it does. Add the Doc link to
    Send Email Notification if you want one.
  • Each question is its own agent call, plus one call to extract the list, so a long RFP costs many calls.
  • The model reads your RFP and your company text, the Doc holds the answers in your Drive, and the document title goes to
    Slack and the requester's email.
  • The execution link in the Doc opens only for people who can sign in to your n8n.
Files
NOTICE.md  626 B
README.md  7 KB
workflow.json  17 KB

3 files, 24 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Gives AI agents 818 cybersecurity skills across 34 security domains, each mapped to frameworks such as MITRE ATT&CK and NIST CSF 2.0. For analysts, defenders a…

New36.2k

awesome-agent-skills

voltagent · Skill

Curated list of agent skills from official engineering teams and community authors, covering products such as Stripe, Supabase and Vercel, for Claude Code, Cod…

New37.2k

agents by wshobson

wshobson · Skill

Offers a catalog of plugins that bundle agents, skills and commands for AI coding tools including Claude Code, Codex CLI, Cursor and GitHub Copilot, kept as on…

New42.5k

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New