40 files demonstrating every major OpenClaw capability using Claude Code: - 3 agents (researcher, writer, reviewer) - 3 skills (daily-briefing, slack-message, web-research) - 2 security hooks (pre-tool-use blocker, post-tool-use logger) - 10 self-contained examples with copy-paste prompts - Complete feature map (20 capabilities, 11 full match, 7 different, 2 gap) - Security docs including NemoClaw comparison - Automation, messaging, browser, memory documentation Zero dependencies. Clone and run. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
83 lines
2 KiB
Markdown
83 lines
2 KiB
Markdown
# Example 07: Messaging
|
|
|
|
**Capability:** Claude Code can send and receive messages via external channels.
|
|
Native Telegram support arrived in v2.1.80. Other channels use MCP servers.
|
|
|
|
**OpenClaw equivalent:** 15+ native channels (WhatsApp, Telegram, Discord, Slack,
|
|
Signal, iMessage, IRC, Matrix, Teams, and more).
|
|
|
|
---
|
|
|
|
## Architecture Difference
|
|
|
|
OpenClaw ships with all 15+ channels built in. Claude Code takes an MCP approach:
|
|
each channel is a separate server you opt into. This means more setup per channel,
|
|
but also more control over what data leaves your machine.
|
|
|
|
As of v2.1.80, Telegram is the first native channel in Claude Code. More are
|
|
expected to follow the same pattern.
|
|
|
|
---
|
|
|
|
## Option A: Telegram (Native, v2.1.80+)
|
|
|
|
Start Claude Code with the Channels flag:
|
|
|
|
```bash
|
|
claude --channels
|
|
```
|
|
|
|
Then in session:
|
|
|
|
```
|
|
Send a Telegram message to my personal chat that says:
|
|
"Claude Code pipeline completed. Check research-output.md for results."
|
|
```
|
|
|
|
Requires the Telegram plugin configured in `.claude/settings.json`. The
|
|
permission relay (v2.1.81) lets you approve tool calls from Telegram directly,
|
|
without returning to the terminal.
|
|
|
|
---
|
|
|
|
## Option B: Slack (via MCP)
|
|
|
|
Add to `.mcp.json`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"slack": {
|
|
"command": "npx",
|
|
"args": ["-y", "@modelcontextprotocol/server-slack"],
|
|
"env": {
|
|
"SLACK_BOT_TOKEN": "xoxb-your-token",
|
|
"SLACK_TEAM_ID": "T0123456"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Then use the `/skills/send-slack-message` skill in this repo:
|
|
|
|
```
|
|
/send-slack-message channel=#general message="Pipeline finished successfully."
|
|
```
|
|
|
|
---
|
|
|
|
## What Happens
|
|
|
|
For Telegram: Claude Code calls the native Channels API to deliver the message.
|
|
For Slack: Claude Code calls the Slack MCP server, which relays via the Slack API.
|
|
|
|
Both confirm delivery in the terminal output.
|
|
|
|
---
|
|
|
|
## Honest Comparison
|
|
|
|
If you need 15 channels working out of the box, OpenClaw wins today. Claude Code
|
|
has Telegram natively and the rest via MCP. The gap is narrowing with each
|
|
release. For most personal automation needs, Telegram is sufficient.
|