notify
Send notifications via WhatsApp, email, or Discord when tasks complete or fail. Use this skill to alert the user about orchestrator results. Triggers: "notify", "send message", "alert user", "tell me when done", "send notification", "message me"
SKILL.md
| Name | notify |
| Description | Send notifications via WhatsApp, email, or Discord when tasks complete or fail. Use this skill to alert the user about orchestrator results. Triggers: "notify", "send message", "alert user", "tell me when done", "send notification", "message me" |
name: notify description: | Send notifications via WhatsApp, email, or Discord when tasks complete or fail. Use this skill to alert the user about orchestrator results.
Triggers: "notify", "send message", "alert user", "tell me when done", "send notification", "message me" metadata: clawdbot: requiredEnv: - NOTIFY_WHATSAPP_TO # or CALLMEBOT_PHONE or SENDGRID_API_KEY
Notification Skill
Send notifications when orchestration tasks complete or fail.
Supported Channels
1. WhatsApp via Twilio (Recommended)
Best for immediate notifications. Requires Twilio account.
Setup:
- Create account at https://console.twilio.com
- Enable WhatsApp sandbox or get approved number
- Configure environment:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxx
TWILIO_WHATSAPP_FROM=whatsapp:+14155238886
NOTIFY_WHATSAPP_TO=whatsapp:+1XXXXXXXXXX
2. WhatsApp via CallMeBot (Free)
Free alternative, simpler setup but less reliable.
Setup:
- Send "I allow callmebot to send me messages" to +34 644 51 95 23 on WhatsApp
- Get your API key from the response
- Configure environment:
CALLMEBOT_PHONE=+1XXXXXXXXXX
CALLMEBOT_APIKEY=xxxxxxx
3. Email via SendGrid
For email notifications. Good for detailed reports.
Setup:
- Create account at https://sendgrid.com
- Generate API key
- Configure environment:
SENDGRID_API_KEY=SG.xxxxxxxxxxxx
NOTIFY_EMAIL_TO=your@email.com
NOTIFY_EMAIL_FROM=clawdbot@yourdomain.com
Usage
From Shell
# Success notification
./lib/notify.sh success "Task description" "https://github.com/user/repo/pull/123" /path/to/state.json
# Failure notification
./lib/notify.sh failure "Task description" /path/to/failure_report.md /path/to/state.json
# Progress notification
./lib/notify.sh progress "Task description" "Iteration 42/80" /path/to/state.json
From JavaScript
import { sendWhatsApp } from './lib/whatsapp.js';
import { sendEmail } from './lib/email.js';
// WhatsApp
await sendWhatsApp('š¦ Task complete! PR: https://github.com/...');
// Email
await sendEmail(
'Task Complete',
'Your coding task has been completed...'
);
Message Templates
Success Message
š¦ CLAWDBOT TASK COMPLETE
ā
Task: <task_description>
š Project: <project_name>
š PR: <pr_url>
Iterations: <N> (OpenCode) / <M> (Claude)
Status: Codex Approved ā
View PR: <url>
Failure Message
š¦ CLAWDBOT TASK FAILED
ā Task: <task_description>
š Project: <project_name>
š Branch: <branch_name>
Iterations: 80 (OpenCode) + 10 (Claude)
Status: Could not resolve Codex issues
Blocking Issues:
- <issue 1>
- <issue 2>
Logs: <log_path>
Worktree: <worktree_path>
Manual review required.
Progress Message (Optional)
š¦ CLAWDBOT PROGRESS
š Project: <project_name>
š Task: <task_description>
Current iteration: <N>
Status: <current_status>
Configuration
In ~/.clawdbot-orchestrator.env:
# Notification preferences
NOTIFY_ON_SUCCESS=true
NOTIFY_ON_FAILURE=true
NOTIFY_PROGRESS_INTERVAL=0 # 0 = disabled, N = every N iterations
# Preferred channel (whatsapp, email)
NOTIFY_PREFERRED_CHANNEL=whatsapp
Error Handling
If notification fails:
- Log the error
- Continue execution (don't block on notification failures)
- Print the message to stdout as fallback
- Retry once after 5 seconds for transient failures
Rate Limiting
- WhatsApp (Twilio): 1 message/second
- WhatsApp (CallMeBot): 1 message/25 seconds
- Email (SendGrid): Based on plan limits
The skill automatically respects these limits.