# Draft security questionnaire answers from your past responses

> Every weekday, unanswered questions in your RFP tracker get a draft answer, a confidence rating and sources, or a flag that a human is needed.

- Workflow type: agent
- Services: Pinecone, Google Sheets, Slack
- Categories: Operations, Sales
- Published: 2026-08-09

## What it does

- Reads your questionnaire and RFP tracker every weekday morning and picks out the rows that still have no answer.
- Searches your library of past questionnaire responses, security policies and product documentation for the closest matching material.
- Writes a draft answer, a confidence rating and the titles of the sources it used straight back into the row.
- Leaves anything it cannot back up blank and marks it as needing a human, then posts a Slack summary with the counts and a link to the sheet.

## What you'll need

- A Google Sheet where you track questionnaire and RFP questions, with a column for the question and empty columns for the answer, confidence and sources
- A Google account with edit access to that sheet
- A Pinecone index loaded with your past questionnaire responses, security policies and product documentation
- A Slack workspace and the channel where the person who owns the questionnaire should get the summary

## Prompt

Every weekday at 9am, draft answers for the open security questionnaire and RFP questions my team tracks in a Google Sheet, grounded strictly in material retrieved from my Pinecone index. Build this as an agent workflow on a cron trigger.

Start by reading the tracker with the Google Sheets Get Values operation. The sheet has one row per question, with columns for the question text, the draft answer, a confidence rating, the source titles the answer was based on, and a status. Read the header row and locate those columns by name rather than assuming fixed letters. Then work only on rows that have question text and an empty answer cell. Never touch a row that already has an answer, because a person may have written or edited it.

For each unanswered question, search my Pinecone index with the Search Records operation, passing the question text as the query against the namespace that holds our past questionnaire responses, security policies and product documentation. Turn on reranking and ask for roughly the top eight to ten matches. Questionnaire wording rarely matches the wording of the stored answer, so the raw vector hits are often not the best ones and the rerank matters here. Keep the title or document name from each match so you can cite it later.

Write the draft answer strictly from the retrieved passages. Do not fall back on general knowledge about security or compliance, do not infer a control that the passages do not describe, and do not soften a gap into a yes. A wrong answer on a security questionnaire is worse than a blank one. If the retrieved passages genuinely answer the question, write a concise answer in the same voice as our past responses, usually two to four sentences. If they only partly answer it, write the part that is supported and state plainly what is missing. If nothing relevant comes back, write nothing at all.

Give every row you touch a confidence rating of High, Medium or Low. High means one or more retrieved passages directly answer the question. Medium means the answer is assembled from related material rather than a direct prior answer. Low means the match is thin and a reviewer should read it closely. Then write the results back with the Google Sheets Update Values operation: the draft answer, the confidence rating, the titles of the sources used, and a status of either Draft ready for review or Needs human. Any question you could not support from the index gets a blank answer, a blank confidence rating, and a status of Needs human, so nobody mistakes a silence for a no.

Finish by sending one summary to Slack with the Send a Message operation, to the channel the questionnaire owner watches. It should say how many answers were drafted, how many were left for a human, how the drafts split across High, Medium and Low confidence, a short note on the themes the index could not cover, and a link to the sheet so the reviewer can go straight there. If there were no unanswered rows this morning, say that in a single line instead of posting an empty report.

I will provide the spreadsheet and tab, the Pinecone index and namespace, and the Slack channel when I set this up.

## How to customize

- Change when it runs, for example twice a day while a big RFP is open and weekly the rest of the time
- Point it at a different tab, a different column layout, or one specific block of rows
- Adjust how strict it is, including how much supporting material it needs before it will call a draft high confidence
- Send the summary to a different channel, or as a direct message to whoever owns the response

## Example output

Questionnaire drafting, Tuesday 9:00am

Northwind Security Review: 34 open questions this morning.

24 drafted and ready for review (11 high confidence, 9 medium, 4 low)
10 left blank and marked Needs human, mostly on subprocessor breach notification timelines and FedRAMP status

Start with the 4 low confidence rows, then the 10 flagged ones.
Sheet: https://docs.google.com/spreadsheets/d/.../edit

## FAQ

### Will it invent an answer if it cannot find one?

No. It answers only from what it retrieves out of your own library. If nothing there supports an answer, it leaves the answer blank and marks the row as needing a human, because a wrong answer on a security questionnaire is far worse than a blank one.

### What if the new question is worded differently from our old answer?

That is the normal case, and it is the whole point of searching by meaning rather than by keyword. It also runs a re-ranking pass so the most relevant prior answers rise to the top even when the phrasing is nothing alike.

### Does it overwrite answers we have already written?

No. It only fills rows where the answer cell is empty, so anything you or a colleague has already written or edited is left exactly as it is.

### How do we review what it wrote?

Every draft lands next to a confidence rating and the titles of the sources it was built from, so a reviewer can start with the low confidence rows and trace any answer back to the document it came from.

### What goes into the library it searches?

Whatever you have already written and approved: completed questionnaires, your security and privacy policies, and product documentation. The better that library is, the better the drafts, and answers you approve today become source material for the next questionnaire.

Use this prompt in General Input: https://www.generalinput.com/prompts/draft-security-questionnaire-answers-from-your-past-responses