-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Description
Summary
Bug Report: Slack HTTP/Webhook Mode Provider Fails to Start Silently
Environment:
• OpenClaw Version: 2026.2.26 (bc50708)
• OS: Ubuntu 24.04 (noble)
• Installation: pnpm
• Node: v22.22.0
Expected Behavior:
When Slack channel is configured with "mode": "http" and valid credentials, the Slack provider should start and handle webhook requests at the configured endpoint.
Actual Behavior:
Slack provider never starts. No errors logged. Only Telegram provider starts successfully. Webhook endpoint returns 405 Method Not Allowed.
Configuration Attempted:
JSON
"slack": {
"mode": "http",
"signingSecret": "REDACTED",
"webhookPath": "/slack/events",
"enabled": true,
"botToken": "xoxb-REDACTED",
"userTokenReadOnly": true,
"groupPolicy": "allowlist",
"streaming": "partial",
"nativeStreaming": true,
"dmPolicy": "allowlist",
"allowFrom": [
"USER_ID_1",
"CHANNEL_ID_1"
]
}
Slack App Configuration:
• Signing Secret: ✅ Configured
• Bot Token: ✅ Valid (xoxb-...)
• Event Subscriptions: ✅ Enabled with required bot events (app_mention, message.channels, message.groups, message.im)
• Request URL: https://example.com/slack/events
Logs:
Only Telegram starts, no Slack provider startup:
Mar 01 10:30:53 node[292990]: 2026-03-01T10:30:53.081Z [telegram] [default] starting provider (@Q_bot)
No [slack] starting provider message
No errors in logs
Completely silent failure
Validation:
• openclaw doctor: No errors reported
• Config validates successfully
• Gateway starts without errors
• Telegram channel works perfectly
Testing:
# Endpoint exists but not handled:
curl -X POST http://127.0.0.1:18789/slack/events \
-H "Content-Type: application/json" \
-d '{"type":"url_verification","challenge":"test123"}'
# Returns: Method Not Allowed (provider not running)
Attempts Made:
- ✅ Verified all required Slack app scopes
- ✅ Configured signing secret correctly
- ✅ Enabled Event Subscriptions with required events
- ✅ Removed HTTP Basic Auth from webhook path
- ✅ Tried both "mode": "http" and "mode": "webhook" (latter rejected by config validation)
- ✅ Full gateway restarts (not just reloads)
- ✅ Checked for config errors - none found
Workaround:
Socket Mode works perfectly with same configuration:
JSON
"slack": {
"mode": "socket",
"appToken": "xapp-REDACTED",
"botToken": "xoxb-REDACTED",
// ... rest of config
}
Questions:
- Are there additional requirements for HTTP mode not documented in /docs/channels/slack.md?
- Is HTTP mode fully implemented in 2026.2.26?
- Should there be startup errors/warnings if HTTP mode fails to initialize?
Impact:
Cannot use faster webhook-based Slack integration. Forced to use Socket Mode which adds 1-2 seconds latency per message.
Steps to reproduce
- Create Slack App:
• Go to https://api.slack.com/apps
• Create new app "From scratch"
• Get Bot User OAuth Token (xoxb-...)
• Get Signing Secret (Basic Information → App Credentials)
• Add Bot Token Scopes: app_mentions:read, channels:history, channels:read, chat:write, groups:history, im:history, im:read, im:write
• Install app to workspace
- Configure OpenClaw:
Edit ~/.openclaw/openclaw.json:
JSON
{
"channels": {
"slack": {
"mode": "http",
"signingSecret": "YOUR_SIGNING_SECRET",
"webhookPath": "/slack/events",
"enabled": true,
"botToken": "YOUR_BOT_TOKEN",
"userTokenReadOnly": true,
"groupPolicy": "allowlist",
"streaming": "partial",
"nativeStreaming": true,
"dmPolicy": "allowlist",
"allowFrom": ["USER_ID"]
}
}
}
- Start OpenClaw Gateway:
systemctl --user restart openclaw-gateway
- Check logs:
journalctl --user -u openclaw-gateway -n 50 | grep -E "(slack|Slack|starting provider)"
- Test webhook endpoint:
curl -X POST http://127.0.0.1:18789/slack/events \
-H "Content-Type: application/json" \
-d '{"type":"url_verification","challenge":"test123"}'
Expected Result:
• Log shows [slack] [default] starting provider
• Curl returns test123
Actual Result:
• No Slack provider startup in logs
• Only Telegram provider starts (if configured)
• Curl returns Method Not Allowed
• No errors or warnings
Comparison with Socket Mode:
Same config with "mode": "socket" and "appToken": "xapp-..." works immediately - Slack provider starts and responds to messages.
Expected behavior
When Slack channel is configured with "mode": "http" and valid credentials, the Slack provider should start and handle webhook requests at the configured endpoint.
Actual behavior
Slack provider never starts. No errors logged. Only Telegram provider starts successfully. Webhook endpoint returns 405 Method Not Allowed.
OpenClaw version
2026.2.26
Operating system
Ubuntu 24.04
Install method
pnpm
Logs, screenshots, and evidence
Impact and severity
Cannot use faster webhook-based Slack integration. Forced to use Socket Mode which adds 1-2 seconds latency per message.
Additional information
No response