Skip to main content

Overview

The Channel Application connects your AI agents to external messaging platforms. Instead of users interacting through the Nadoo web interface, they communicate with your agent directly inside Slack, Discord, Telegram, KakaoTalk, Microsoft Teams, or WhatsApp. The Channel App handles platform-specific protocols, message formatting, and bidirectional communication — so your agent logic remains the same regardless of the delivery channel.

Architecture

The channel system uses an adapter pattern with four key components that work together to process incoming messages and deliver responses.

Message Flow

  1. Incoming webhook — A user sends a message on a messaging platform. The platform delivers a webhook payload to the Nadoo gateway.
  2. Adapter normalization — The channel adapter converts the platform-specific message format into a standard internal format.
  3. Session mapping — The session manager maps the platform user and channel to a Nadoo AI conversation session.
  4. Application processing — The message is routed to the configured Chat or Workflow application for processing.
  5. Response formatting — The application’s response is converted back into the platform’s native format (Slack blocks, Discord embeds, Telegram HTML, etc.).
  6. Delivery queue — The formatted response is queued for delivery with rate limiting, retry logic, and error handling.

Supported Channels

Slack

OAuth 2.0 authentication with event subscriptions, thread replies, and interactive components.

Discord

Bot token authentication with slash commands, rich embeds, and reaction handling.

Telegram

BotFather-based setup with automatic webhook registration and inline keyboards.

KakaoTalk

Skill-based integration for the Korean messaging platform with carousel cards and quick replies.

Microsoft Teams

Azure AD app registration with adaptive cards and messaging extensions.

WhatsApp

Meta Business API with template messages, media support, and read receipts.

Creating a Channel App

1

Create the Application

From the workspace dashboard, click New Application and select Channel as the type.
2

Select the Channel Type

Choose the messaging platform you want to connect to (e.g., Slack, Telegram).
3

Provide Platform Credentials

Enter the required credentials for your chosen platform:
PlatformRequired Credentials
SlackBot Token, Signing Secret
DiscordBot Token
TelegramBot Token (from BotFather)
KakaoTalkAPI Key, Skill URL
Microsoft TeamsApp ID, Client Secret, Tenant ID
WhatsAppAccess Token, Phone Number ID
4

Map to an Application

Select the Chat App or Workflow App that will process messages from this channel. The channel inherits all of the application’s capabilities — model configuration, knowledge bases, tools, and workflows.
5

Configure Webhook

Nadoo generates a unique webhook URL for your channel. Copy this URL and configure it in your messaging platform’s settings.
6

Test the Connection

Send a test message on the messaging platform. Verify that the agent responds correctly in the channel.

Channel Configuration

Each channel has platform-specific settings in addition to the standard application configuration.

General Settings

SettingDescription
Channel TypeThe messaging platform (Slack, Discord, Telegram, etc.)
ApplicationThe Chat or Workflow App that processes messages
Webhook URLThe auto-generated URL that receives incoming webhooks
ActiveToggle to enable or disable the channel

Platform-Specific Settings

SettingDescription
Bot TokenOAuth token starting with xoxb-
Signing SecretUsed to verify incoming webhook signatures
App IDYour Slack app’s unique identifier
Respond in ThreadWhether to reply in threads or the main channel
Allowed ChannelsRestrict the bot to specific channels (optional)

Session Management

The channel system automatically manages conversation sessions across platforms.
  • Session mapping — Each unique combination of platform user and channel/group maps to a persistent Nadoo AI session
  • Conversation continuity — Message history is maintained across interactions, enabling the agent to reference earlier context
  • Session timeout — Sessions can be configured to reset after a period of inactivity
  • Manual reset — Users can reset their session using a platform-specific command (e.g., /reset in Slack)

Resilience Features

The delivery queue ensures reliable message delivery with production-grade resilience:
FeatureDescription
Rate LimitingPer-channel rate limiters that respect each platform’s API quotas
Circuit BreakerStops sending to a failing platform after an error threshold, with automatic recovery
Retry LogicExponential backoff with jitter for transient failures (default: 3 retries)
Dead Letter QueueMessages that fail after all retries are stored for inspection and replay

Monitoring

The Channel App dashboard provides visibility into message flow and delivery:
  • Message volume — Incoming and outgoing message counts per channel
  • Response time — Average time from message receipt to response delivery
  • Delivery status — Success, retry, and failure counts
  • Active sessions — Number of active conversation sessions per channel
  • Error log — Detailed error messages for failed deliveries

Next Steps