How kurmamadhav/wacrm works
wacrm is a self-hostable WhatsApp CRM. Agents work shared conversations and contacts, then manage deals, send template-based broadcasts, and automate follow-ups; inbound WhatsApp events enter through a webhook that updates CRM records and dispatches automation. The product also provides AI assistance, reporting, team/account management, a scoped REST API, and an MCP server. The graph reflects README capabilities and the supplied source excerpts; unsampled wiring is omitted where it cannot be established.
Main entry points: server.ts Supabase data · automations/engine.ts No-code automations · route.ts Inbound webhook · flows/engine.ts Conversation flows
Components 17
Customer engagement
- Shared inbox
src/app/(dashboard)/inbox/page.tsx - Inbound webhook
src/app/api/whatsapp/webhook/route.ts - WhatsApp API
src/lib/whatsapp/meta-api.ts - Broadcasts
src/app/api/whatsapp/broadcast/route.ts
CRM management
- Contacts and tags
src/app/(dashboard)/contacts/page.tsx - Sales pipelines
src/app/(dashboard)/pipelines/page.tsx - Reporting dashboard
src/lib/dashboard/queries.ts
Automation and AI
- No-code automations
src/lib/automations/engine.ts - Conversation flows
src/lib/flows/engine.ts - AI assistant
src/lib/ai/auto-reply.ts - AI knowledge base
src/lib/ai/knowledge.ts
Access and platform
- Public REST API
src/app/api/v1/contacts/route.ts - MCP server
mcp-server/src/index.ts - Team and account
src/lib/auth/account.ts - Supabase data
src/lib/supabase/server.ts
Other components
- CRM agents
- WhatsApp Business
Connections 28
- CRM agents → Shared inbox: work conversations
- WhatsApp Business → Inbound webhook: send events
- Inbound webhook → Supabase data: write inbound data
- Inbound webhook → Contacts and tags: resolve contacts
- Inbound webhook → No-code automations: dispatch triggers
- Inbound webhook → Conversation flows: dispatch inbound
- Shared inbox → Supabase data: read and update
- Shared inbox → WhatsApp API: send messages
- Broadcasts → Supabase data: read recipients
- Broadcasts → WhatsApp API: send campaigns
- Contacts and tags → Supabase data: manage records
- Sales pipelines → Supabase data: manage deals
- Reporting dashboard → Supabase data: query metrics
- No-code automations → Supabase data: load and log runs
- No-code automations → WhatsApp API: send messages
- No-code automations → Contacts and tags: add tags
- No-code automations → WhatsApp Business: post webhook
- Conversation flows → Supabase data: load and update runs
- Conversation flows → WhatsApp API: send flow messages
- Conversation flows → Contacts and tags: dispatch tag updates
- AI assistant → AI knowledge base: retrieve context
- Public REST API → Supabase data: read and write
- MCP server → Public REST API: access CRM API
- Team and account → Supabase data: manage membership
- CRM agents → Broadcasts: create campaigns
- CRM agents → Sales pipelines: manage deals
- CRM agents → No-code automations: configure rules
- CRM agents → AI assistant: draft replies