AGENT 47 · GOOGLE ADK · GEMINI

Your dead lead database,
turned into a weekly revenue machine

SDR Agent researches your past customers live on the web, verifies every claim against its source, matches each signal to a service you sell, and delivers pitch-ready opportunities to Slack. Autonomously, every Monday.

How a scan works

Drop an Excel file of old customers into the chat. Six stages later, verified opportunities with real evidence are in Slack.

SDR AGENT · HOW A SCAN WORKS 📄 Your leads Excel / CSV / chat 🔒 Verify identity wrong business = never pitched 🌐 Live web research Gemini + Google Search Verified signals real sources, fresh only 💰 Offer match your services 💬 Slack cards draft + send 🔍 scan #9 started · 8 leads 🚀 SkinSpirit — expansion signal found ✅ 📊 done: 2 verified signals · cards delivered to Slack

The trust layer

An SDR agent's worst failure is not missing a signal. It is confidently pitching a wrong one. Three hard gates make that structurally impossible.

GuaranteeMechanismFailure it prevents
Right businessEntity resolution: the lead's website must match its name and location before anything else runsPitching based on a same-named stranger's news
Real, fresh factsEvery claim's source is fetched and corroborated, with a 12-month recency check. Citations come from Google Search grounding metadata, never from generated textCongratulating someone on stale or hallucinated news
Never repeatsA change ledger plus per-lead cooldowns: rescans only surface what is newSpamming the same signal twice

The team behind one chat

The founder talks to one agent. Behind it, focused capabilities cover the whole revenue loop: setup, research, client memory, prioritization, and approval-gated action.

Onboarding · hello to ready in minutes

ONBOARDING · HELLO → READY IN MINUTES 👋 "What do you sell?" 💰 Offers saved 📄 Drop your Excel file "240 leads ready — scan now?" no setup screens · no formats to learn · one question at a time

Account memory · never forgets a client

ACCOUNT MANAGER · A MEMORY THAT NEVER FORGETS A CLIENT 🤝 BrightSmile Dental • launched receptionist at 2 locations • Plano front desk resisting rollout • renewal conversation due in March You: "What's the state with BrightSmile?" Live at 2 sites, COO happy. Watch: Plano adoption. ⏰ Renewal due March — prep the upsell case. dump notes after every call — get instant briefs before the next one

Intelligence · ranks what matters each week

INTELLIGENCE · WATCHES THE WHOLE BOOK, RANKS WHAT MATTERS 📡 🟢 expansion — upsell moment 🔴 risk — silent client 🟠 health — usage trending up 📊 Weekly Brief Top of inbox: 3 items need you ranked by severity · every client evidence behind every line spot the upsell before they ask — catch the churn before it happens

Execution · acts only with your yes

EXECUTION · ACTS IN THE REAL WORLD — ONLY WITH YOUR YES ✉️ Draft prepared 🚧 Your approval "approve, edit, or cancel?" 👍 📧 📅 💬 Sent + logged Gmail · Calendar · Slack 500+ apps via Composio MCP · nothing ever sends without explicit approval · full audit trail

Built simple on purpose

📄 Files just work

Drop the Excel your CRM exports, or a services PDF. Headers and offers are understood automatically. Nothing to format, nothing to learn.

📡 Watch it work

Scans stream live progress into Slack while they run, and finish with ranked cards: severity, confidence, source link, matched offer, draft.

🤖 Autonomous Mondays

A scheduled scan runs weekly on the server. New verified opportunities appear in Slack with nobody in the chat.

🔒 Human in the loop

Outreach is drafted, never sent. Real-world actions (Gmail, Calendar, Slack via Composio MCP) need explicit approval, with an audit trail.

Run it yourself

The hackathon has wrapped, so the hosted instance is retired. The whole project is open source and takes minutes to bring up.

Fork github.com/Harddiikk/agent47, add a Gemini API key and a Slack webhook to .env, then run adk web locally or deploy the included docker-compose.prod.yml. Pick sdr_agent from the dropdown, describe what you sell (or upload a services PDF), drop an Excel/CSV of leads, and say "scan my leads". Research takes a couple of minutes and reports back with verified, sourced opportunities.

Stack

Google ADK 2.0Gemini 3.5 Flash Google Search groundingMCP · Composio Tool Router SQLite change ledgerSlack Block Kit Docker + Caddy · auto-TLS190+ offline tests