Product Role
Main Workflows
| Workflow | Where it happens |
|---|---|
| Create and edit bots | Bot list, create bot wizard, bot detail page |
| Test call quality | Bot detail test call and call detail review |
| Create campaigns | Campaign wizard, CSV upload, number pool, dialler config, review |
| Monitor campaigns | Campaign list, campaign detail, attempt reports |
| Review calls | Call list, call detail, transcript, recording, events, analysis, QC |
| Manage carriers | Carrier list, carrier create/detail, Exotel detail |
| Manage fleet | Fleet page and system settings |
| Configure providers | Settings page for API keys, storage, fleet, Agent Desk, Agent Assist |
| Build CRM integrations | API Keys page and bot Integration tab |
| Manage knowledge bases | Knowledge Bases pages and bot KB attachment |
| Operate human handoff | Agent Console, Agent Desk metrics, supervisor views |
Route Map
The route map lives in the Console app’s top-level router.| Route | Surface |
|---|---|
/login | Login |
/dashboard | Admin overview |
/dashboard/bots | Bot list |
/dashboard/bots/create | Bot creation wizard |
/dashboard/bots/:id | Bot detail, editing, integration guide |
/dashboard/knowledge-bases | Knowledge-base list |
/dashboard/calls | Call logs |
/dashboard/campaigns | Campaign list |
/dashboard/campaigns/new | Campaign creation wizard |
/dashboard/carriers | Carrier management |
/dashboard/fleet | Fleet health/capacity view |
/dashboard/api-keys | CRM API key management |
/dashboard/settings | System settings |
/dashboard/users | User management |
/agent-console | Agent Desk queue for agents/supervisors |
ADK feature flag and role-based access.
Important Modules
| File | Why it matters |
|---|---|
src/App.tsx | Application routes, lazy-loaded pages, role-based layouts |
src/api/client.ts | Shared Axios client, VITE_API_URL, JWT header injection, 401 handling |
src/layouts/DashboardLayout.tsx | Admin dashboard shell |
src/layouts/AgentLayout.tsx | Agent console shell |
src/pages/BotCreate.tsx | Bot creation wizard |
src/pages/BotDetail.tsx | Bot detail, edit modes, integration tab |
src/hooks/useBotForm.ts | Bot form state, defaults, validation, serialization |
src/pages/CampaignCreate.tsx | Campaign creation/edit wizard |
src/pages/CampaignDetail.tsx | Campaign monitoring and attempt review |
src/pages/CallList.tsx / src/pages/CallDetail.tsx | Call search, transcript, recording, metrics, events |
src/pages/Settings.tsx | Provider keys, storage, fleet, Agent Desk, platform settings |
src/pages/ApiKeys.tsx | CRM API key lifecycle |
src/pages/KnowledgeBases.tsx | KB management |
Branding
CXB Console is white-label at build time. Client-specific values live underbrands/<name>/ and are copied into the build by scripts/build.sh <brand>.
| Brand input | Purpose |
|---|---|
.env | VITE_* config such as API URL, brand name, token key, theme colors |
logo.png | Header/app logo |
favicon.png | Browser favicon |
| CSS variables | Injected into dist/index.html during build |
src/. That is how brand leakage happens.
Ops Usage Pattern
For production bot and campaign work, ops should follow this order:- Configure provider keys, fleet URLs, storage, carrier numbers, and integration settings.
- Create or update the bot.
- Run test calls and review transcript, recording, events, latency, analysis, and QC.
- Create the campaign only after the bot passes test calls.
- Start with conservative concurrency, then raise it after observing fleet, SIP, and provider behavior.
- Monitor attempts, retries, failed calls, post-call pushes, and recording playback.
Engineering Rules
- CXB Console should not invent state that CXB API does not store or return.
- Keep client-specific behavior in brand config or server-side settings, not shared React code.
- Keep bot/campaign forms explicit and reviewable; ops users need to see what will affect real calls.
- Treat call detail as the source for debugging: transcript, event timeline, recording, provider latency, tools, RAG, QC, and CRM push.
- Build and lint before deployment; existing legacy lint issues should be separated from new changes.
Related Docs
Create a bot
Ops guide for building production bots.
Create a campaign
Campaign setup and review checklist.
Test calls
What to verify before campaign launch.
Repos and boundaries
Where CXB Console ends and CXB API begins.