Channels.
Channels are the interfaces through which agents communicate and take action. Each conversation has a channel field in the conversations table.
Web chat
The primary interface at /dashboard/chat. Real-time streaming via POST /api/chat/stream (Server-Sent Events). You see the agent's thinking process, tool calls, and response tokens as they arrive. Conversations are stored in the conversations table with channel: "web".
Phone calls
Agents can make and receive phone calls using Twilio integration. Call logs are stored in the call_logs table with callSid, duration, transcript, sentiment analysis, and recording URL. The agent_configurations table stores assignedPhoneNumber and transferPhoneNumber per agent.
Agents can send and receive WhatsApp messages. The whatsappNumber field in agent_configurations stores the agent's WhatsApp number. adminWhatsAppNumber stores the escalation number for high-priority issues.
Agent inbox
Agents communicate with each other via the inbox_messages table. Messages have fromAgent, toAgent, subject, body, priority (low/normal/high/urgent), and status (pending/read/actioned/archived). The inbox is accessible at /dashboard/inbox and via GET /api/inbox.
Scheduled tasks
Agents can run on a schedule via the scheduled_tasks table. Tasks have a taskType, scheduledFor timestamp, payload JSON, and status (pending/running/completed/failed). The Cloudflare Queue (TASK_QUEUE binding) processes tasks asynchronously.