# Channel Setup

> Guide users through setting up communication channels (Slack, Discord, Telegram, etc.) for MetaClaw

- Skill: `yetone/channel-setup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add yetone/channel-setup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yetone/channel-setup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: MIT
- Author: yetone (https://skillmd.com/u/yetone)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yetone/channel-setup

---


# Channel Setup Guide

This skill guides users through configuring communication channels for MetaClaw.

## Supported Channels

| Channel | Connection Type | Difficulty |
|---------|----------------|------------|
| Slack | Socket Mode (no public URL) | Easy |
| Discord | Gateway (no public URL) | Easy |
| Telegram | Long-polling (no public URL) | Easy |
| Webhook | HTTP POST | Easy |
| Email | IMAP/SMTP | Medium |
| WhatsApp | Cloud API + Webhook | Medium |
| Google Chat | Webhook | Medium |
| Microsoft Teams | Bot Framework | Medium |
| Twilio | Webhook | Medium |
| LINE | Webhook | Medium |
| WeChat | Webhook | Medium |
| Zoom | Webhook | Medium |

## Setup Instructions

### Slack (Recommended for teams)

1. Go to https://api.slack.com/apps and click "Create New App"
2. Choose "From scratch", name it "MetaClaw", select your workspace
3. Under "OAuth & Permissions", add these Bot Token Scopes:
   - `chat:write`
   - `app_mentions:read`
   - `im:history`
   - `im:read`
   - `im:write`
4. Install the app to your workspace
5. Copy the "Bot User OAuth Token" → set as `SLACK_BOT_TOKEN` in .env
6. Under "Socket Mode", enable it and generate an app-level token → set as `SLACK_APP_TOKEN`
7. Under "Event Subscriptions", enable and subscribe to:
   - `message.im`
   - `app_mention`
8. Enable in metaclaw.toml:
```toml
[channels.slack]
enabled = true
```

### Discord

1. Go to https://discord.com/developers/applications
2. Create a new application, name it "MetaClaw"
3. Go to "Bot" → Add Bot
4. Enable "Message Content Intent"
5. Copy the token → set as `DISCORD_BOT_TOKEN` in .env
6. Generate invite URL with permissions: Send Messages, Read Messages
7. Enable in metaclaw.toml:
```toml
[channels.discord]
enabled = true
```

### Telegram

1. Message @BotFather on Telegram
2. Send `/newbot` and follow the prompts
3. Copy the token → set as `TELEGRAM_BOT_TOKEN` in .env
4. Enable in metaclaw.toml:
```toml
[channels.telegram]
enabled = true
```

### Webhook (Generic)

For custom integrations, use the generic webhook channel:

```toml
[channels.webhook]
enabled = true
secret = "your-webhook-secret"
```

POST to `http://your-server:8000/webhook/incoming` with:
```json
{
  "text": "Your message",
  "user_id": "user123",
  "channel_id": "channel456"
}
```

### Email

```toml
[channels.email]
enabled = true
```

Set in .env:
```
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_SMTP_PORT=587
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_USERNAME=your@email.com
EMAIL_PASSWORD=your-app-password
```

Note: For Gmail, use an App Password (not your regular password).

## Verification

After configuring, start the server:
```bash
metaclaw start
```

Check the logs for successful channel connections.
Send a test message through the configured channel.

