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

πŸ—„οΈ 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

πŸ€– Autonomous behavior

Once a CSV is uploaded:

  1. The agent analyzes records for issues
  2. It enriches missing fields from the web
  3. If confidence is low, it triggers a phone call
  4. The call verifies real-world information
  5. Results are written back into the system
  6. 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

Share this project:

Updates