Est. 2026 official Meta Cloud API won't ban your number client open-source, MIT free to start
WhatsApp for AI agents & cron jobs

Your AI agent texts your phone. And asks when it needs you.

Notifications and two-way approvals on WhatsApp, from any agent, script, cron or CI. No Meta setup, no templates, no dashboard. Text join, get an API key back, and curl.

free to start official Meta Cloud API open source · MIT
✂ or just tell your coding agent
Set up pingwa for me: https://pingwa.dev/llms.txt
pingwaonline
Deploy to prod? 🚀14:32
↩ Yes↩ No
Yes14:32 ✓✓
Shipping… I’ll ping you when it’s live ✅14:33
fig. 1: the agent waits, you tap, it continues
QR code to join pingwa on WhatsApp

Scan the code and get instant access. It opens WhatsApp with “join” ready to send, and your API key comes straight back.

★ 60 seconds, start to ping ★
# 1. WhatsApp: send "join" to +48797882513 → key arrives instantly
# 2. ship it
curl -X POST https://pingwa.dev/v1/notify \
  -H "Authorization: Bearer pw_your_key" \
  -d '{"text": "deploy finished ✅"}'
# → buzzes in your pocket

# need a decision? ask and wait for the tap
curl -X POST https://pingwa.dev/v1/ask \
  -H "Authorization: Bearer pw_your_key" \
  -d '{"text": "Deploy to prod?", "buttons": ["yes","no"]}'
# → you tap "yes" in WhatsApp, the agent keeps going

Runs on the official Meta Cloud API: you never link your personal WhatsApp, so it can't get your number banned like Baileys / QR-scan bridges do. See how it compares →

Spam-proof by design. pingwa only ever texts your own number. Message text is never logged, and keys are stored only as a hash.

§ 1

Three steps. One of them is a text message.

01.

Text “join”

Message +48797882513 on WhatsApp. Your API key comes back in seconds. Texting from your phone is what verifies it. No forms, no email.

02.

Call the API

One POST /v1/notify from any script, cron, CI job or agent. Errors tell you and your agent exactly what to do next.

03.

Get an answer

Your agent can ask a question with tap-buttons. You tap the answer on WhatsApp and the agent keeps going. Any reply also opens a free 24h window.

§ 2

Give your agent the tools, not another API to learn.

pingwa ships a Model Context Protocol server. Point your agent at one URL and it gets notify, check_status, and upgrade as native tools. Auth is your pingwa key in one header. Nothing else to wire up.

✂ fastest: paste this to your coding agent Set up a pingwa account for me and wire it into this project: https://pingwa.dev/llms.txt

Your agent reads the docs, runs the registration flow, and configures itself. Or wire it up by hand:

# ~/.cursor/mcp.json
{
  "mcpServers": {
    "pingwa": {
      "url": "https://pingwa.dev/mcp",
      "headers": { "Authorization": "Bearer pw_your_key" }
    }
  }
}
# run once in your terminal
claude mcp add --transport http pingwa \
  https://pingwa.dev/mcp \
  --header "Authorization: Bearer pw_your_key"
# .vscode/mcp.json
{
  "servers": {
    "pingwa": {
      "type": "http",
      "url": "https://pingwa.dev/mcp",
      "headers": { "Authorization": "Bearer pw_your_key" }
    }
  }
}
# any MCP client that speaks Streamable HTTP
{
  "mcpServers": {
    "pingwa": {
      "url": "https://pingwa.dev/mcp",
      "headers": { "Authorization": "Bearer pw_your_key" }
    }
  }
}
# tools: notify · check_status · upgrade — full notes at /llms.txt

Prefer a shell? uvx pingwa send "build done" reads PINGWA_KEY and exits non-zero on failure. CI-friendly, no MCP needed.

No key yet? Text “join” to get one, or have your agent run the registration flow so the key is minted straight to it, with no copy-paste.

§ 3

Built for the age of agents

Human-in-the-loop approvals

Your agent hits a decision it should not make alone. It asks on WhatsApp, you tap an answer from anywhere, and it continues. Nobody else does this in one API call.

POST /v1/ask {"text":"rollback prod?","buttons":["yes","no"]}
→ {"reply":"yes"}

Long task done, get pinged

Your agent grinds through a big task; you walk away. The done-ping finds you: from a terminal agent, a remote server, or a laptop you already closed.

