Third-party bot packages can register via Python entry points to extend PraisonAI with custom messaging platforms.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.
Quick Start
How It Works
The bot platform registry provides a central point for managing bot implementations:| Operation | Description | When Called |
|---|---|---|
| Discovery | Entry points auto-loaded on registry access | Import time |
| Registration | Bot platforms registered by name | Plugin installation |
| Creation | Bot instances created on demand | Bot() constructor |
| Availability | Platform dependencies checked | Before execution |
Configuration
The bot platform registry supports both programmatic and entry-point registration:| Function | Purpose |
|---|---|
register_platform(name, cls) | Register at runtime (backward-compat helper) |
list_platforms() | List all registered platform names |
resolve_adapter(name) | Get class for a platform name |
get_platform_registry() | Backward-compat: returns dict[name, class] of all platforms |
get_default_bot_registry() | Get the process-default BotPlatformRegistry (advanced) |
Built-in Platforms
PraisonAI includes these built-in bot platforms:telegram- Telegram bot integrationdiscord- Discord bot integrationslack- Slack bot integrationwhatsapp- WhatsApp bot integrationlinear- Linear issues integrationemail- Email bot integrationagentmail- AgentMail integration
praisonai.bots
Common Patterns
Override a Built-in Platform
Registry uses last-write-wins with lower-cased keys:Lazy Heavy Imports
Follow the pattern used by built-ins to avoid import-time failures:Multi-tenant Isolation
Construct your ownBotPlatformRegistry to avoid leaking between tenants:
Best Practices
Use Lazy Imports
Use Lazy Imports
Never import heavy networking SDKs at module top level:
Implement Proper Protocol
Implement Proper Protocol
Follow the expected bot lifecycle pattern:
Handle Errors Gracefully
Handle Errors Gracefully
Use logging instead of raising on initialization:
Related
Framework Adapter Plugins
Learn about extending PraisonAI with custom execution frameworks
Messaging Channels Strategy
See our roadmap for supported messaging platforms

