Action buttons

Push notifications you can act on.

Attach up to three buttons to any push. Open a link, fire an HTTP request, or copy a value — without unlocking your phone or opening a laptop.

Up to 3 buttonsview · http · copyiOS & Android
What you get

Three kinds of button, one array

A notification that only tells you something is a notification you have to act on somewhere else. Buttons close that gap.

Jump straight to the thing

A view button opens a URL — the failing build, the order, the dashboard — without you hunting for the tab.

Run a request in the background

An http button fires a request with your method, headers and body. Restart a service or acknowledge an incident in one tap.

Copy without fumbling

A copy button drops a value on the clipboard. One-time codes, incident IDs, and tokens without selecting text on a phone.

Approval workflows

Two http buttons labelled Approve and Decline turn a push into a one-tap control panel for anything that blocks on a human.

They outlive the banner

Buttons live inside the message, not only the banner. Swipe the notification away and they are still there later.

Buttons from webhooks

Webhook templates fill button URLs from the incoming payload, so every alert links to its own issue, order, or build.

Get started

From plain alert to one-tap action

1

Pick a type

Decide what the button should do: open a URL, call an endpoint, or copy a value.

2

Add it to the message

Add an actions array to your message with up to three entries, each with a type, label and value.

3

Tap it from your phone

Send it. The buttons appear on the notification and inside the message in the app.

How action buttons work

Add an actions array to any message you send through the API, a webhook, or the MCP server. Each entry has a type, a label, and a value whose meaning depends on the type: a URL for view, a JSON request description for http, and literal text for copy.

The buttons are delivered with the push and rendered by the operating system. When you tap one, the app handles it locally — http and copy run without opening anything, while view brings the browser forward.

The approval pattern

The setup worth building first is two http buttons, Approve and Decline, pointing at two endpoints of your own. Anything that pauses waiting on a person fits: a deploy pipeline blocked on manual sign-off, a refund above a threshold, or an AI agent that should not touch production unsupervised.

Because the request goes from the phone to your endpoint directly, whatever you put behind those URLs is entirely yours — including the authentication.

Limits worth knowing

Three buttons maximum. view and http require a valid http(s) URL, and anything else returns 400. When a notification arrives while the app is backgrounded or terminated, the system renders its own banner without the buttons; open the message in the app and they are there.

FAQ

Questions, answered

Three per message. They render in the order you send them, on both iOS and Android, and they stay available inside the message itself after the banner is dismissed.

Three types. view opens a URL, http sends an HTTP request in the background with your own method, headers and body, and copy puts a value on the clipboard. Only view brings an app to the foreground.

Straight from your phone to your endpoint. PocketAlert does not proxy the request and never sees the response body. Add whatever authentication header your endpoint expects and it travels with the button.

Android shows the exact label you send. iOS registers notification categories when the app launches and cannot create labels on the fly, so it shows a generic label per type — Open, Run, or Copy.

Yes. A webhook can carry an action template with %path% placeholders filled from the incoming payload, so a Sentry alert arrives with an Open issue button pointing at that specific issue. Substituted values are JSON-escaped, so a payload cannot rewrite the URL.

Tapping twice sends the request twice — repeats are not blocked, deliberately. If firing twice is expensive, make the endpoint idempotent. Action buttons are a paid feature; on free plans they are stripped server-side and the message is delivered without them.

Stop reading alerts. Start answering them.

Add an actions array to your next message and the notification stops being something you read. It becomes something you press.