pingwa, a penguin with a green scarf

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

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

Free to start Open-source · MIT No Meta setup
⚡ or just tell your coding agent
Set up pingwa for me: https://pingwa.dev/llms.txt
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

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

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.

How it works

Three steps. One of them is a text message.

01 / JOIN

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 / PING

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 / ASK

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.

Connect your agent

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.

Use cases

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"}

Agent finished, get pinged

A Claude Code or Cursor stop-hook pings your phone when a long task is done. Stop staring at the terminal.

claude-code hook: pingwa send "task done, 3 files changed"

CI & cron alerts

Pipeline red, backup skipped, cert expiring. The alert lands where you actually look, not in a dashboard you forgot.

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

Anything to WhatsApp

Form submission, first sale, a sensor at home. If it can curl, it can ping you.

if sold_out: pingwa("restock alert 📦")
Pricing

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” →
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.

FAQ

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.

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.

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.