configure-notifications
Enables users to configure notification integrations for Telegram, Discord, and Slack through natural language interactions.
Install this skill
Security score
The configure-notifications skill was audited on May 19, 2026 and we found 96 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 118 | ```bash |
Template literal with variable interpolation in command context
| 203 | ```bash |
Template literal with variable interpolation in command context
| 462 | ```bash |
Template literal with variable interpolation in command context
| 699 | ```bash |
Template literal with variable interpolation in command context
| 1047 | ```bash |
Template literal with variable interpolation in command context
| 1159 | ```bash |
Curl to non-GitHub URL
| 122 | curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates" | jq '.result[-1].message.chat.id // .result[-1].message.from.id // "No messages found - send /start to your bot first"' |
Webhook reference - potential data exfiltration
| 12 | - "discord webhook" |
Webhook reference - potential data exfiltration
| 15 | - "slack webhook" |
Webhook reference - potential data exfiltration
| 35 | 2. **Discord** - Webhook or bot token + channel ID. |
Webhook reference - potential data exfiltration
| 36 | 3. **Slack** - Incoming webhook URL. |
Webhook reference - potential data exfiltration
| 283 | WEBHOOK_URL=$(jq -r '.notifications.discord.webhookUrl // empty' "$CONFIG_FILE" 2>/dev/null) |
Webhook reference - potential data exfiltration
| 288 | echo "WEBHOOK_CONFIGURED=$HAS_DISCORD" |
Webhook reference - potential data exfiltration
| 290 | [ -n "$WEBHOOK_URL" ] && echo "WEBHOOK_URL=$WEBHOOK_URL" |
Webhook reference - potential data exfiltration
| 309 | 1. **Webhook (Recommended)** - Create a webhook in your Discord channel. Simple, no bot needed. Just paste the URL. |
Webhook reference - potential data exfiltration
| 312 | ### Step 3A: Webhook Setup |
Webhook reference - potential data exfiltration
| 314 | If user chose Webhook: |
Webhook reference - potential data exfiltration
| 318 | **Question:** "Paste your Discord webhook URL. To create one: Server Settings > Integrations > Webhooks > New Webhook > Copy URL" |
Webhook reference - potential data exfiltration
| 320 | The user will type their webhook URL in the "Other" field. |
Webhook reference - potential data exfiltration
| 323 | - Must start with `https://discord.com/api/webhooks/` or `https://discordapp.com/api/webhooks/` |
Webhook reference - potential data exfiltration
| 376 | **Question:** "Custom bot display name? (Shows as the webhook sender name in Discord)" |
Webhook reference - potential data exfiltration
| 398 | #### For Webhook method: |
Webhook reference - potential data exfiltration
| 403 | # WEBHOOK_URL, MENTION, USERNAME are collected from user |
Webhook reference - potential data exfiltration
| 407 | --arg url "$WEBHOOK_URL" \ |
Webhook reference - potential data exfiltration
| 414 | webhookUrl: $url, |
Webhook reference - potential data exfiltration
| 463 | # For webhook: |
Webhook reference - potential data exfiltration
| 467 | "$WEBHOOK_URL" |
Webhook reference - potential data exfiltration
| 479 | Method: Webhook / Bot API |
Webhook reference - potential data exfiltration
| 487 | OMC_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/... |
Webhook reference - potential data exfiltration
| 499 | **Webhook method:** |
Webhook reference - potential data exfiltration
| 501 | export OMC_DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." |
Webhook reference - potential data exfiltration
| 531 | WEBHOOK_URL=$(jq -r '.notifications.slack.webhookUrl // empty' "$CONFIG_FILE" 2>/dev/null) |
Webhook reference - potential data exfiltration
| 537 | [ -n "$WEBHOOK_URL" ] && echo "WEBHOOK_URL=$WEBHOOK_URL" |
Webhook reference - potential data exfiltration
| 550 | ### Step 2: Create a Slack Incoming Webhook |
Webhook reference - potential data exfiltration
| 552 | Guide the user through creating a webhook if they don't have one: |
Webhook reference - potential data exfiltration
| 555 | To set up Slack notifications, you need a Slack incoming webhook URL. |
Webhook reference - potential data exfiltration
| 557 | CREATE A WEBHOOK: |
Webhook reference - potential data exfiltration
| 561 | 4. Go to "Incoming Webhooks" in the left sidebar |
Webhook reference - potential data exfiltration
| 562 | 5. Toggle "Activate Incoming Webhooks" to ON |
Webhook reference - potential data exfiltration
| 563 | 6. Click "Add New Webhook to Workspace" |
Webhook reference - potential data exfiltration
| 565 | 8. Copy the webhook URL (starts with https://hooks.slack.com/services/...) |
Webhook reference - potential data exfiltration
| 568 | ### Step 3: Collect Webhook URL |
Webhook reference - potential data exfiltration
| 572 | **Question:** "Paste your Slack incoming webhook URL (starts with https://hooks.slack.com/services/...)" |
Webhook reference - potential data exfiltration
| 574 | The user will type their webhook URL in the "Other" field. |
Webhook reference - potential data exfiltration
| 624 | **Question:** "Override the default notification channel? (The webhook already has a default channel)" |
Webhook reference - potential data exfiltration
| 627 | 1. **Use webhook default (Recommended)** - Post to the channel selected during webhook setup |
Webhook reference - potential data exfiltration
| 636 | **Question:** "Custom bot display name? (Shows as the webhook sender name in Slack)" |
Webhook reference - potential data exfiltration
| 657 | # WEBHOOK_URL, MENTION, USERNAME, CHANNEL are collected from user |
Webhook reference - potential data exfiltration
| 659 | --arg url "$WEBHOOK_URL" \ |
Webhook reference - potential data exfiltration
| 667 | webhookUrl: $url, |
Webhook reference - potential data exfiltration
| 700 | # For webhook: |
Webhook reference - potential data exfiltration
| 709 | "$WEBHOOK_URL" |
Webhook reference - potential data exfiltration
| 713 | - **403 Forbidden**: Webhook URL is invalid or revoked |
Webhook reference - potential data exfiltration
| 714 | - **404 Not Found**: Webhook URL is incorrect |
Webhook reference - potential data exfiltration
| 725 | Webhook: https://hooks.slack.com/services/T00/B00/xxx... |
Webhook reference - potential data exfiltration
| 727 | Channel: #alerts (or "webhook default") |
Webhook reference - potential data exfiltration
| 734 | OMC_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... |
Webhook reference - potential data exfiltration
| 747 | export OMC_SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00/B00/xxx" |
Webhook reference - potential data exfiltration
| 772 | - `omc --webhook` — Activates webhook notifications (sets `OMC_WEBHOOK=1`) |
Webhook reference - potential data exfiltration
| 779 | - `omc --telegram --slack --webhook` — Telegram + Slack + Webhook active |
Webhook reference - potential data exfiltration
| 944 | Configure custom webhooks and CLI commands for services beyond the native Discord/Telegram/Slack integrations. |
Webhook reference - potential data exfiltration
| 948 | If the user says "custom integration", "openclaw", "n8n", "webhook", "cli command", or similar → follow this section. |
Webhook reference - potential data exfiltration
| 995 | 2. **n8n Webhook** - Trigger n8n workflows |
Webhook reference - potential data exfiltration
| 997 | 4. **Generic Webhook** - Custom HTTPS webhook |
Webhook reference - potential data exfiltration
| 1004 | **Question:** "What is your gateway/webhook URL?" |
Webhook reference - potential data exfiltration
| 1043 | 1. **Yes, test now** - Send test webhook |
Webhook reference - potential data exfiltration
| 1048 | # For webhook integrations |
Webhook reference - potential data exfiltration
| 1053 | "$WEBHOOK_URL" |
Webhook reference - potential data exfiltration
| 1070 | "type": "webhook", |
Webhook reference - potential data exfiltration
| 1090 | ### Generic Webhook Flow |
Webhook reference - potential data exfiltration
| 1093 | Ask for webhook URL (HTTPS required). |
Access to hidden dotfiles in home directory
| 46 | This is an interactive, natural-language configuration skill. Walk the user through setup by asking questions with AskUserQuestion. Write the result to `~/.claude/.omc-config.json`. |
Access to hidden dotfiles in home directory
| 242 | Config saved to: ~/.claude/.omc-config.json |
Access to hidden dotfiles in home directory
| 272 | This is an interactive, natural-language configuration skill. Walk the user through setup by asking questions with AskUserQuestion. Write the result to `~/.claude/.omc-config.json`. |
Access to hidden dotfiles in home directory
| 484 | Config saved to: ~/.claude/.omc-config.json |
Access to hidden dotfiles in home directory
| 522 | This is an interactive, natural-language configuration skill. Walk the user through setup by asking questions with AskUserQuestion. Write the result to `~/.claude/.omc-config.json`. |
Access to hidden dotfiles in home directory
| 731 | Config saved to: ~/.claude/.omc-config.json |
Access to hidden dotfiles in home directory
| 795 | Check if `~/.claude/omc_config.hook.json` exists. If it does, show the current configuration. If not, explain what it does. |
Access to hidden dotfiles in home directory
| 802 | Config file: ~/.claude/omc_config.hook.json |
Access to hidden dotfiles in home directory
| 882 | Read or create `~/.claude/omc_config.hook.json` and merge the new settings: |
Access to hidden dotfiles in home directory
| 952 | If `~/.claude/omc_config.openclaw.json` exists, detect and offer migration: |
External URL reference
| 88 | 2. Visit: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates |
External URL reference
| 122 | curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates" | jq '.result[-1].message.chat.id // .result[-1].message.from.id // "No messages found - send /start to your bot first"' |
External URL reference
| 209 | "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \ |
External URL reference
| 323 | - Must start with `https://discord.com/api/webhooks/` or `https://discordapp.com/api/webhooks/` |
External URL reference
| 487 | OMC_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/... |
External URL reference
| 501 | export OMC_DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." |
External URL reference
| 558 | 1. Go to https://api.slack.com/apps |
External URL reference
| 565 | 8. Copy the webhook URL (starts with https://hooks.slack.com/services/...) |
External URL reference
| 572 | **Question:** "Paste your Slack incoming webhook URL (starts with https://hooks.slack.com/services/...)" |
External URL reference
| 577 | - Must start with `https://hooks.slack.com/services/` |
External URL reference
| 725 | Webhook: https://hooks.slack.com/services/T00/B00/xxx... |
External URL reference
| 734 | OMC_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... |
External URL reference
| 747 | export OMC_SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00/B00/xxx" |
External URL reference
| 1074 | "url": "https://my-gateway.example.com/wake", |
External URL reference
| 1145 | https://my-api.com/notify |