Bot Setup
- Create a Slack App at api.slack.com/apps
- Enable Socket Mode and generate App Token
- Add bot scopes:
chat:write,app_mentions:read,im:history,im:read,im:write - Install app to workspace
- Configure
.envwith tokens and authorized user IDs - Start bot:
./channels/slack/start.sh
channels/slack/README.md for detailed setup instructions.
Interaction Methods
Direct Messages (DM)
Send a direct message to the Claudio bot. Usage Simply open a DM with the bot and type your message:- Bot acknowledges:
⏳ Procesando... - Streaming output appears
- Completion:
✅ Comando ejecutado exitosamenteor error
Mentions in Channels
Mention the bot in any channel it’s added to. Usage- Bot removes its own mention from the message
- Processes the remaining text
- Responds in a thread
Slash Commands
Use slash commands for quick interactions./claudio
Execute a command via slash command. Usage/claudio-new
Start a new conversation (clear context). Usage- Switching to a different task
- Claudio has incorrect context
- Starting fresh after completing a task
/claudio-status
Check bot status and your authorization. UsageClaude CLI
- ✅ Disponible: CLI installed and working
- ❌ No disponible: CLI not found
Workspace
Working directory where commands execute
Tu User ID
Your Slack user ID (needed for authorization)
Autorizado
- ✅ Sí: You’re authorized
- ❌ No: You need to be added to
SLACK_ALLOWED_USER_IDS
Sesión activa
- Sí: Active conversation session
- No: No active session
Session Management
How Sessions Work
- Each user has an isolated session
- Sessions persist across messages
- Use
/claudio-newto clear and start fresh - Sessions auto-create on first successful command
Session Continuity
When you have an active session:/claudio-new:
Authorization
User Authorization
Only authorized users can interact with the bot. Configuration- Use
/claudio-statuscommand - Or click your profile → More → Copy member ID
Rate Limiting
Prevents spam and resource abuse. Default Limits- 10 requests per 60 seconds per user
Input Length Limits
Messages have a maximum length. Default Limit- 10,000 characters
Timeouts
Commands have a maximum execution time. Default Timeout- 1800 seconds (30 minutes)
Error Messages
Access Denied
SLACK_ALLOWED_USER_IDS in .env
Rate Limit Exceeded
Message Too Long
Timeout
General Error
Message Formatting
Slack messages support basic formatting:Code Blocks
Preformatted Text
multi-line
code block
Bold/Italic
Examples
Product Management
Development
Communication
Documentation
Environment Variables
Complete configuration reference:Slack App Configuration
Required Bot Token Scopes
chat:write- Send messagesapp_mentions:read- Read mentionsim:history- Read DM historyim:read- Read DM infoim:write- Send DMs
Event Subscriptions
Subscribe to bot events:app_mention- Bot mentioned in channelmessage.im- Direct message to bot
Slash Commands (Optional)
Create these slash commands:| Command | Request URL | Description |
|---|---|---|
/claudio | (handled by Socket Mode) | Execute command |
/claudio-new | (handled by Socket Mode) | New session |
/claudio-status | (handled by Socket Mode) | Check status |
Socket Mode
Required: Enable Socket Mode for local development- Go to Socket Mode settings
- Enable Socket Mode
- Generate App-Level Token with
connections:writescope - Use token as
SLACK_APP_TOKEN
Logs
Bot logs include user and context information:Best Practices
Use Threads
When mentioning in channels, bot responds in threads to keep channels clean.DM for Private Work
Use DMs for:- Sensitive information
- Personal tasks
- Testing commands
Mentions for Team Visibility
Use mentions in channels for:- Shared tasks
- Team updates
- Collaborative work
Slash Commands for Quick Actions
Use slash commands for:- Fast queries
- Status checks
- Session management
Troubleshooting
Bot Not Responding
- Check bot is running:
ps aux | grep slack.*bot - Check logs for errors
- Verify
SLACK_BOT_TOKENandSLACK_APP_TOKEN - Ensure Socket Mode is enabled
”Access Denied” Error
- Get your user ID:
/claudio-status - Add to
SLACK_ALLOWED_USER_IDSin.env - Restart bot
Multiple Bot Instances
Commands Not Working
- Verify Claude CLI is installed:
claude --version - Check
CLAUDE_CLI_PATHin.env - Verify workspace path exists
- Check bot has necessary permissions