Skip to main content
Interactive wizard that configures messaging bots and automatically installs the daemon service to run them in the background. The user runs the wizard, picks a channel, and the daemon installs so bots stay online.

Quick Start

1

Simple Usage

Once tokens are collected, the daemon is installed automatically by default. Run praisonai gateway uninstall if you don’t want it.
2

With Configuration

The wizard guides you through channel setup with an interactive flow:
  1. Choose first platform — Telegram, Discord, Slack, or WhatsApp
  2. Enter bot token — Hidden input, validated against the platform API
  3. Add another bot channel? — Create multiple bots on the same platform for different roles
  4. Enter role (if adding more) — Role name like cfo, ops, content for specialized agents
  5. Configure security — Allowed user IDs for each channel (comma-separated)
The wizard automatically generates environment variables following the PLATFORM_<ROLE>_BOT_TOKEN convention.
3

You're done

The wizard writes bot configuration to ~/.praisonai/bot.yaml, stores tokens/secrets in ~/.praisonai/.env only (chmod 600), and shows the ✅ Done panel with your dashboard URL.

How It Works

The onboarding process follows these phases:

What The Wizard Writes

Agent name (assistant) and instructions ("You are a helpful AI assistant.") use sensible defaults — edit ~/.praisonai/bot.yaml to customise. The file contains the full schema as inline documentation.

Generated bot.yaml example

If you leave TELEGRAM_ALLOWED_USERS empty, you must also set unknown_user_policy: "allow" for the bot to reply to anyone (since PR #1885). For production, set TELEGRAM_ALLOWED_USERS to your user IDs and leave unknown_user_policy at the default "deny".
Ack and done emojis are pre-populated so freshly onboarded bots give visible feedback during long agent operations from the start.
Upgrading? Older bot.yaml files may contain a home_channel key (for example, home_channel: ${TELEGRAM_HOME_CHANNEL} or the equivalent for Discord / Slack / WhatsApp). This was never read by the gateway and is safe to delete. Re-running praisonai onboard and accepting the overwrite regenerates a clean file.
Auth token is now auto-persisted to ~/.praisonai/.env with secure permissions (mode 0600) and shown as fingerprint gw_****XXXX in logs for security.

The ✅ Done Panel

When onboarding completes, you’ll see a comprehensive summary panel with four main sections:
The headline changes based on daemon install success:
  • Success: “Setup complete! Your bot is now running in the background.”
  • Failed: “Setup complete! Configuration complete.”

Re-running Onboarding

The wizard is idempotent - safe to run multiple times:
Re-running the wizard will:
  • Update tokens and configurations in place
  • Skip daemon installation if already installed and running (prints ✓ Daemon already installed and running)
  • Preserve existing chat histories and agent memory
The config file path is always ~/.praisonai/bot.yaml (no longer prompted for). When re-running, the overwrite prompt now says {path} exists. Overwrite with fresh config? with Kept existing file on decline.
If the daemon is already installed, re-running praisonai onboard is a no-op for the daemon service. Only configuration files are updated.

Adding Multiple Bots on the Same Platform

The wizard now supports creating multiple specialized bots on the same platform for different roles:
This creates environment variables with role-based naming:
The generated bot.yaml will contain multiple channels routing to specialized agents. See the Multi-Channel Bots guide for complete documentation.

Relationship to Setup

PraisonAI has two configuration commands that run in sequence:
  • praisonai setup - Configures LLM providers (OpenAI, Anthropic, etc.)
  • praisonai onboard - Configures messaging bots (Telegram, Discord, etc.)
Both are called automatically by the installer, but can be run independently.
“First-run onboarding” and “bot onboarding” are two distinct flows. First-run onboarding (praisonai setup) sets up LLM credentials and is triggered automatically when you first invoke praisonai or praisonai run without API keys. Bot onboarding (praisonai onboard, this page) is an optional step for configuring Telegram/Discord/Slack/WhatsApp bots. See First-run Onboarding for the credential setup flow.praisonai --init is safe to run before or after setup — if no provider is configured it surfaces setup guidance rather than a stack trace, so onboarding can proceed in either order.

Common Patterns

Skip onboarding during install

Run onboarding separately later

Switch platforms

Re-generate auth token


Which Platform Should I Use?

Choose based on:

Best Practices

Telegram has the simplest setup process and most permissive API limits. Use it for initial testing before moving to your target platform.
Bot tokens are stored in ~/.praisonai/.env. Ensure this file has proper permissions (600) and exclude it from version control.
After onboarding, visit the dashboard URL from the Done panel to confirm the web interface is working and authentication is set up correctly.
If bots aren’t responding or services seem down, run praisonai doctor for diagnostic information and common fixes. If you onboarded multiple bots on one platform and see Unknown channel 'telegram_<role>' from praisonai doctor, upgrade to a release that includes PR #1772. Older releases incorrectly rejected the multi-channel YAML their own onboard wizard produced.

Bind-Aware Authentication

Gateway and UI security behavior based on bind interface

Setup Wizard

Configure LLM provider credentials with auto-detect, key validation, and a smoke test

Installation Guide

Complete installer documentation including onboarding flow

Dashboard

Web dashboard for managing agents and monitoring bots

Bot Security

Security best practices for messaging bots

Quick Install

One-liner installation including onboarding prompt