Connection check
verified live · 26h ago
pingroom
Send mobile pings and route human questions, approvals, and handoffs from AI agents.
Tools
40
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
26h ago
Tools & capabilities
40 toolsRead from the running server on 26h ago.
activate_agent_inbox
Start or resume the onboarding Question in the private room the human chose during authorization. If recipient_not_ready, ask the human to install or update PingRoom from install_u… Start or resume the onboarding Question in the private room the human chose during authorization. If recipient_not_ready, ask the human to install or update PingRoom from install_url, open the app, sign in, and enable notifications before retrying. Read question.id, then call wait_for_handoff only while state is pending and within a bounded local deadline. Success is answered with activation_completed true. Any other terminal result is incomplete: stop polling that attempt, then call activate_agent_inbox again for one numbered retry. The stamp requires native phone receipt before the human answer.
ask_question
ttldataprompt*contextoptionsreply_to
+5
Ask a person a question with 2-4 tappable options, then block on their answer (pair with wait_for_answer). Delivered as a push they can answer from the lock screen or in-app; the f… Ask a person a question with 2-4 tappable options, then block on their answer (pair with wait_for_answer). Delivered as a push they can answer from the lock screen or in-app; the first valid answer wins. Rate-limited.
broadcast
datatitlemessage*reply_tois_urgentaction_icon
+6
Send a custom ping to a room the account belongs to. Rate-limited. Not available in personal rooms (use trigger_quick_action there). Send a custom ping to a room the account belongs to. Rate-limited. Not available in personal rooms (use trigger_quick_action there).
cancel_question
can modify data
question_id*
Withdraw a still-pending question you asked. Withdraw a still-pending question you asked.
connection_info
read-only
Return stable links for this connection: a latest-pings feed that requires the saved credential, and a token-free PingRoom app install URL. Never send credentials to the install UR… Return stable links for this connection: a latest-pings feed that requires the saved credential, and a token-free PingRoom app install URL. Never send credentials to the install URL.
create_handoff
datakind*prompt*optionsurgencyaudience*
+4
Hand work to exactly one human as either an acknowledgement or a tappable question. The server verifies that one of the recipient's current devices supports the complete Handoff ac… Hand work to exactly one human as either an acknowledgement or a tappable question. The server verifies that one of the recipient's current devices supports the complete Handoff action before creating anything.
create_public_room
icon*name*color*handle*categoryshow_owner
+1
Create a publicly discoverable room with a unique @handle. Counts toward the free-plan five-room cap. Create a publicly discoverable room with a unique @handle. Counts toward the free-plan five-room cap.
create_room
icon*name*color*
Create a new private room owned by the authenticated account. Free accounts may own up to five rooms. If this agent was granted every room and has no delivery room yet, the new roo… Create a new private room owned by the authenticated account. Free accounts may own up to five rooms. If this agent was granted every room and has no delivery room yet, the new room becomes its delivery room — where its handoffs and direct questions land.
create_webhook
iconname*colorsoundtitleenabled
+4
Create an incoming webhook for a room the account owns. The bound account must be Pro. Returns the secret trigger URL — treat it as a credential. Create an incoming webhook for a room the account owns. The bound account must be Pro. Returns the secret trigger URL — treat it as a credential.
delete_attachment
can modify data
attachment_id*
Delete an attachment this agent uploaded that is not yet claimed by a ping. Delete an attachment this agent uploaded that is not yet claimed by a ping.
delete_webhook
can modify data
webhook_id*invite_code*
Delete an incoming webhook (by id) from a room the account owns. Delete an incoming webhook (by id) from a room the account owns.
get_approval
read-only
approval_id*
Fetch the current status of an approval request without blocking. Fetch the current status of an approval request without blocking.
get_attachment
read-only
attachment_id*
Fetch an attachment visible to this agent as base64 content plus metadata. Results over the connector size limit return attachment_too_large — fetch those via the agent REST API in… Fetch an attachment visible to this agent as base64 content plus metadata. Results over the connector size limit return attachment_too_large — fetch those via the agent REST API instead.
get_handoff
read-only
handoff_id*
Fetch the authoritative current state of one Handoff without blocking. Fetch the authoritative current state of one Handoff without blocking.
get_live_status
read-only
invite_code*correlation_id*
Read back the current state of a live stream you created, so a restarted producer can reconcile instead of starting a duplicate. Only returns streams started by this credential, wi… Read back the current state of a live stream you created, so a restarted producer can reconcile instead of starting a duplicate. Only returns streams started by this credential, within the last 24 hours. Returns notification_id and correlation_id, then the stored display state (state, progress, message, category, template, accent_override, eta_at, deadline_at, metrics, prompt, options, left, right, center, steps, current_step), action_state, and updated_at. Fields you never set come back as null rather than being omitted, so a matchup/metrics/countdown/question stream can be resumed without re-sending content.
get_notification
read-only
notification_id*
Fetch one visible ping by notification id, including its current action_state. Fetch one visible ping by notification id, including its current action_state.
get_question
read-only
question_id*
Fetch the current state of a question without blocking. Fetch the current state of a question without blocking.
get_room
read-only
invite_code*
Fetch a single room by its invite code, including members and quick actions. Fetch a single room by its invite code, including members and quick actions.
join_room
can modify data
passwordinvite_code*
Join a room using its invite code. Include the password only if the room is protected. Join a room using its invite code. Include the password only if the room is protected.
list_handoffs
read-only
pagelimitstate
List a bounded page of this agent's Handoffs, newest first. Omit state (or use open) for unresolved work; use all for history and page while has_more is true. List a bounded page of this agent's Handoffs, newest first. Omit state (or use open) for unresolved work; use all for history and page while has_more is true.
list_notifications
read-only
datepagetypelimit
List a bounded page of recent pings across approved rooms, newest first. Use page to continue while has_more is true. List a bounded page of recent pings across approved rooms, newest first. Use page to continue while has_more is true.
list_questions
read-only
pagelimitstate
List a bounded page of questions you asked, newest first. Optionally filter by state; use page while has_more is true. List a bounded page of questions you asked, newest first. Optionally filter by state; use page while has_more is true.
list_quick_actions
read-only
invite_code*
List the quick actions configured for a room. List the quick actions configured for a room.
list_room_icons
read-only
List the room-icon catalog (icon ids, tags, and categories). Call this before create_room / create_public_room / create_webhook to pick a valid icon id, and to interpret icon value… List the room-icon catalog (icon ids, tags, and categories). Call this before create_room / create_public_room / create_webhook to pick a valid icon id, and to interpret icon values returned by reads.
list_rooms
read-only
List the rooms the authenticated account belongs to. List the rooms the authenticated account belongs to.
list_webhooks
read-only
invite_code*
List the incoming webhooks (with their trigger URLs) for a room the account owns. List the incoming webhooks (with their trigger URLs) for a room the account owns.
live_status
datatitleactioninvite_code*live_status*requires_ack
+2
Start, update, or end a live progress card on the room members' lock screen (an iOS Live Activity / Android live update). Reuse the same correlation_id for every ping of one stream… Start, update, or end a live progress card on the room members' lock screen (an iOS Live Activity / Android live update). Reuse the same correlation_id for every ping of one stream: the first ping starts the card and sends one alert, further "running" pings move it silently, and the first "done"/"failed" sends one completion alert and ends it. Free accounts get a small number of NEW streams per day; updates and the final ping are never charged.
request_approval
ttldatatitleoptionsquestion*invite_code*
+2
Ask the human to approve or reject an action, then block on their answer (pair with wait_for_approval). Delivered as a push to the user. Rate-limited. Ask the human to approve or reject an action, then block on their answer (pair with wait_for_approval). Delivered as a push to the user. Rate-limited.
rotate_handle
can modify data
Rotate this agent's public handle — kill-switch for a leaked handle. Rotate this agent's public handle — kill-switch for a leaked handle.
set_avatar
can modify data
avatar_id*
Set this agent's avatar. Must be one of the PingRoom bot avatars. Set this agent's avatar. Must be one of the PingRoom bot avatars.
trigger_quick_action
is_urgentinvite_code*requires_ackaction_number*trigger_source
Press a room quick action, notifying its members. Rate-limited. Press a room quick action, notifying its members. Rate-limited.
update_quick_action
can modify data
icon*label*soundinvite_code*requires_ackaction_number*
Configure a numbered quick-action slot for a room the account owns. Configure a numbered quick-action slot for a room the account owns.
update_quick_actions
can modify data
actions*invite_code*
Configure several of a room's quick-action slots in one call. Prefer this over repeated update_quick_action: each single-slot write wakes the owner's device with its own background… Configure several of a room's quick-action slots in one call. Prefer this over repeated update_quick_action: each single-slot write wakes the owner's device with its own background refresh, so setting up four Pings one at a time spends four of a finite daily push budget on one operation. Slots you do not list are left exactly as they are, so this is also the right tool for editing a single Ping.
update_webhook
can modify data
iconnamecolorsoundtitleenabled
+6
Update an incoming webhook (by id) on a room the account owns — e.g. change its icon, title, message, or sound. Update an incoming webhook (by id) on a room the account owns — e.g. change its icon, title, message, or sound.
upload_attachment
filename*mime_typecontent_base64*
Upload a small file (max ~90 KiB over MCP; Pro account required) and get an attachment id to include in broadcast or ask_question via attachment_ids. Larger files: use the PingRoom… Upload a small file (max ~90 KiB over MCP; Pro account required) and get an attachment id to include in broadcast or ask_question via attachment_ids. Larger files: use the PingRoom CLI or agent REST API.
wait_for_ack
read-only
timeoutnotification_id*
Long-poll a generic acknowledgement-required ping until an eligible recipient acknowledges it, it expires, or the timeout elapses. Questions use wait_for_answer instead. Long-poll a generic acknowledgement-required ping until an eligible recipient acknowledges it, it expires, or the timeout elapses. Questions use wait_for_answer instead.
wait_for_answer
read-only
timeoutquestion_id*
Long-poll a question until it is answered or expires. Returns the state and, once answered, the chosen option value + label and the responder. Long-poll a question until it is answered or expires. Returns the state and, once answered, the chosen option value + label and the responder.
wait_for_approval
read-only
timeoutapproval_id*
Long-poll an approval request until the human decides or it expires. Returns the status and, once decided, the chosen option. Long-poll an approval request until the human decides or it expires. Returns the status and, once decided, the chosen option.
wait_for_handoff
timeouthandoff_id*
Long-poll a Handoff until the human resolves it, it expires, or the bounded timeout elapses. For the onboarding Question returned by activate_agent_inbox, success requires an answe… Long-poll a Handoff until the human resolves it, it expires, or the bounded timeout elapses. For the onboarding Question returned by activate_agent_inbox, success requires an answered result with activation_completed true; use a bounded local deadline and treat any terminal answer without that stamp as incomplete.
wait_for_notification
read-only
aftertimeout