---
title: "RFP questions answered into a Google Doc by AI"
kind: "Kit"
category: "Business"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/42777679-0a24-4978-b2b6-f1f0272b7361"
updated: "2026-11-12"
---

# RFP questions answered into a Google Doc by AI

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

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 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 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

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| IT services | Bid teams | Get a first draft of a long questionnaire before the first meeting | A bid team opens one Doc with every question and a drafted answer. |
| Software | Sales engineers | Answer security and procurement questionnaires from a standard text | An engineer pastes the company’s standard answers and reviews the Doc. |
| Agencies | Account managers | Respond to client tender documents faster | An agency drafts answers about its team and process from a one-page text. |
| Consulting | Proposal writers | Pull the questions out of a buyer’s PDF in one pass | A 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

### How to set it up

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

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key that can use \`gpt-5.6-terra\` |
| Google | An account for Google Docs and Gmail |
| Slack | A workspace, an app that can post messages and a channel |
| Inputs | An 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 change | Where |
| --- | --- |
| The answer rules and 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 Google Docs update nodes |
| The file name and folder | \`doc\_filename\` in \`Set Variables\`, and the folder in \`Create new RFP Response Document\` |
| Who is told | \`Send 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

| Node | What it does | What to know |
| --- | --- | --- |
| \`Wait for Request\` | A Webhook node that takes a POST at \`rfp-questionnaire\` | It answers the sender at once and has no authentication |
| \`Extract Questions From RFP\` | A Basic LLM Chain with an Item List Output Parser | The parser is set to -1 so every question counts. Left empty, n8n stops at three |
| \`For Each Question...\` | Split In Batches, one question per round | Its second output starts an answer, and its first runs once all are done |
| \`Answer Question with Context\` | An AI Agent 1.9 with no tools | It 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

```markdown
# 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.
```

## What is in it

3 files, 24 KB, downloaded as a zip.

```text
NOTICE.md  626 B
README.md  7 KB
workflow.json  17 KB
```

## Workflow check

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

- 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

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/42777679-0a24-4978-b2b6-f1f0272b7361)
- [Its page on Mindket](https://mindket.com/p/42777679-0a24-4978-b2b6-f1f0272b7361)
