How vitorpaimio/chatwoot-kanban works
Chatwoot Kanban embeds a pipeline, shared tasks, conversation context, history, and metrics in the team’s Chatwoot session. Users work through the browser UI and FastAPI; account-scoped data is stored locally, while a worker processes webhook deliveries and mirrors selected attributes to Chatwoot. The README also documents a CLI installer for deploying, activating, updating, and removing the integration. Links reflect documented behavior and sampled source; unsampled route and installer internals are represented conservatively.
Main entry points: main.py FastAPI app · database.py PostgreSQL · workspace.py Workspace API · metrics.py Metrics API
Components 19
Embedded interface
- Kanban UI
app/static/kanban.js - Metrics UI
app/static/metricas.js - Tasks UI
app/static/tarefas.js
API and domain
- FastAPI app
app/main.py - Workspace API
app/routers/workspace.py - Metrics API
app/routers/metrics.py - Provisioning API
app/routers/provisioning.py - Kanban services
app/services.py - Metrics service
app/metrics/service.py
State and integration
- Attribute provisioning
app/provisioning/attributes.py - PostgreSQL
app/database.py - SSE event hub
app/events.py - Sync worker
app/worker.py - Chatwoot client
app/chatwoot_client.py
Installation lifecycle
- Installer CLI
installer/__main__.py - Install lifecycle
installer/lifecycle.py
Other components
- Chatwoot team
- Chatwoot API
- Docker host
Connections 31
- Chatwoot team → Kanban UI: uses board
- Chatwoot team → Metrics UI: views metrics
- Chatwoot team → Tasks UI: manages tasks
- FastAPI app → Kanban UI: serves assets
- FastAPI app → Metrics UI: serves pages
- FastAPI app → Tasks UI: serves pages
- Kanban UI → Workspace API: calls API
- Metrics UI → Metrics API: calls API
- Tasks UI → Workspace API: calls API
- FastAPI app → Workspace API: mounts router
- FastAPI app → Metrics API: mounts router
- FastAPI app → Provisioning API: mounts router
- Workspace API → PostgreSQL: reads and writes
- Workspace API → Kanban services: delegates actions
- Kanban services → PostgreSQL: records changes
- Kanban services → SSE event hub: notifies changes
- Metrics API → Metrics service: requests metrics
- Metrics API → PostgreSQL: queries account data
- Metrics service → PostgreSQL: caches results
- Metrics service → Chatwoot client: fetches options
- Provisioning API → Attribute provisioning: provisions attributes
- Attribute provisioning → Chatwoot client: manages definitions
- SSE event hub → PostgreSQL: listens for events
- Sync worker → PostgreSQL: processes queue
- Sync worker → Kanban services: applies updates
- Sync worker → Chatwoot client: syncs remote state
- Chatwoot client → Chatwoot API: sends requests
- Chatwoot API → FastAPI app: posts webhooks
- Chatwoot team → Installer CLI: runs setup
- Installer CLI → Install lifecycle: selects operation
- Install lifecycle → Docker host: deploys integration