Skip to main content
Use this checklist before starting a gateway or relying on a Slack/Telegram bot in production.
praisonai gateway test --turn and praisonai gateway doctor --turn run an offline agent turn via BotSessionManager.chat. They do not exercise Slack Bolt/socket handlers or @mention routing. A passing turn test does not guarantee live @mention delivery.

Five-tier diagnostics

Sessions ≠ liveness. gateway sessions list shows stored conversation history only. Use --check-inbound to verify live Slack delivery.

Three-tier checklist

1

Static config (offline)

Validates YAML, env vars, security settings, and shell wiring (gateway_shell_readiness) without network or LLM calls.
2

Live credential probe

Probes each channel (auth.test, getMe, …) and surfaces bot identity (e.g. @test).
3

Full readiness (recommended)

Combines credential probes + offline shell wiring. Add optional flags:
4

Extended status and sessions

5

Start and confirm live traffic

After @mentioning the bot in Slack, confirm inbound events in logs:
If the turn test passes but Slack is silent, check for duplicate bots, stale sessions, or messages not reaching this gateway process.

Command matrix

JSON automation

Both commands support --json with a single top-level document:
Keys: probes, secrets (optional), shell, runtime (with --check-runtime), running (with --check-running), inbound (with --check-inbound), duplicates (with --check-duplicates), turn (with --turn).

Sub-object schema

Each top-level key maps to a per-channel or per-check sub-object:

Programmatic API

Import praisonai_bot.gateway.preflight to build custom health-check endpoints, CI gates, and monitoring integrations without shelling out to the CLI.

Healthcheck endpoint

Expose channel readiness as a JSON endpoint — the same probe the CLI runs, embedded in your own service.

Offline shell + turn gate for CI

Fail a deploy when shell wiring is broken, before any network call.
apply_probe_ca_bundle() honours the CA-bundle precedence ladder — PRAISONAI_SSL_CA_BUNDLE > REQUESTS_CA_BUNDLE > SSL_CERT_FILE — so a corporate CA set once fixes both the probe and long-lived channel connections. See Corporate CA bundle.