stop hook: pingwa send "task done, 3 files changed"

CI & cron alerts

Pipeline red, backup skipped, cert expiring. Runs headless where built-in agent notifications can't reach: no session, no OAuth, just curl. Recipe →

curl … -d '{"text":"nightly backup FAILED"}'

Your app's first user is you

First signup, first sale, first crash. Your vibe-coded app texts you at the moment it matters. Recipe →

stripe webhook: pingwa("💸 first sale!")

Nine recipes with paste-ready code (watchers, trading bots, deploy gates, ESP32, Home Assistant and more): the use-case index.

§ 4

Free to try. Cheap to keep.

Free
$0/mo
  • 30 paid-route notifications / month
  • Unlimited pings inside your 24h reply window
  • Full API + panel access
  • Stop anytime, just reply “stop”
Send “join” →
Talk to us Custom
Let’s talk
  • Higher volume for busy agents & teams
  • Your own dedicated WhatsApp number
  • Priority delivery, no shared-number limits
  • Usage-based paid plans coming: talk to us
Contact us →

Honest math: WhatsApp charges per business-initiated message, and rates vary by country. Replying to the bot opens a 24h window where everything is free, so chatty users pay nothing. Need guaranteed higher volume or a dedicated number? Self-serve paid plans are coming. For now, just reach out.

§ 5

Fair questions

Why not just a Telegram bot?

If you live on Telegram, use a Telegram bot. But in most of the world, like LatAm, India, MEA and southern Europe, WhatsApp is the app that is already open. pingwa puts notifications where you actually look, and adds an agent-native API on top.

Do I need a Meta / WhatsApp Business account?

No. That's the point. pingwa owns the WhatsApp infrastructure; you just text “join” and call a REST API.

Will this get my WhatsApp banned?

No. pingwa runs on the official Meta Cloud API on its own number, and only ever messages the phone that joined. You never link your personal account. That is the key difference from tools built on Baileys, whatsmeow or other QR-scan “linked device” bridges: those reverse-engineer WhatsApp Web and link your number, which violates WhatsApp's terms and routinely gets personal numbers permanently banned, with no appeal. Full comparison →

Claude Code has Remote Control now: why pingwa?

Remote Control is great, if you run Claude Code with a claude.ai login. It doesn't support API keys, is blocked on Bedrock and Vertex, is off by default on Team/Enterprise plans, and its Channels preview has no WhatsApp. pingwa is one curl from anything: Cursor, Codex, cron, CI, your own scripts. The answer arrives on WhatsApp, the app that's already open. Full comparison →

Can it message other people?

No, by design. pingwa only ever messages the phone that joined. That is what keeps it spam-proof and instant to set up.

Is my API key safe in a WhatsApp message?

The key is delivered once over WhatsApp's end-to-end encrypted channel and stored by us only as a SHA-256 hash. Re-send “join” anytime to rotate it instantly.

How do agents integrate?

REST first (OpenAPI), llms.txt for LLM readers, and error responses that contain the fix. There is also an uvx pingwa CLI and an MCP server. The client is open-source (MIT), so you can read exactly what it sends.

Can my agent or automation receive replies?

Yes, two ways. Register a webhook (POST /v1/webhooks) and pingwa PUSHES every inbound message to your HTTPS endpoint, signed with an X-Pingwa-Signature HMAC you verify. Prefer to pull? Long-poll GET /v1/inbox instead. Either way you get the reply text and the tapped button_id. See the llms.txt.

Will a retry double-send or double-charge me?

No, if you pass an Idempotency-Key header. The same key replays the original result, so you get one message and one quota slot, even under a concurrent retry. Safe for agents that retry on timeout. See the llms.txt.

Can I trust it with my number and my card?

Read the privacy page: message text, keys and phone numbers are never logged; keys are stored only as a SHA-256 hash; data lives on the operator's own homelab, not a cloud. The client is open-source (MIT), so the claims are auditable, and you can erase everything with DELETE /v1/me.

Is it really free? Are there paid plans?

Free covers most solo use: 30 paid-route notifications a month, plus unlimited pings inside your 24h reply window. Need guaranteed higher volume or your own dedicated WhatsApp number? Self-serve paid plans are on the way. For now, reach out and we'll sort it out.