This guide provides specific configuration examples for each supported webhook platform in Robolog.
Set these environment variables in your .env file:
# Required: Your webhook URL
WEBHOOK_URL=https://your-webhook-url-here
# Required: Platform type (affects payload format)
WEBHOOK_PLATFORM=discord # Options: discord, slack, teams, telegram, mattermost, rocketchat, genericWEBHOOK_PLATFORM=discord
WEBHOOK_URL=https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKENSetup Instructions:
- Go to your Discord server
- Right-click on the channel → Edit Channel
- Go to Integrations → Webhooks
- Create New Webhook
- Copy the Webhook URL
WEBHOOK_PLATFORM=slack
WEBHOOK_URL=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOKSetup Instructions:
- Go to your Slack workspace
- Apps → Manage → Custom Integrations
- Incoming Webhooks → Add Configuration
- Choose channel and copy Webhook URL
WEBHOOK_PLATFORM=teams
WEBHOOK_URL=https://outlook.office.com/webhook/YOUR_TEAMS_WEBHOOK_URLSetup Instructions:
- Go to your Teams channel
- Click "..." → Connectors
- Find "Incoming Webhook" → Configure
- Name it "Robolog" and copy the URL
WEBHOOK_PLATFORM=telegram
WEBHOOK_URL=https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>Setup Instructions:
- Message @BotFather on Telegram
- Create new bot:
/newbot - Get your bot token
- Get your chat ID (message your bot, then visit:
https://api.telegram.org/bot<TOKEN>/getUpdates) - Combine:
https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>
WEBHOOK_PLATFORM=mattermost
WEBHOOK_URL=https://your-mattermost.com/hooks/YOUR_WEBHOOK_IDSetup Instructions:
- Go to your Mattermost instance
- System Console → Integrations
- Enable incoming webhooks
- Create webhook in your channel
- Copy the webhook URL
WEBHOOK_PLATFORM=rocketchat
WEBHOOK_URL=https://your-rocketchat.com/hooks/YOUR_WEBHOOK_IDSetup Instructions:
- Go to your Rocket.Chat instance
- Administration → Integrations → Incoming
- Create New Integration
- Set channel and copy webhook URL
WEBHOOK_PLATFORM=generic
WEBHOOK_URL=https://your-custom-endpoint.com/webhookPayload Format:
{
"message": "🤖 AI Log Analysis (English):\nYour log analysis...",
"platform": "robolog",
"timestamp": "2024-01-01T12:00:00.000Z",
"language": "English",
"source": "ai-log-analysis"
}You can specify the webhook platform during installation:
# Discord (default)
curl -fsSL https://raw.githubusercontent.com/Hilo-Inc/robolog/main/install-native.sh | sudo bash -s -- --platform discord
# Slack
curl -fsSL https://raw.githubusercontent.com/Hilo-Inc/robolog/main/install-native.sh | sudo bash -s -- --platform slack
# Teams
curl -fsSL https://raw.githubusercontent.com/Hilo-Inc/robolog/main/install-native.sh | sudo bash -s -- --platform teams
# Telegram
curl -fsSL https://raw.githubusercontent.com/Hilo-Inc/robolog/main/install-native.sh | sudo bash -s -- --platform telegram
# Complete example with all options
curl -fsSL https://raw.githubusercontent.com/Hilo-Inc/robolog/main/install-native.sh | sudo bash -s -- --yes --model gemma3n:e2b --language English --platform slackTo switch between platforms, edit your configuration:
# Edit configuration
robolog config
# Or directly edit the .env file
nano /opt/robolog/.envThen restart the service:
robolog restartAfter configuration, test your webhook:
# Generate test errors
robolog test-errors
# Check service status
robolog status
# View logs
robolog logsYou should receive notifications on your chosen platform within 60 seconds!
All platforms support multilingual notifications. Set your preferred language:
LANGUAGE=Spanish # Will send notifications in Spanish
LANGUAGE=French # Will send notifications in French
LANGUAGE=German # Will send notifications in German
# ... and many more languages supported-
No notifications received
- Check webhook URL is correct
- Verify platform is set correctly
- Check service status:
robolog status
-
Webhook errors in logs
- Verify webhook URL is accessible
- Check platform-specific authentication
- Review logs:
robolog logs
-
Wrong message format
- Ensure
WEBHOOK_PLATFORMmatches your platform - Some platforms require specific URL formats (especially Telegram)
- Ensure
# Check environment variables
cat /opt/robolog/.env
# View detailed logs
journalctl -u robolog-analyzer -f
# Test webhook manually
curl -X POST "YOUR_WEBHOOK_URL" -H "Content-Type: application/json" -d '{"content":"Test message"}'For platforms requiring authentication headers, you can modify the webhook function in analyzer.js:
// Add custom headers in the sendWebhook function
const headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN' // Add custom auth
};Adjust polling frequency to avoid rate limits:
# In .env file
POLL_MS=30000 # Poll every 30 seconds instead of 10Each platform has different message limits and formatting:
- Discord: 2000 characters, supports markdown
- Slack: 4000 characters, supports mrkdwn
- Teams: Rich cards with sections
- Telegram: 4096 characters, supports markdown
- Mattermost: 4000 characters, supports markdown
- Rocket.Chat: 1000 characters, supports markdown
- Generic: No specific limits, JSON format