Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.praison.ai/llms.txt

Use this file to discover all available pages before exploring further.

Deploy multiple specialized bots on the same platform with unique tokens and role-specific routing.

Quick Start

1

Run onboard wizard

Start the wizard and choose your platform:
praisonai onboard
Choose telegram for your first platform, then when prompted “Add another bot channel?” answer Yes and enter roles like cfo, ops, content.
2

Configure tokens

The wizard generates unique environment variables for each channel:
# Tokens are saved to ~/.praisonai/.env automatically
TELEGRAM_CFO_BOT_TOKEN=123456789:ABC...
TELEGRAM_OPS_BOT_TOKEN=987654321:DEF...
TELEGRAM_CONTENT_BOT_TOKEN=456789123:GHI...
TELEGRAM_ALLOWED_USERS=123456789,987654321
3

Start the gateway

Launch all bots simultaneously:
praisonai gateway start
All configured bots will connect and route to their specialized agents.

How It Works

Multi-channel setup routes each bot to its specialized agent based on the channel configuration.

Environment Variable Convention

Follow this exact naming pattern for multiple bots on the same platform:
Channel keyEnvironment VariableBot Purpose
telegram_cfoTELEGRAM_CFO_BOT_TOKENCFO-related tasks
telegram_opsTELEGRAM_OPS_BOT_TOKENOperations tasks
telegram_contentTELEGRAM_CONTENT_BOT_TOKENContent creation
telegram_supportTELEGRAM_SUPPORT_BOT_TOKENCustomer support
Pattern: <PLATFORM>_<ROLE>_BOT_TOKEN (uppercase, role separated by underscore).

Example Configuration

This bot.yaml shows a complete multi-channel workforce setup:
gateway:
  host: "127.0.0.1"
  port: 8765

agents:
  cfo:
    instructions: "You are a CFO agent. Help with financial analysis, budget planning, and cost optimization."
    model: gpt-4o-mini
    memory: false
  ops:
    instructions: "You are an ops agent. Help with system monitoring, deployment, and infrastructure."
    model: gpt-4o-mini
    memory: false
  content:
    instructions: "You are a content agent. Help with writing, editing, and content strategy."
    model: gpt-4o-mini
    memory: false

channels:
  telegram_cfo:
    platform: telegram
    token: ${TELEGRAM_CFO_BOT_TOKEN}
    group_policy: mention_only
    allowed_users: ${TELEGRAM_ALLOWED_USERS}
    routes:
      default: cfo
  telegram_ops:
    platform: telegram
    token: ${TELEGRAM_OPS_BOT_TOKEN}
    group_policy: mention_only
    allowed_users: ${TELEGRAM_ALLOWED_USERS}
    routes:
      default: ops
  telegram_content:
    platform: telegram
    token: ${TELEGRAM_CONTENT_BOT_TOKEN}
    group_policy: mention_only
    allowed_users: ${TELEGRAM_ALLOWED_USERS}
    routes:
      default: content

Common Patterns

Deploy multiple specialized bots on one platform:
channels:
  telegram_finance:
    platform: telegram
    token: ${TELEGRAM_FINANCE_BOT_TOKEN}
    routes:
      default: finance_agent
  
  telegram_hr:
    platform: telegram
    token: ${TELEGRAM_HR_BOT_TOKEN}
    routes:
      default: hr_agent
  
  telegram_marketing:
    platform: telegram
    token: ${TELEGRAM_MARKETING_BOT_TOKEN}
    routes:
      default: marketing_agent

Validation with praisonai doctor

The multi_channel_tokens check validates your setup:

PASS Conditions

  • Each channel has a unique environment variable
  • Each environment variable resolves to a unique token value
  • Follows PLATFORM_<ROLE>_BOT_TOKEN naming convention

WARN Conditions

  • Environment variable doesn’t follow naming convention
  • Environment variable is unset but referenced in config

FAIL Conditions

  • Two channels point to the same environment variable
  • Two environment variables resolve to the same token value
Sample output:
$ praisonai doctor
 Multi-Channel Token Configuration: Multi-channel configuration looks good (3 channels)
Remediation: Each channel must have a unique bot token. Create separate bots in @BotFather and use unique environment variables.

Best Practices

Create a separate bot in @BotFather for each role. Never reuse the same token across multiple channels as this will cause conflicts and validation failures.
Stick to the PLATFORM_<ROLE>_BOT_TOKEN pattern so the doctor check passes. This makes it clear which token belongs to which channel and role.
Keep all role tokens in ~/.praisonai/.env with chmod 600 permissions. Never commit tokens to version control or share them publicly.
Each role can have its own allowed_users environment variable for granular access control. For example, only finance team members should access the CFO bot.

When to Use Multi-Channel


Bot Onboarding

Set up your first bot with the interactive wizard

Messaging Bots

Core bot functionality and platform integration

Bot Routing

Advanced routing patterns and agent selection

Bot Security

Security best practices for bot deployments