How specteriusx/chatwoot works
Chatwoot is a customer-support platform centered on consolidating customer messages into an agent inbox and replying across channels. The dashboard API and Rails controller paths identify the main interaction surfaces; the README documents additional capabilities including Captain, Help Center, campaigns, integrations, and analytics. Edges describe documented product flows and named endpoint relationships; sampled source is limited, so internal persistence and some subsystem wiring are intentionally omitted.
Main entry points: api Dashboard API · App.vue Agent dashboard · conversations/messages_controller.rb Message endpoints · widget/messages_controller.rb Web chat endpoints
Components 21
Omnichannel inbox
- Agent dashboard
app/javascript/dashboard/App.vue - Dashboard API
app/javascript/dashboard/api - Conversation endpoints
app/controllers/api/v1/accounts/conversations_controller.rb - Message endpoints
app/controllers/api/v1/accounts/conversations/messages_controller.rb - Web chat endpoints
app/controllers/api/v1/widget/messages_controller.rb - Channel webhooks
app/controllers/webhooks - Channel message builders
app/builders/messages - Realtime updates
app/channels/room_channel.rb
Customer engagement
- Contact management
app/controllers/api/v1/accounts/contacts_controller.rb - Campaign management
app/controllers/api/v1/accounts/campaigns_controller.rb - Help Center portal
app/controllers/public/api/v1/portals_controller.rb
AI and insights
- Captain endpoints
app/controllers/api/v1/accounts/captain - Captain language services
enterprise/app/services/captain/llm/translate_query_service.rb - Analytics endpoints
app/controllers/api/v2/accounts/reports_controller.rb - Report builders
app/builders/v2/reports
Platform integrations
- Integration endpoints
app/controllers/api/v1/accounts/integrations - Integration webhooks
app/controllers/api/v1/integrations/webhooks_controller.rb - Messaging channels
- LLM provider
Other components
- Customer
- Support agent
Connections 21
- Customer → Web chat endpoints: starts chat
- Messaging channels → Channel webhooks: deliver messages
- Channel webhooks → Channel message builders: build messages
- Support agent → Agent dashboard: works conversations
- Agent dashboard → Dashboard API: requests data
- Dashboard API → Conversation endpoints: calls endpoints
- Dashboard API → Message endpoints: sends replies
- Dashboard API → Contact management: manages contacts
- Dashboard API → Campaign management: manages campaigns
- Dashboard API → Analytics endpoints: requests reports
- Dashboard API → Integration endpoints: configures apps
- Web chat endpoints → Customer: serves chat
- Message endpoints → Messaging channels: sends replies
- Realtime updates → Agent dashboard: updates inbox
- Customer → Help Center portal: seeks answers
- Dashboard API → Captain endpoints: uses AI tools
- Captain endpoints → Captain language services: translates queries
- Captain language services → LLM provider: requests translation
- Analytics endpoints → Report builders: builds reports
- Messaging channels → Integration webhooks: send events
- Integration endpoints → Messaging channels: connects channels