CRM Heal β Autonomous CRM Cleanup Agent
π‘ Inspiration
CRM data decays faster than most teams realize. Contacts leave companies, emails go stale, and job titles change β yet sales and ops teams continue relying on outdated information. This leads to wasted outreach, lost opportunities, and significant inefficiency.
We wanted to answer a simple question:
What if your CRM could fix itself?
CRM Heal was built to demonstrate an autonomous agent that doesnβt just analyze data β it takes real-world action to clean, verify, and improve it.
π What it does
CRM Heal is an autonomous AI agent that:
- Detects duplicates and incomplete records
- Enriches missing data from the open web
- Verifies contacts using real phone calls
- Logs every decision for auditability
- Persists cleaned data into a database
All of this happens without manual intervention after upload.
ποΈ How we built it
The system is designed as an agentic pipeline:
π§ Reasoning Layer
- Rule-based + Akash-hosted models (optional)
- Determines:
- what data is missing
- when enrichment is needed
- when verification should be triggered
βοΈ Execution Layer
- TinyFish β autonomous web enrichment
- Vapi β outbound voice calls for verification
- Redis β queue, state, and real-time updates
π§Ύ Control Plane
- Guild.ai (CLI + compatible control plane)
- Tracks:
- agent sessions
- decisions
- audit trail
- agent sessions
ποΈ Persistence
- Ghost (ephemeral Postgres)
- Stores cleaned CRM records and verification stats
π Frontend
- React + SSE-based live dashboard
- Shows:
- real-time agent activity
- confidence scoring
- verification status
- real-time agent activity
π€ Autonomous behavior
Once a CSV is uploaded:
- The agent analyzes records for issues
- It enriches missing fields from the web
- If confidence is low, it triggers a phone call
- The call verifies real-world information
- Results are written back into the system
- A full audit trail is recorded
No manual steps required.
π Demo highlight
The key moment:
The agent identifies a low-confidence record β initiates a real phone call β verifies the contact β updates the CRM live.
This demonstrates true autonomy beyond the browser.
π§© Challenges we faced
π Webhook reliability
Connecting Vapi callbacks to a local environment required tunneling and fallback strategies. We implemented a polling fallback to ensure the system remains reliable even if webhooks fail.
π§ Reasoning without OpenAI
We didnβt rely on proprietary APIs. Instead, we built a deterministic reasoning engine with optional Akash-hosted models, ensuring the system works even without external dependencies.
π§Ύ Guild integration without API
Guild.ai doesnβt expose a runtime API, so we designed a compatible local control plane that mirrors session tracing and audit behavior.
β‘ Real-time UX
Ensuring smooth, live updates required careful use of Redis streams and SSE, with fallback polling for resilience.
π What we learned
- Autonomous agents need reliable fallbacks, not just ideal flows
- Real-world actions (like phone calls) introduce non-determinism
- Observability (audit logs) is just as important as intelligence
- The best demos are simple flows that feel magical
π Whatβs next
- Deploy as a production-ready service
- Add continuous monitoring of CRM health
- Integrate more real-world signals (LinkedIn, email validation, etc.)
- Expand into a fully autonomous data operations platform
π₯ Final takeaway
CRM Heal shows that:
AI agents shouldnβt just suggest changes β
they should act, verify, and improve data autonomously in the real world.
Built With
- fastapi
- python
Log in or sign up for Devpost to join the conversation.