Skip to main content
Set your bot’s token, run praisonai gateway — you have a working bot. No YAML required.
The gateway detects any platform whose credential env var(s) are all present and registers a channel for it — so a single token brings a bot up with zero channels: config.

Quick Start

1

One platform, one line

One log line confirms the bot is live:
2

Multiple platforms fan out automatically

All three come up — still no channels: block.
3

Add YAML only when you want to customise

Explicit channels: entries always win. Add YAML the moment you need routes, per-channel policy, or a non-env token; leave everything else to the env var.

How It Works

Auto-enabled channels get routes: {dm: <agent>, group: <agent>, default: <agent>}. The <agent> resolves in this order:
  1. routing.default (if set)
  2. First key in agents: (if any)
  3. Single-bot agent.name (if set)
  4. Literal "assistant" (final fallback)

Which env vars trigger which channel

A built-in platform is auto-enabled only when all its credential env vars are present. Multi-credential platforms (Slack, WhatsApp) stay down until every listed var is set — SLACK_BOT_TOKEN alone does not auto-enable Slack.

Choosing an Option


Configuration Options


Precedence

An explicit token: overrides the env-resolved one — the auto-enable path never touches a platform you already declared.
enabled: false keeps a channel down and suppresses auto-enable for that platform, even with the credential set.
Set auto_enable_from_env: false to require an explicit channels: block. With no channel declared, the gateway fails closed:

For Plugin Channel Authors

A plugin platform (registered via the praisonai.channels entry point or register_platform(...)) becomes auto-enable-able when its ChannelDescriptor.config_fields lets the gateway source every required field from the environment (each has an env fallback). If a plugin has a required field without an env fallback (e.g. a required server for an IRC-like channel), the gateway leaves it for explicit configuration — auto-enabling it would seed a channel that then fails required-field validation and aborts the whole gateway. When there are no required fields, a single env-backed secret field is enough to identify a ready-to-use credential.

Best Practices

praisonai gateway loads ~/.praisonai/.env into the environment without overwriting shell values, so committing an .env.example and running praisonai gateway is enough for a teammate to get a bot up.
In production, set credentials in systemd (Environment=), Docker (--env-file), or your orchestrator’s secret manager rather than shell dotfiles.
Where routing, policies, or per-channel session settings matter, declare channels: explicitly. The zero-config path is designed for first-run and single-agent deployments.
Set auto_enable_from_env: false on shared deployments so no unexpected channel comes up just because a token happens to be in the environment.

Gateway Overview

Multi-channel agent coordination and the full config surface

Gateway CLI

Start, monitor, and manage the gateway from the command line

Bot Gateway

Routing, approvals, and multi-agent channel wiring

Custom Channel

Add a plugin platform that self-describes its credential fields