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.

Agentic Task
PineconeGoogle SheetsSlackOperationsSalesContent GenerationDocument Processing
PromptCreate

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.

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

What does this prompt do?

  • 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 do I need to use this?

  • 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

How can I customize it?

  • 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

FAQs

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.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task

Stop rewriting security answers you have already written

Let the first draft of every questionnaire come from answers your team has already approved, with sources and a confidence rating attached.