How nocobase/nococrm works
NocoCRM is a self-hosted B2B sales CRM built on NocoBase. Sales users work leads, companies, contacts, opportunities, tasks, and approvals through the client; server-side CRM services enforce record permissions and persist changes. Its distinctive workflow is that background agents use record context and business guidance to propose follow-ups or approval recommendations in the inbox, leaving changes for a person to accept. Mail and WhatsApp add conversation channels; capture, company research, reports, and configurable agent skills are separate capabilities. The graph follows README workflows and indexed imports; unsampled route and integration wiring is not asserted.
Main entry points: pages CRM workspace · service.ts CRM service · engine.ts Plan engine · work-agents.ts Background agents
Components 22
CRM experience
- CRM workspace
client/pages - Client routes
client/routes.ts - Agent inbox
client/pages/inbox.tsx
Sales domain
- CRM routes
server/routes/crm.ts - CRM service
server/providers/crm/service.ts - CRM schema
server/providers/crm/schema.ts - CRM database
server/providers/crm/service.ts - Smart capture
server/providers/crm/lead-capture.ts - Company research
server/providers/crm/company-profile.ts - Sales reports
server/providers/crm/reports.ts
Agent operations
- Sales Expert
server/providers/crm-agents/assistant.ts - Background agents
server/providers/crm-agents/work-agents.ts - Plan engine
server/providers/crm/plans/engine.ts - Agent guidance
server/providers/crm/guidance.ts - AI model services
server/providers/crm-agents/model-services.ts
Communications
- Email channel
server/providers/crm/demo-mail.ts - WhatsApp channel
server/providers/crm/whatsapp/service.ts
Access and platform
- Record authorization
server/providers/crm/authorization.ts
Other components
- Sales user
- AI model provider
- Mail providers
- WhatsApp Business
Connections 24
- Sales user → Client routes: opens CRM
client/routes.ts - Client routes → CRM workspace: routes pages
client/routes.ts - Sales user → Agent inbox: reviews proposals
- CRM workspace → CRM routes: uses CRM
- CRM routes → CRM service: dispatches requests
- CRM service → CRM database: reads and writes
server/providers/crm/service.ts - CRM service → CRM schema: uses definitions
server/providers/crm/service.ts - CRM service → Record authorization: checks access
server/providers/crm/service.ts - CRM workspace → Smart capture: submits material
- Smart capture → CRM database: creates reviewed records
- Background agents → CRM database: reads record context
- Background agents → Agent guidance: follows guidance
- Background agents → Plan engine: proposes next steps
- Plan engine → CRM database: stores proposed changes
server/providers/crm/plans/engine.ts - Plan engine → Agent inbox: queues proposals
- Agent inbox → Plan engine: accepts decisions
- Sales Expert → AI model services: uses models
server/providers/crm-agents/assistant.ts - AI model services → AI model provider: connects optionally
- CRM workspace → Email channel: manages conversations
- CRM workspace → WhatsApp channel: manages conversations
- Email channel → Mail providers: sends and receives
- WhatsApp channel → WhatsApp Business: exchanges messages
- Company research → AI model provider: researches companies
- CRM workspace → Sales reports: views reporting