What it is
EverAgent is a Taskmaster agent for real estate follow-up. When a new homebuyer hits the CRM, the agent qualifies them, scores hot / warm / cold, writes notes back, and texts the human only if they are hot. If nobody answers, it retries at 2 hours, 24 hours, and 72 hours.
I built this because new listing leads go cold unless someone calls them fast. I am a realtor. I cannot sit on every inbound lead. I needed a workflow that actually does the follow-up, not a chatbot that waits for me to prompt it.
How it works
A NEW_LEAD event arrives (name, phone, city, property). EverAgent:
- Ingests the lead
- Qualifies one question at a time (okay to talk, intent, timeline, existing agent, financing, housing)
- Saves what it learned
- Scores with fixed rules in code, not a model guess
- Writes a CRM note and tags to Firestore
- Texts me only if the score is hot
- Schedules a retry if there is no answer
Window shoppers score warm. Opt-outs and wrong numbers score cold. Those do not ping me.
How I built it
- Gemini 3.5 Flash for the conversation
- Google ADK for the agent and tools
- Cloud Run for the hosted demo (
*.run.app) - Firestore as the CRM store
- Vertex AI (global) in production so it is not stuck on the free Gemini quota
Locally it can run with adk web and a JSON file. On Google Cloud, leads persist in Firestore.
What I learned
A Taskmaster agent is the tools, not the chat. The product is ingest_lead → save_qualification → score_lead → write_crm → notify_human_agent. If those fire, the chore is done. Scoring had to live in Python so "hot" means the same thing every time.
Challenges
The AI Studio free tier capped out at 20 Gemini 3.5 Flash calls per day during the first Cloud demo. I moved the live service to Vertex on a billed Google Cloud project. Then gemini-3.5-flash 404'd on us-central1 — that model is on the global Vertex endpoint, not a single region. After setting GOOGLE_CLOUD_LOCATION=global, the hot-lead path completed: Maria scored hot, Firestore updated, and the human SMS went out.
Try it
Live: https://everagent-245495198618.us-central1.run.app
Repo: https://github.com/stawakal/everagent
Pick everagent, paste the Maria NEW_LEAD from the README, and answer as an active buyer relocating in about 3 months with no agent. You should see score hot and notify_human_agent. Window shopping should score warm and skip the SMS.
Built With
- cloud-run
- firestore
- gemini
- google-adk
- google-cloud
- python
- vertex-ai
Log in or sign up for Devpost to join the conversation.