ワンクリックで
slack-bot
Slack bot integration for receiving messages and reactions. Use when setting up Slack webhooks or managing Slack bot configuration.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Slack bot integration for receiving messages and reactions. Use when setting up Slack webhooks or managing Slack bot configuration.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Clappie is a digital assistant layer that turns Claude Code into a full personal assistant with interactive terminal UIs called "clapps". It manages everything through one CLI: `clappie`. This is the core skill for the entire project. Load it whenever the user asks for ANYTHING personal-assistant related — not just when they say "clappie". Examples: emails, texts, notifications, inbox, dashboard, sidekicks, chores, heartbeat, background apps, displays, parties, memory, messages, todos, approval queue, status, automation, or any `[clappie]` prefixed message. If the user says "open notifications" or "spawn a sidekick" — that's this skill. Don't guess at how these systems work — load this skill, it has the docs. CORE SYSTEM - Terminal display engine with push/pop view navigation, mouse click handling, keyboard shortcuts, and two-way communication. Views send structured messages back to Claude prefixed with [clappie]. SUBSYSTEMS (each has deep docs in REFERENCE.md files): - Sidekicks: Autonomous AI agents runni
Telegram bot integration for receiving messages and reactions. Use when setting up Telegram webhooks or managing Telegram bot configuration.
Audio transcription (Whisper) and text-to-speech (OpenAI TTS). Use for processing audio messages or generating voice responses.
| name | slack-bot |
| description | Slack bot integration for receiving messages and reactions. Use when setting up Slack webhooks or managing Slack bot configuration. |
Slack bot integration for receiving messages/reactions and spawning sidekicks. Threads become separate sidekicks.
Go to OAuth & Permissions → Bot Token Scopes and add:
| Scope | Purpose |
|---|---|
chat:write | Send messages |
files:read | Read uploaded files |
files:write | Upload files |
users:read | Get user info |
reactions:write | Add reactions to messages |
reactions:read | See reactions on messages |
Go to Event Subscriptions → Enable Events → Subscribe to bot events:
| Event | Purpose |
|---|---|
message.channels | Messages in public channels |
message.groups | Messages in private channels |
message.im | Direct messages |
message.mpim | Group DMs |
reaction_added | User adds reaction |
reaction_removed | User removes reaction |
Don't set the Request URL yet - you need Tailscale Funnel first.
Go to Install App → Install to Workspace → Authorize
Copy the Bot User OAuth Token (starts with xoxb-)
Go to Basic Information → App Credentials → Copy Signing Secret
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret
# Enable the bot
echo "true" > recall/settings/slack-bot/enabled.txt
# Allow your Slack user ID (find via Slack profile → ⋮ → Copy member ID)
echo "U01ABCDEF" > recall/settings/slack-bot/users.txt
# Enable incoming messages
mkdir -p recall/settings/slack-bot/webhooks
echo "true" > recall/settings/slack-bot/webhooks/incoming-message.txt
clappie background start sidekicks
Slack requires ports 80, 443, or 8443. Use Tailscale Funnel to proxy:
# Expose port 7777 on HTTPS (Tailscale handles certs)
tailscale funnel 7777
This gives you a URL like https://your-machine.tail1234.ts.net
Get your webhook path:
cat recall/settings/slack-bot/webhook-path.txt
Go back to Event Subscriptions in Slack app settings
Set Request URL to:
https://your-machine.tail1234.ts.net/webhooks/slack-bot/{webhook-path}
Replace {webhook-path} with the value from step 1
Slack will send a verification challenge - it should show ✓ Verified
In Slack, invite the bot to channels where you want it:
/invite @YourBotName
All settings in recall/settings/slack-bot/:
| File | Description | Required |
|---|---|---|
enabled.txt | Set to true to enable | Yes |
webhook-path.txt | Secret URL segment (auto-generated) | Auto |
users.txt | Allowed Slack user IDs (one per line) | Yes |
channels.txt | Allowed channel IDs (optional) | No |
webhooks/incoming-message.txt | Enable incoming messages | Yes |
sidekick-prompt.txt | Custom prompt/personality for sidekicks (overrides skill defaults) | No |
clappie slack-bot send <channel> <message> # Send message
clappie slack-bot thread <channel:ts> <message> # Reply in thread
clappie slack-bot photo <channel> <path> # Send image
clappie slack-bot document <channel> <path> # Send file
clappie slack-bot react <channel> <ts> <emoji> # Add reaction
When a Slack sidekick is running, these extra commands are available (registered via sidekickCommands in webhooks/send.js). The sidekick ID is auto-detected from the CLAPPIE_SIDEKICK_ID env var -- no need to type it. Explicit ID still works as an override.
clappie sidekick react <ts> :emoji: # React to a message
clappie sidekick send-file photo "/path" "caption" # Upload image
clappie sidekick send-file document "/path" "caption" # Upload file
These are only available to sidekicks with source: slack-bot. Telegram-specific commands like combo and sticker are not available.
conversationId = channel or channel:thread_tsWhen a user reacts to a message, the sidekick receives:
[Reacted with :thumbsup:]
Direct CLI (not sidekick):
clappie slack-bot react C01234 1234567890.123456 :eyes:
"Not found" when visiting webhook URL in browser Normal - webhooks only accept POST requests. The GET response confirms the endpoint is active.
Verification fails in Slack
tailscale funnel 7777)clappie background start sidekicks)Messages not received
users.txt?enabled.txt set to true?webhooks/incoming-message.txt is true| Variable | Description |
|---|---|
SLACK_BOT_TOKEN | Bot token (xoxb-...) |
SLACK_SIGNING_SECRET | Signing secret for verification |