Multi-Platform Support
One bot, eight channels. Connect to WhatsApp, Telegram, Discord, Slack, iMessage, SMS, Email, and Signal from a single deployment. Seamlessly switch between platforms while maintaining conversation context.
Clawdbot bridges the gap between powerful AI and everyday communication. Built for privacy-conscious users who want AI assistance without compromising their data sovereignty.
Multi-Platform Support
One bot, eight channels. Connect to WhatsApp, Telegram, Discord, Slack, iMessage, SMS, Email, and Signal from a single deployment. Seamlessly switch between platforms while maintaining conversation context.
Self-Hosted & Private
Your data, your rules. Run on your own hardware - macOS, Linux, Windows, or Docker. No cloud dependencies mean complete privacy and control over every conversation.
Infinitely Extensible
Build what you need. Customize with hooks, plugins, and tools. Create automated workflows, integrate with APIs, and extend functionality to match your unique requirements.
Open Source
Community-driven excellence. MIT licensed and actively maintained. Contribute features, report issues, and help shape the future of personal AI assistants.
Clone the repository
git clone https://github.com/polvoazul/clawdbot.gitcd clawdbotInstall dependencies
pip install -r requirements.txtConfigure your environment
cp .env.example .env# Add your Anthropic API key to .envLaunch Clawdbot
python -m clawdbot| Channel | Status | Key Features |
|---|---|---|
| Stable | Full messaging, media support, group chats | |
| Telegram | Stable | Bots, groups, inline mode, rich formatting |
| Discord | Stable | Servers, DMs, slash commands, embeds |
| Slack | Stable | Workspaces, threads, app integrations |
| iMessage | Stable | macOS native, seamless Apple ecosystem |
| SMS | Beta | Via Twilio/gateway, worldwide coverage |
| Beta | IMAP/SMTP, attachments support | |
| Signal | Alpha | Privacy-focused messaging |
# Pre-process messages before AI responds@hook("pre_message")async def filter_content(message): # Add custom logic here return message# Extend functionality with custom pluginsclass WeatherPlugin(Plugin): async def get_weather(self, location): # Fetch and return weather data return weather_data# Give Claude access to external services@tool("search_web")async def search(query: str) -> str: # Perform web search return resultsGitHub Issues
Found a bug or have a feature request? Open an issue and help us improve.
Discussions
Join the conversation in GitHub Discussions. Share ideas, ask questions, and connect with other users.
Documentation
Explore our comprehensive guides, tutorials, and API references right here in this documentation.
Releases
Stay up-to-date with the latest features and fixes via GitHub Releases.
Join thousands of users who have transformed their messaging experience with Clawdbot.