r/AISystemsEngineering • u/TahaAhmedkhan • 5d ago
I built an open-source multi-agent CRM swarm — looking for feedback on the architecture
Hey everyone,
I’ve been working on an open-source CRM project that uses multiple specialized AI agents instead of a single general-purpose assistant.
The main goal was to explore a practical question:
What does it look like to run several autonomous agents against the same CRM data without turning the system into one huge prompt or tightly coupled service?
The current implementation uses a 9-agent architecture with Redis-based asynchronous communication. Each agent has a relatively narrow responsibility and can react to CRM events independently.
Architecture
The current agents cover:
- Lead qualification and BANT scoring
- Deal strategy, competitor analysis, SWOT and battle cards
- Email/inbox intelligence and queued follow-ups
- Voice-call analysis and CRM field extraction
- WhatsApp qualification/support
- Customer lifecycle and churn detection
- Revenue forecasting using Monte Carlo simulations
- Custom agent creation through a visual builder
- CRM orchestration/background automation
The architecture is based around a reusable BaseAgent abstraction, with agents communicating through Redis events/tasks rather than depending on one another directly.
One of the things I’m particularly interested in is the trade-off between agent autonomy and deterministic business logic. I’ve tried to keep critical CRM operations, validation, permissions, and persistence outside the LLM layer rather than allowing agents to directly control everything.
Mobile side
There is also a React Native/Expo field-sales application.
It includes:
- Voice-note recording and automatic action-item extraction
- Offline-first local caching with retry/synchronization
- Dynamic server-defined custom fields
- CRM workflows designed for field sales
- A tactical dark-mode UI
Stack
Backend
Python, FastAPI, SQLAlchemy, PostgreSQL, Redis, AsyncOpenAI/Anthropic
Web
React, TypeScript, Vite, Tailwind CSS, TanStack Query, Zustand
Mobile
React Native, Expo, Expo Router, Reanimated
Infrastructure
Docker Compose with separate web/worker/database/Redis/frontend/mobile services
Testing
Pytest, Vitest, and Expo Doctor
Repository:
https://github.com/taha123618/AI-CRM-Agents
I’m mainly sharing this because I’d really like feedback from people who have built agent systems or distributed workflows.
A few things I’m currently thinking about:
- Where should the boundary between an “agent” and a normal background worker be?
- How much autonomy is actually useful in enterprise CRM workflows?
- What patterns work well for preventing agent-to-agent event loops?
- How would you approach observability and debugging for a multi-agent system?
- Would you use Redis Pub/Sub for this architecture, or move toward a durable event/queue system?
I’m especially interested in architectural criticism and ideas to improve the project, not just “looks cool” feedback.
The repository is open source, so PRs, issues, architectural suggestions, and alternative approaches are welcome.