Pulls RFPs from Drive or the sandbox, grounds each answer in a knowledge pack with file citations, routes open questions to SMEs on Slack, and writes an approved draft Doc without submitting a portal response.
Full install guide: Install an Eve agent.
RFP Response Drafter is an Eve agent that drafts cited RFP answers from Drive or sandbox knowledge packs, pauses for Slack SME approval, and writes back only as an approved draft. It is for Eve developers running team operations. Preview every file on this page, then install with npx shadcn@latest add @evex/rfp-response-drafter.
RFP response drafter via Google Drive Connect and sandbox files that cites every claim, Slack-routes SME gaps, and write-backs approved Drive or mailbox drafts without portal submit.
RFP Response Drafter is an eve agent that lists configured Google Drive RFP and knowledge folders, exports Docs and PDFs into the workspace, and registers sandbox packs. It drafts sectioned answers, requires a pack path or Drive file citation on every claim, posts leftover questions to Slack for an SME, and writes only an approved Drive Doc or mailbox Draft. A human reviews that draft. The agent never submits a vendor portal.
You interact with it through Eve chat and environment variables. Set a Google Connect UID plus RFP and knowledge folder ids, sandbox roots for local packs, Slack Connect for SME questions, and optionally a mailbox Connect UID for Drafts. The rfp-deadline-digest schedule is optional Slack or email. write_approved_draft pauses until confirmWrite is true after SME approval.
It is useful when a proposal team wants cited answers without auto-submitting a portal. Drive or disk files become the only allowed sources. The model reads them with built-in file tools. Uncited claims fail closed. Slack holds the SME pause. The approved write-back is a Drive Doc or a mailbox Draft the team sends themselves.
A security questionnaire sits in rfps/acme.md and the answers live in knowledge-packs/security.md. ingest_rfp_sources registers both paths. The model reads them with read_file. draft_cited_sections cites the pack path. write_approved_draft creates a Drive Doc titled DRAFT after approval.
The pack does not state the SOC 2 report date. draft_cited_sections returns that open question. ask_sme_questions posts it to Slack and pauses. write_approved_draft is refused until the SME approves.
A section claims twenty-four-seven coverage with no pack path or Drive id. draft_cited_sections returns drafted false and lists the uncited claim. No Drive Doc is created. No mailbox Draft is written. Nothing is submitted.
Two RFPs are overdue. preview_deadline_digest returns aging buckets and rfp-response-drafter-2026-09-11. deliver_deadline_digest posts Slack or email once after approval. A retry of the same date key returns replayed.
Install with npx shadcn@latest add @evex/rfp-response-drafter, copy .env.example, set Slack Connect plus a Google Connect UID or a mailbox, then ingest an RFP from Drive or the rfps sandbox root while iterating in Eve chat.
No. write_approved_draft always returns submitted false. Portal submit URLs and paste-to-text intents are refused in code. The write-back is a Drive draft Doc or a mailbox Drafts message a human reviews.
draft_cited_sections fails closed. The tool returns drafted false and lists the uncited claim. write_approved_draft will not write Drive or mailbox until every claim cites a pack path or a Drive file id or URL from the ingested sources.
ask_sme_questions always pauses for Eve approval before it posts. A Slack accept is not SME approval. After the SME replies, record_sme_reply writes the durable record that write_approved_draft checks.
No. rfp-deadline-digest is optional. When you run it, deliver_deadline_digest requires confirmSend true and the date key from preview_deadline_digest. A replayed rfp-response-drafter-YYYY-MM-DD key does not post Slack or email twice.
npx shadcn@latest add @evex/rfp-response-drafter