The Request for Proposal (RFP) Agent is a sophisticated AI-powered system designed to transform how organizations respond to new business opportunities. Built on Google Cloud, this agent automates the entire proposal lifecycle, from intelligently analyzing complex RFP documents to generating accurate, compliant, and compelling responses. By connecting to internal knowledge sources and leveraging natural language, the RFP Agent drastically reduces manual effort and empowers sales and proposal teams to focus on strategic differentiation and winning bids.
Responding to RFPs presents several significant challenges for modern enterprises:
The system is currently focused on automating the core components of the RFP response workflow:
When deployed on Gemini Enterprise, the RFP Agent bridges the gap between drafting and action:
The strategic roadmap for the RFP Agent is centered on enhancing its strategic advisory capabilities and deepening its integration into the sales ecosystem:
This project is engineered as a secure, enterprise-grade, and highly observable AI system. The architecture prioritizes seamless knowledge retrieval, robust quality assurance, and scalability.
This guide walks administrators through the process of adding our RFP Agent directly from the Google Cloud Marketplace to your organization’s Gemini Enterprise environment.
Google Cloud provides a streamlined flow to add Marketplace agents directly into your Gemini Enterprise app.
Step 1: Navigate to Gemini Enterprise Log in to the Google Cloud console and go to the Gemini Enterprise page.
Step 2: Select Your App Click the name of the specific Gemini Enterprise app to which you want to add the RFP Agent.
Step 3: Add a Marketplace Agent In the left-hand navigation menu, click Agents. Then, click the + Add Agents button at the top of the screen.
Step 4: Choose the Agent Type In the “Choose an agent type” section, locate the Agents via Marketplace option and click Add.
Step 5: Search and Select Search for RFP Agent in the Marketplace search bar. Click on our agent in the results, then click Next.
Step 6: Authenticate and Finish Review the agent details and click Next. If prompted, enter the required authentication details (such as OAuth credentials for Google Drive) and click Finish.
By default, newly added agents need to be shared before your team can see them.
Step 1: Open User Permissions Still on the Agents page in the console, click the Display name of the RFP Agent you just added. Then, click the User permissions tab.
Step 2: Add Users Click Add user. In the dialog box, you can grant access to specific individuals (User), specific teams (Group/Workforce identity pool), or your entire organization (All users).
Step 3: Save Permissions Assign the appropriate role and click Save. The agent is now authorized and live for your selected users
This project provides a comprehensive overview of the software dependencies and infrastructure components that constitute the DGC Internal RFP Agent project.
### 📦 Software Components
The project is structured as a multi-service application with two primary Python-based services.
#### 1. RFP Agent Service (ai/services/rfp-agent)
Core engine for RFP analysis and agentic workflows.
| Dependency | Purpose |
|---|---|
google-adk[a2a,bigquery] |
Google Agent Development Kit with A2A and BigQuery support |
google-cloud-aiplatform |
Vertex AI SDK for Gemini and Agent Engines |
a2a-sdk |
Agent-to-Agent communication |
fastapi / uvicorn |
API framework and ASGI server |
pydantic |
Data validation and settings management |
structlog |
Structured logging for observability |
opentelemetry-api |
Distributed tracing and telemetry |
auth0-python / python-jose |
Authentication and JWT handling |
httpx |
Asynchronous HTTP client |
#### 2. DCR Service (ai/services/dcr)
Service for Data Clean Room (DCR) operations and state management.
| Dependency | Purpose |
|---|---|
google-cloud-firestore |
NoSQL database for session and state persistence |
google-cloud-pubsub |
Asynchronous messaging and event handling |
google-cloud-iam |
Programmatic IAM management |
google-auth |
GCP authentication and credential handling |
fastapi |
Lightweight API interface |
cryptography |
Secure data handling and encryption |
### ☁️ Infrastructure Components (GCP)
The infrastructure is managed via Terraform and deployed to Google Cloud Platform.
| Component | Resource Type / Module | Description |
|---|---|---|
| Compute | Cloud Run | Serverless execution for the RFP Agent and DCR services. |
| Database | Firestore | State persistence for DCR and session management. |
| Messaging | Pub/Sub | Event-driven architecture for service communication. |
| Storage | Cloud Storage | Buckets for document storage and RAG knowledge bases. |
| Security | Secret Manager | Secure storage for API keys, Auth0 secrets, and credentials. |
| IAM | Service Accounts | Dedicated identities for services following least-privilege. |
| CI/CD | Cloud Build | Automated build and deployment pipelines. |
| Registry | Artifact Registry | Container image storage for Cloud Run services. |
| Governance | Cloud Resource Manager | API enablement and project-level configurations. |
### 🛠️ Development & Tooling
uv (for fast, reproducible Python environments).ruff (respecting Google Python Style Guide).