When user selects "dedicated bot number" mode (selfChatMode=false), skip the dmPolicy question and default to allowlist. Prompt for allowed phone numbers immediately. This is simpler and safer than pairing mode, which sends codes to whoever messages the bot. Users who want pairing or open mode can edit lettabot.yaml manually. Also updates docs to reflect the new defaults. Written by Cameron ◯ Letta Code "Simplicity is the ultimate sophistication." - Leonardo da Vinci
LettaBot Documentation
LettaBot is a multi-channel AI assistant powered by Letta that provides persistent memory and local tool execution across Telegram, Slack, Discord, WhatsApp, and Signal.
Guides
- Getting Started - Installation and basic setup
- Configuration Reference - All config options
- Commands Reference - Bot commands reference
- Scheduling Tasks - Cron jobs and heartbeats
- Gmail Pub/Sub - Email notifications integration
Channel Setup
- Slack Setup - Socket Mode configuration
- Discord Setup - Bot application setup
- WhatsApp Setup - Baileys/QR code setup
- Signal Setup - signal-cli daemon setup
Architecture
LettaBot uses a single agent with unified memory across all channels:
┌──────────────────────────────────────────────────────────────────────────┐
│ Your Server / Machine │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ ┌───────┐ │
│ │ Telegram │ │ Slack │ │ Discord │ │ WhatsApp │ │ Signal│ │
│ │ (grammY) │ │ (Socket) │ │ (Gateway) │ │(Baileys) │ │ (CLI) │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └────┬─────┘ └───┬───┘ │
│ │ │ │ │ │ │
│ └───────────────┴───────────────┴──────────────┴────────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ LettaBot Core │ │
│ │ (TypeScript) │ │
│ │ │ │
│ │ • Message Router │ │
│ │ • Session Mgmt │ │
│ │ • Heartbeat/Cron │ │
│ └─────────┬─────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ Letta Code SDK │ │
│ │ (subprocess) │ │
│ │ │ │
│ │ Local Tools: │ │
│ │ • Read/Glob/Grep │ │
│ │ • Bash │ │
│ │ • web_search │ │
│ └─────────┬─────────┘ │
└────────────────────────────────────┼──────────────────────────────────────┘
│ Letta API
▼
┌──────────────────────────┐
│ Letta Server │
│ (api.letta.com or │
│ self-hosted Docker) │
│ │
│ • Agent Memory │
│ • LLM Inference │
│ • Conversation History │
└──────────────────────────┘
Key Features
- Multi-Channel - Chat across Telegram, Slack, Discord, WhatsApp, and Signal
- Unified Memory - Single agent remembers everything from all channels
- Persistent Memory - Conversations persist across days/weeks/months
- Local Tool Execution - Agent can search files, run commands on your machine
- Voice Messages - Automatic transcription via OpenAI Whisper
- Streaming Responses - Real-time message updates as the agent thinks
- Background Tasks - Heartbeats and cron jobs for proactive actions