# 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). > **Building on Example 06.** You have a polished, reviewed document from the multi-agent cycle. This example shows how to deliver that result to your phone. A pipeline that produces output nobody sees is a pipeline that does not matter. --- ## 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. --- ## Carry Forward You now have a delivery channel. Combined with what came before: - **Example 08** schedules the pipeline so results arrive automatically - **Example 10** produces pipeline output that you can deliver via messaging - **Example 12** expands this into full remote access from your phone Messaging turns Claude Code from "a tool at my desk" into "an assistant I can reach from anywhere." --- ## The Cumulative Path > If you ran Example 06, you have `pipeline-output/research-report/final-summary.md`. > This prompt delivers it to your phone. **Telegram:** ``` Read pipeline-output/research-report/final-summary.md. Send the first paragraph as a Telegram message with the note: "Full report saved to pipeline-output/research-report/. Run /read-report to see the rest." ``` **Slack:** ``` Read pipeline-output/research-report/final-summary.md. Post the first paragraph to #[your-channel] with a thread reply containing the full summary. Use the /send-slack-message skill. ``` After running this, your pipeline has end-to-end delivery. Research goes from web to your phone in one flow. --- ## Now Try It Yourself Set up the channel that fits your workflow: ``` Send a [Telegram/Slack/Discord] message to [destination] with: "[summary of what your pipeline produced]" ``` **The pattern you just learned:** read output + format for channel + deliver. Any pipeline step can send a notification. Typical triggers: pipeline completed, error occurred, daily summary ready. Ideas worth trying: - Morning briefing delivered to your phone at 07:00 - Slack notification when a scheduled report finishes - Error alerts when a cron job fails