A 4-agent enterprise pipeline that replaces 10+ hours of manual B2B sales research with a single company name.
Sales teams spend 2β3 hours per prospect researching companies, finding decision-makers, analyzing pain points, and crafting personalized outreach. This system does all of it β automatically, consistently, at scale.
Built as a capstone for the Google AI Agents Intensive (Nov 2025), delivering 6 out of 3 required features β all 3 core + 3 bonus.
| Interface | URL |
|---|---|
| π Production Dashboard | sales-intelligence-agent.vercel.app |
| πΊοΈ Agent Orchestration View | /dashboard/workflow |
| π Terminal Log Viewer | /dashboard/logs |
| π Intelligence Overview | /dashboard |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β USER INPUT β
β "Company Name: Acme Corp" β
βββββββββββββββββββββββββββββ¦βββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORCHESTRATOR AGENT β
β Coordinates all agents β Manages memory & state β
β Handles errors β Structured logging β
βββββββββββββββββββββββββββββ¦βββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββ©βββββββββββββββββββ
β SEQUENTIAL AGENT FLOW β
βββββββββββββββββββ¦βββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β 1. RESEARCH AGENT β
β Tools: Google Search API β
β Output: Company overview + news β
ββββββββββββββββββββ¬βββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β 2. ANALYSIS AGENT β
β Tools: Gemini 2.0 Flash β
β Output: Challenges + opportunities β
ββββββββββββββββββββ¬βββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β 3. CONTACT AGENT β
β Tools: Search + custom logic β
β Output: Prioritized contact list β
ββββββββββββββββββββ¬βββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β 4. OUTREACH AGENT β
β Tools: Gemini 2.0 Flash β
β Output: Personalized emails β
ββββββββββββββββββββ¬βββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β FINAL OUTPUT β
β π Complete Intelligence Report β
β π₯ Decision maker contacts β
β π§ Ready-to-send email drafts β
βββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CROSS-CUTTING LAYER β
ββββββββββββββββ¬βββββββββββββββ¬βββββββββββββββ¬ββββββββββββ€
β Memory Bank βSession State βObservability β Error β
β JSON cache β Context acrossβ Latency + β Handling β
β across runs β executions β token loggingβ Recovery β
ββββββββββββββββ΄βββββββββββββββ΄βββββββββββββββ΄ββββββββββββ
| # | Feature | Status | Details |
|---|---|---|---|
| 1 | Multi-Agent System | β Core | 4 specialized agents with class-based abstractions |
| 2 | Tools Integration | β Core | Google Search API + custom business logic tools |
| 3 | Long-Term Memory | β Core | JSON memory bank persists research across sessions |
| 4 | Session & State Management | β Bonus | SessionState maintains context across agent executions |
| 5 | Observability | β Bonus | Per-agent logging: latency, error level, token usage |
| 6 | Gemini Integration | β Bonus | Analysis + Outreach agents powered by Gemini 2.0 Flash |
Result: 6/3 required features β all 3 core + 3 bonus
Built with Next.js 15 App Router, React Flow, and Framer Motion β deployed to Vercel.
- 4 live metrics cards: companies researched, contacts found, emails generated, cache hit rate
- Agent execution timeline with animated status chips per agent
- Company intelligence summary panel
- Memory bank visualization with cached entries + timestamps
- Outreach email preview with per-contact tabs
- Full React Flow agent graph with animated data-flow edges
- Per-node status indicators:
idle β running β complete β error - Animated bezier connections showing pipeline execution state
- Custom node components matching the agent console design system
- Dark monospace terminal UI
- Columns: timestamp β agent β level β message
- Auto-scroll during live execution
- Python 3.8+
- Node.js 18+ (for frontend)
- Google AI Studio API key β Get one here
# 1. Clone
git clone https://github.com/Harshithk951/sales-intelligence-agent
cd sales-intelligence-agent
# 2. Python environment
python3 -m venv venv
source venv/bin/activate # Mac/Linux
# venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure
cp .env.example .env
# Add your GOOGLE_API_KEY to .env
# 5. Run
python main.pycd frontend
npm install
cp .env.example .env.local
# Set NEXT_PUBLIC_API_URL=http://localhost:8000
npm run dev
# β http://localhost:3000reports/ β JSON intelligence reports per company
logs/ β agent_YYYYMMDD.log with per-agent metrics
memory_bank.json β Research cache (persists across runs)
sales-intelligence-agent/
β
βββ agents/ # Core agent implementations
β βββ research_agent.py # Google Search β company overview
β βββ analysis_agent.py # Gemini β challenges & opportunities
β βββ contact_agent.py # Search + logic β decision makers
β βββ outreach_agent.py # Gemini β personalized emails
β
βββ tools/
β βββ search_tool.py # Google Search API wrapper
β
βββ utils/
β βββ memory.py # Memory bank + session state
β βββ logger.py # Per-agent observability logging
β
βββ frontend/ # Next.js 15 production dashboard
β βββ src/app/
β β βββ page.tsx # Landing page
β β βββ dashboard/ # Dashboard + workflow + logs
β βββ src/components/
β βββ workflow/ # React Flow agent graph
β
βββ main.py # Orchestrator entry point
βββ requirements.txt
βββ .env.example
# .env
# Required
GOOGLE_API_KEY=your_api_key_here
# Optional
MODEL_NAME=gemini-2.0-flash-exp # or gemini-pro
MAX_RETRIES=3
TIMEOUT_SECONDS=30Change number of contacts generated:
# agents/outreach_agent.py, line 45
for contact in contacts[:3]: # β adjust hereπ SALES INTELLIGENCE REPORT: Acme Corporation
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
π’ Company: Acme Corporation | Technology/SaaS | 100-500 employees
π― Challenges Identified (3):
1. Scaling infrastructure under rapid growth
2. Managing technical debt accumulation
3. Integrating disparate internal systems
π₯ Decision Makers Found (3):
β’ John Smith β Chief Technology Officer
β’ Sarah Johnson β VP of Engineering
β’ Michael Chen β Director of Product
π§ Outreach Emails Generated: 3
π Report saved β reports/acme_corporation_20251115.json
β‘ Total execution time: 47.3s
πΎ Research cached β memory_bank.json
# Test with known companies
python main.py
# Enter: Salesforce
# Verify memory caching (2nd run should be instant)
python main.py
# Enter: Salesforce
# β "Found cached research for Salesforce (saved 38.2s)"| Decision | Choice | Reason |
|---|---|---|
| Agent topology | Sequential | Each agent requires previous agent's output as context |
| Memory layer | JSON file | Portable, zero-dependency, sufficient for demo scale |
| LLM | Gemini 2.0 Flash | Fast, cost-effective, strong at analysis + generation |
| Frontend | Next.js 15 App Router | Production deployment, React Flow support, Vercel-native |
| Observability | File + console logging | Dual output β human-readable in terminal, parseable for dashboard |
| API layer | Stubbed with hot-swap interface | Decouples frontend from backend; single env var to connect real Python backend |
- Wire live Python backend to Next.js dashboard via FastAPI
- Real Google Custom Search API integration (replace mock)
- LinkedIn API for verified contact data
- Async parallel agent execution for sub-10s pipeline
- Email sending via SendGrid/Gmail API
- Multi-company batch processing mode
- Deploy backend to Google Cloud Run
- Vector store integration (ChromaDB) for semantic memory
Harshith Kumar Mannepalli
- Google AI & Kaggle β AI Agents Intensive Course (Nov 2025)
- Google ADK team β Multi-agent orchestration framework