pingwa

Zero-setup WhatsApp notifications + human-in-the-loop for AI agents — text 'join', send in 60s.

Community: Submitted by a user or imported; check the owner before granting accessDegradedNo sign-inGlobalFreeCan modify data

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

    Zero-setup WhatsApp notifications + human-in-the-loop for AI agents — text 'join', send in 60s.

    Server tool list (5)

    Raw names from tools/list. Only developers need these.

    notifySend a WhatsApp notification to the account owner's own phone. `text` is the message (1-1024 chars). `image_url` (optional) is a public https image link — a screenshot, chart or diff — delivered as an image with `text` as the caption when the user's 24h window is open (otherwise text only). Returns a confirmation with the queued message id; raises an actionable error on quota/auth.
    check_statusShow the pingwa account's plan, remaining monthly quota, and whether the free 24h WhatsApp reply window is currently open.
    upgradeGet a link to upgrade the account to Pro (raises the monthly quota). Returns a Stripe Checkout URL for the human to open and pay — no pingwa password needed, the card is handled by Stripe. If the account is already Pro, returns a billing-portal URL to manage or cancel instead.
    askAsk the human a question on WhatsApp and BLOCK until they reply (or timeout). `text` is the question. `buttons` (optional, up to 3) render as tappable reply buttons; omit them to invite a free-text answer the human types on their phone — use this to let the human steer you mid-task. `timeout` is seconds to wait (max 90). Returns the human's reply (free text and/or the chosen option). On timeout, returns a note — the question was delivered and the answer is still retrievable via `check_replies`.
    check_repliesPull inbound WhatsApp messages the human sent to pingwa (out-of-band instructions, or late answers to an `ask`). `since` is a cursor from a previous call (pass it back to get only newer messages); `wait` long-polls up to that many seconds for something to arrive. Returns the messages and a new cursor.