A CallMeBot alternative, when personal use is not enough
Last updated 13 November 2026
Published 13 November 2026.
If you have a homelab, a Grafana instance or a Home Assistant box, you have probably met CallMeBot. It is the first answer in almost every thread about getting a WhatsApp message out of a machine, and for good reason: you add a contact, send one activation message, get a key, and a curl puts a message on your own phone. No account, no card.
This is not a piece about why you should stop using it. For what it does, it is hard to beat free. It is a piece about the wall people hit, which is written plainly on CallMeBot's own page and still surprises everyone.
What the free API actually covers
From the CallMeBot documentation itself: "The Free API is only for personal use." The same page lists what it will not do, and points you elsewhere for any of it — to textmebot for low cost, or to Twilio as "best official provider".
The capabilities on that list are the interesting part:
- sending to other people
- group messages
- using your own WhatsApp number
- images, buttons and documents
So the shape of the free service is precise: it messages you, on the number you activated, with text. The moment a second person needs the alert — a colleague on call, a business partner, your co-founder — you are outside what it offers, by its author's own description.
That is the wall. Everything below is about which side of it you are on.
If you only need your own phone to buzz
Stay where you are, or go simpler. Genuinely.
A single-recipient notification to your own device is a solved problem with several free answers, and paying for it would be silly:
- CallMeBot, as above. Free, personal use, text to your own number.
- ntfy, open source, self-hostable, and free on ntfy.sh. Push notifications from a
curl, no account needed. - Pushover publishes $4.99 one-time per platform (iPhone/iPad, Android, Desktop) and 10,000 messages per month per user at no further charge.
- A Telegram bot. Free, no limits worth worrying about for a homelab, and about ten minutes of setup.
The only reason to put a personal alert on WhatsApp specifically is that WhatsApp is the app you already have open and have not silenced. That is a real reason — it is why people keep asking for this — but it is a preference, not a requirement, and the free options above are the right answer for one person's own machines.
If the alert has to reach somebody else
Now it is a different problem, and the options narrow sharply. Prices below are each vendor's own published figures, read on 13 November 2026:
| Option | What it costs | What it needs from you |
|---|---|---|
| CallMeBot free API | Free | Personal use only; cannot send to others |
| textmebot | $1/month for one recipient, $6/month unlimited recipients ($10 and $60 yearly) | Your own WhatsApp number, linked by QR code |
| Self-hosted gateway (Evolution, WaSphere, OpenWA and similar) | Free software, plus a server you keep running | Your own WhatsApp number, held open as a linked device |
| Twilio or another BSP | Per-message, plus Meta's own fees | A WhatsApp Business Account, a registered number, approved templates |
| Meta's Cloud API directly | Meta's per-message fees | A Meta developer account, business verification, a number, approved templates |
| Jabee alerts | $29/month for 500 alerts, then 3¢ each | An API key. No number, no Meta account |
Two of those rows deserve a warning rather than a price.
Anything that links your own number as a device — the QR-code services and the self-hosted gateways both work this way — is using WhatsApp as though your phone were doing it. It works, it is cheap, and the risk is the number itself. WhatsApp restricts numbers that send unwanted or automated traffic, and the number you linked is usually the one you use personally. If you cannot afford to lose it, this is the wrong tool, and the people who maintain those projects say so themselves.
The official route is the opposite trade: nothing is at risk and everything is slow. A Meta developer account, business verification, a registered number, a message template written and submitted for review, and re-approval each time you change the wording. That is days of work before the first "disk is full" arrives, which is why so few homelabs have it.
The third option, and the trade it makes
What we built is the middle: the alert goes over Meta's official Cloud API, on our registered number, using our approved template. You send a key and a title.
curl -X POST https://api.jabee.ai/api/v1/alerts \
-H "Authorization: Bearer $JABEE_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Disk is nearly full on db-1",
"body": "94% of 500GB. Backups will fail tonight.",
"url": "https://grafana.example/d/abc"
}'
No number to register, no Meta account, no template to get approved, nothing of yours to get banned — because there is nothing of yours in it.
The trade is the honest part, and it is not small: it can only message people who have verified a phone with us. Your own team, in other words. It cannot message your customers, and that is not a setting we can turn on for you — a shared number messaging strangers is precisely what gets a number restricted, and that number is shared by every business using it. If you need to reach customers, you need your own number on the far side, and no shortcut changes that.
The other limits worth knowing before you build on it: 500 alerts a month on the $29 plan and 3¢ each after that, a ceiling of 200 new alerts per business in any 24 hours, titles capped at 120 characters, and a quality rule — three notifications in a row that a handset never answers and we stop sending to it, with an email to the account owner. Replying once to the number starts it again.
The first three are free, which is enough to wire it to something and watch a message arrive before deciding anything.
Wiring it to what you already run
Each of these is a page with the actual configuration rather than a paragraph of encouragement:
- Grafana and Prometheus Alertmanager — a webhook contact point and a key, no template and no relay, Grafana Cloud included
- Uptime Kuma — the Webhook notification type with a custom body
- Zabbix — a webhook media type and twenty lines of script
- GitHub Actions — one step with
if: failure()and a link to the run - cron and systemd — a
||after the job, or oneOnFailure=unit for the whole machine - Home Assistant — a
rest_commandand one automation - n8n, Make and Zapier — an HTTP request node, no WhatsApp Business account
So which one
If it is your own phone and your own machines: CallMeBot or ntfy, and you are done. Nothing here is better for that.
If other people need the message and you do not want their alerts depending on a personal WhatsApp number staying unrestricted, the choice is a BSP with a number of your own and a week of setup, or a shared number like ours with the customer-messaging door closed. Both are real answers. The second one is twenty minutes.
Questions
Is CallMeBot free? Yes, for personal use. The documentation states that the free API is only for personal use, and lists sending to other people, group messages, using your own number, images, buttons and documents as things it does not do, pointing to textmebot or Twilio for those.
Can I send WhatsApp alerts to my team without a WhatsApp Business Account? Yes, if the alerts go through a service whose number and message template are already registered with Meta. Jabee's alerts API works that way: an API key, a POST, and a message from Jabee's number to any colleague who has verified their phone. There is nothing to register and no template review.
Is a self-hosted WhatsApp gateway safe to use for alerts? It works, and the risk is the number. These gateways connect your own WhatsApp number as a linked device, and WhatsApp restricts numbers sending unwanted or automated traffic. For a number you use personally, that is a real exposure; the projects themselves advise against it if losing the number would hurt.
What is the cheapest way to get WhatsApp alerts from Grafana? For one person, CallMeBot plus a small translating script is free. For a team, a webhook contact point pointed at an alerts API with its own registered number costs $29 a month here and needs no number or Meta account of your own. Grafana has no native WhatsApp contact point either way.
Why can't these services message my customers? Because the number is shared. One business sending unwanted messages from a shared number damages delivery for everyone on it, so services built this way restrict sending to people who have verified their own phone. Reaching customers requires your own number, your own templates and your own sending reputation.