One of the most underused OpenClaw features is push notifications. Most people set up their AI employees to run on a VPS and then check in manually through Telegram or the web UI. But there is a better way: ntfy.
ntfy (pronounced "notify") is an open-source push notification service that delivers instant alerts to your phone whenever an OpenClaw agent finishes a task, hits an error, or needs your attention. This guide shows you exactly how to set it up.
Telegram is great for chatting with your AI employees, but it has limitations as a notification system:
ntfy solves all of this. It is a pure push system with a dedicated app, notification priorities, and topic-based organization. Your AI employees push to ntfy topics and your phone receives them instantly — no polling, no bot connection required.
The fastest way to get started is with the hosted ntfy.sh service. It is free and rate-limited to 250 notifications per hour, which is plenty for personal use.
Topics are like channels — any unique string works. Open the ntfy app and subscribe to a topic like my-openclaw-agents. Anyone who knows this topic name can send to it, so pick something not guessable (like openclaw-abc123).
curl -d "Hello from OpenClaw!" ntfy.sh/my-openclaw-agentsYou should see the notification appear on your phone within seconds. If it works, you are ready to integrate with OpenClaw.
OpenClaw agents can send ntfy notifications using shell commands in their SOUL.md. Here is how to configure your agent to send notifications at key moments:
# SOUL.md - Agent with ntfy notifications
## Identity
You are TaskBot, an AI employee that runs daily reports.
## Notification Setup
When you complete a task or encounter an important event, notify the user via ntfy:
- Task completed: send "✅ Task: [task name] completed"
- Error encountered: send "❌ Error: [brief description]"
- Daily summary ready: send "📊 Daily report ready"
To send a notification, use this command:
curl -H "Title: OpenClaw Agent" \
-H "Priority: default" \
-d "[your message]" \
ntfy.sh/my-openclaw-agentsntfy supports five priority levels. Use them to distinguish routine updates from urgent alerts:
# Routine completion (priority 3 = default)
curl -H "Title: Report Done" \
-H "Priority: 3" \
-d "Daily analytics report generated" \
ntfy.sh/my-openclaw-agents
# High priority - something needs attention (priority 4)
curl -H "Title: Action Needed" \
-H "Priority: 4" \
-d "Customer message requires response" \
ntfy.sh/my-openclaw-agents
# Urgent - system error (priority 5)
curl -H "Title: 🚨 Error" \
-H "Priority: 5" \
-d "Agent failed: API rate limit exceeded" \
ntfy.sh/my-openclaw-agentsIf you run several OpenClaw agents, give each one its own ntfy topic so you can filter notifications by agent:
# Agent 1: Research agent
ntfy.sh/openclaw-research-abc123
# Agent 2: Customer support agent
ntfy.sh/openclaw-support-abc123
# Agent 3: Analytics agent
ntfy.sh/openclaw-analytics-abc123Subscribe to all topics in the ntfy app. You can set different notification sounds per topic to know which agent is alerting you without looking at your phone.
For unlimited notifications and full privacy, run your own ntfy server. If OpenClaw is already running on a VPS, add ntfy to the same server with Docker:
# docker-compose.yml (add to your existing OpenClaw stack)
services:
ntfy:
image: binwiederhier/ntfy
command: serve
environment:
- NTFY_BASE_URL=https://ntfy.yourdomain.com
- NTFY_CACHE_FILE=/var/cache/ntfy/cache.db
- NTFY_AUTH_FILE=/var/cache/ntfy/auth.db
volumes:
- ntfy-cache:/var/cache/ntfy
- ntfy-config:/etc/ntfy
ports:
- "8080:80"
restart: unless-stopped
volumes:
ntfy-cache:
ntfy-config:Once running, update your agent SOUL.md to use your server URL instead of ntfy.sh:
curl -d "Task complete" https://ntfy.yourdomain.com/my-topicIn the ntfy app, change the server URL in Settings to your self-hosted instance. All your subscriptions will route through your own server.
Configure your analytics AI employee to send a daily summary notification every morning:
## Tasks (in SOUL.md)
Every day at 8:00 AM:
1. Pull yesterday's metrics from the database
2. Generate a brief summary (3-5 key numbers)
3. Send ntfy notification: "📊 [date] | Revenue: $X | Users: Y | Errors: Z"
4. If any metric is significantly below target, set priority to 4 (high)Your customer support AI employee can alert you immediately when it encounters a request it cannot handle:
## Escalation Rules (in SOUL.md)
If you receive a question you cannot answer confidently:
1. Reply to the customer that a human will follow up
2. Send ntfy notification with priority 5: "🚨 Escalation needed: [customer ID] - [brief issue description]"
3. Log the conversation for human review## After completing each task:
Send notification: "✅ [Task name] done in [duration]. Output: [one-line summary]"Setting up ntfy manually works great, but if you want your AI employees pre-configured with smart notification rules, check out CrewClaw. It generates a complete SOUL.md with your chosen notification channels already wired up — including ntfy, Telegram, and Slack.
Your AI employee starts in 60 seconds with notifications configured out of the box.
ntfy (notify) is a simple, open-source push notification service. Unlike Telegram, it does not require your AI employees to maintain a bot connection. It is a pure push system — agents send a notification, you receive it instantly on your phone. It works even when your OpenClaw Telegram bot is down.
Yes. ntfy.sh is free for basic use (rate limited). You can also self-host the ntfy server for unlimited notifications. The ntfy mobile app is free on iOS and Android.
Absolutely. Many users run both: Telegram for interactive conversations with their AI employees, and ntfy for silent background alerts (task completions, errors, daily summaries). They serve different purposes.
Run ntfy as a Docker container: docker run -p 80:80 -v /var/cache/ntfy:/var/cache/ntfy -v /etc/ntfy:/etc/ntfy binwiederhier/ntfy serve. Configure your OpenClaw agent to use your server URL instead of ntfy.sh. See ntfy documentation for TLS/HTTPS setup.
Most useful: task completion alerts, error notifications, daily summary reports, and critical event triggers (e.g., when a customer message comes in). Avoid notifying on every single action — alert on outcomes, not steps.
Skip the setup. Pick a template and deploy in 60 seconds.
Pick a role. Your AI employee starts working in 60 seconds. WhatsApp, Telegram, Slack & Discord. No setup required.
Get Your AI Employee