1
0
Fork 0
claude-code-complete-agent/examples/07-messaging/prompt.md
Kjell Tore Guttormsen 2491f5c732 feat: initial companion repo for OpenClaw vs Claude Code article
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>
2026-03-26 09:47:29 +01:00

2 KiB

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:

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:

{
  "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.