Quick overview
Answers vendor security questionnaires by reusing approved library answers or drafting with Gemini from cited policy evidence. Each draft gets a confidence score and evidence links, passes an email approval gate with approve/reject links, and every decision is recorded in a decision log.
How it works
- Runs manually or weekly on a schedule to start a questionnaire processing batch.
- Reads the Questions, AnswerLibrary, and PolicyTexts tabs from Google Sheets and also lists and extracts text from policy PDF files in a specified Google Drive folder.
- For each question, tries to find a strong match in the approved AnswerLibrary and reuses the approved answer verbatim when the match score meets the threshold.
- If there is no strong library match, retrieves the most relevant policy text chunks and sends them to Google Gemini to draft an answer that includes required chunk citations.
- Scores each draft’s confidence, records evidence references, and appends the pending draft to the Drafts tab in Google Sheets.
- Compiles all pending drafts into an approval email with approve/reject links and sends it to the reviewer via Gmail, then emails an operations summary.
- When the reviewer clicks an approval link, a webhook validates the request, logs the decision to DecisionLog, updates the draft status in Drafts, and (if approved and deemed safe) appends the answer to AnswerLibrary.
Setup
- Create a Google Sheets workbook with tabs named Questions, AnswerLibrary, PolicyTexts, Drafts, and DecisionLog, and set the workbook ID in the workflow configuration.
- Connect Google Sheets, Google Drive, and Gmail credentials, and set the policy Drive folder ID, reviewer email, and ops email in the workflow configuration.
- Add a Google Gemini API key and (optionally) adjust the Gemini model, strong match threshold, and number of retrieved chunks in the workflow configuration.
- Set your public n8n host approval webhook URL and a decision secret, then use the generated approval links from the emails (or the webhook URL) to record approve/reject decisions.