Cortask

Channels

The Channels page (/channels) lets you connect external messaging platforms so the AI agent can receive and respond to messages outside the web UI.

Channel Grid

Three channels are displayed as cards in a responsive grid:

  • Telegram -- connect a Telegram bot.
  • WhatsApp -- connect via WhatsApp Web QR code authentication.
  • Discord -- connect a Discord bot.

Each card shows the channel logo, name, description, and a status badge:

  • Running (green) -- the channel is active and processing messages.
  • Stopped -- the channel is configured but not running.
  • Not configured (yellow) -- credentials have not been provided.

Running channels display a green glow effect at the bottom of their card.

Channel Detail Dialog

Clicking a channel card opens a modal with configuration options specific to that channel.

Telegram

  • Bot Token -- enter the bot token obtained from BotFather. A green dot indicates the token is already stored; a yellow dot means it is missing.
  • Save credentials -- stores the token in the encrypted credential store.
  • Start/Stop -- toggle the bot on or off. The Start button is disabled until the token is configured.
  • Status badge -- shows Running or Stopped.

Discord

  • Bot Token -- enter the Discord bot token from the Developer Portal. Same credential indicator and save flow as Telegram.
  • Start/Stop -- same toggle behavior.

WhatsApp

WhatsApp uses QR code authentication instead of an API token:

  1. Click Generate QR Code to request a QR image from the server.
  2. A QR code image appears in the dialog. Scan it with the WhatsApp app on your phone.
  3. A pulsing yellow "Waiting for scan..." indicator shows while the system waits.
  4. Once the phone confirms the link, the status automatically updates to "Connected" via WebSocket.
  5. A Logout button appears when authenticated (and the channel is stopped).

Trusted Contacts

Below the QR section, a Trusted Contacts panel controls who can interact with the WhatsApp bot:

  • Empty list -- all contacts are allowed.
  • Add a contact -- enter a phone number (e.g., 491234567890), an optional name, and a permission level:
    • Read -- can receive messages but cannot trigger actions.
    • Write -- can send messages and trigger agent actions.
    • Admin -- full access.
  • Remove -- click the X button next to a contact.
  • Change permission -- use the dropdown on each contact row.

Real-Time Status

Channel status updates are pushed over WebSocket. When a channel starts, stops, or authenticates, the UI updates immediately without requiring a page refresh.