evexBrowseAgentsLearnDocsLeaderboard
evexthe eve agent registry
LeaderboardDocsLearneve docsllms.txt
Back to Registry

RFP Response Drafter

productivity

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.

TOby TommyBez45 files

Install

npx shadcn@latest add @evex/rfp-response-drafter

Full install guide: Install an Eve agent.

What is RFP Response Drafter?

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.

Other package managers

Prefer pnpm, yarn, or bun? Copy the matching install command.

Package manager
$npx shadcn@latest add @evex/rfp-response-drafter
Category
productivity

productivity agents and workflows

Files
45 files

1 skill file · 9 tools

Requires
3 dependencies

@vercel/connect@^0.2.6, eve@^0.47.5, zod@4.3.6

Updated
Sep 11, 2026

Source-owned registry metadata

What's included

45 files1 skill file9 tools
Dependencies:@vercel/connect@^0.2.6eve@^0.47.5zod@4.3.6

About RFP Response Drafter

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.

How it works

  1. On Eve chat or the optional rfp-deadline-digest schedule (cron from RFP_RESPONSE_CRON, default weekday 08:00 UTC), the agent loads the rfp-response skill.
  2. It calls load_rfp_config and stops when Slack Connect or a Drive or mailbox write-back target is missing.
  3. ingest_rfp_sources lists the configured Drive RFP and knowledge folders, exports Docs and PDFs into the workspace, and registers sandbox paths. The deadline schedule then calls load_open_rfps so preview has rows.
  4. The model reads those files with built-in read_file, glob, and grep. draft_cited_sections applies a hard cite gate to claims and body prose. Missing sources fail closed.
  5. ask_sme_questions posts leftover questions as pending. record_sme_reply stores a correlated SME reply. write_approved_draft checks that record, preflights Drive and mailbox, then writes drafts after confirmWrite is true. It never submits a portal.
  6. Four evals cover the cite gate refuse-on-missing-source, approval before write, never-portal-submit, and the Slack SME pause.

Use cases

Sandbox pack, cited Drive draft

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.

SME pause on a missing control

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.

Uncited claim fails closed

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.

Deadline aging digest without a portal post

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.

Requirements

AI_GATEWAY_API_KEY
A model credential for the deployment, either a Vercel AI Gateway API key or AI Gateway OIDC, so the agent can call zai/glm-5.2.
RFP_RESPONSE_CRON
5-field cron for rfp-deadline-digest. Defaults to 0 8 * * 1-5 (weekday 08:00 UTC on Vercel).
RFP_RESPONSE_STORE_PATH
JSON file for digest delivery claims. Defaults to .data/rfp-response-store.json. Use a durable volume if the app filesystem is ephemeral.
RFP_RESPONSE_SLACK_CONNECT_UID
Vercel Connect Slack connector UID for the Eve Slack channel. Required with the channel id before ask_sme_questions or the digest will post.
RFP_RESPONSE_SLACK_CHANNEL_ID
Slack channel id for SME questions and the optional deadline digest. Required with the Slack Connect UID.
RFP_RESPONSE_GOOGLE_CONNECT_UID
Vercel Connect Google connector UID from vercel connect create google. Mints drive.readonly for ingest, drive.file and documents for a draft Doc, and gmail.compose for mailbox Drafts.
RFP_RESPONSE_DRIVE_FOLDER_ID
Optional shared Google Drive folder id used when a specific RFP or knowledge folder is empty.
RFP_RESPONSE_DRIVE_RFP_FOLDER_ID
Configured Google Drive folder that holds RFP questionnaires. ingest_rfp_sources lists it and exports Docs and PDFs into the workspace.
RFP_RESPONSE_DRIVE_PACK_FOLDER_ID
Configured Google Drive folder that holds the knowledge pack. ingest_rfp_sources lists it and exports Docs and PDFs into the workspace.
RFP_RESPONSE_GMAIL_USER
Optional From address written onto Gmail drafts.
RFP_RESPONSE_MAILBOX_PROVIDER
Optional force of gmail or outlook. When empty, the first complete mailbox Connect UID wins.
RFP_RESPONSE_DRAFT_TO
Recipient written onto mailbox Drafts. Required when write-back includes mailbox.
RFP_RESPONSE_MICROSOFT_CONNECT_UID
Vercel Connect Microsoft connector UID from vercel connect create microsoft. Mints Mail.ReadWrite. The agent never calls sendMail.
RFP_RESPONSE_SANDBOX_ROOTS
Comma-separated sandbox roots for local RFP and knowledge-pack files. Defaults to rfps,knowledge-packs.
RFP_RESPONSE_WRITEBACK
Optional force of drive, mailbox, or both. When empty, Drive wins if a Google Connect UID is set.
RFP_RESPONSE_DIGEST_SUBJECT
Optional digest subject prefix. Defaults to RFP deadline digest.
RFP_RESPONSE_DIGEST_FROM
Optional Resend From address for the deadline digest. Slack or email is enough for digest delivery.
RFP_RESPONSE_DIGEST_TO
Optional comma-separated Resend recipients for the deadline digest.
RESEND_API_KEY
Optional Resend API key for the deadline digest email. This is a digest, not an RFP send.
@vercel/connect
Runtime dependency that mints Google, Microsoft, and Slack tokens through getTokenResponse and connectSlackCredentials. Slack posts with Eve callSlackApi after approval.

FAQ

How do I install rfp-response-drafter?

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.

Does it submit the response to a vendor portal?

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.

What happens if a claim has no file citation?

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.

When does Slack pause the run?

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.

Is the deadline digest required?

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.

Files this command writes

45

Core

35

Skills

1

Tools

9

npx shadcn@latest add @evex/rfp-response-drafter
evexBrowseAgentsLearnDocsLeaderboard
Sign In
Stars24

Related Agents

View all 22 by TommyBez →
productivity
208

Linear Operations Agent

An Eve agent for Linear operations across Linear, Slack, and scheduled runs.

TOTommyBezView →
productivity
8

Meeting Action Extractor

Extracts owners and deadlines from a meeting transcript and drafts Linear follow-ups for approval.

TOTommyBezView →
productivity
6

CRM Hygiene Agent

Scheduled CRM hygiene via Connect that proposes dedupe, normalize, and enrich batches for human approval before any write.

TOTommyBezView →
1 installs