Push Notifications

Push notifications with action buttons

Send push notifications with tappable action buttons, and route the tap back into a workflow.

Anythink sends through Firebase Cloud Messaging (Android and iOS) and web push (VAPID), templates the payload, and fans bulk sends out across a queue instead of a synchronous loop.

The same task, three ways

Every task works three ways, and all of them change the same project. Here's one: a push notification with Start, Snooze and Skip buttons.

The Anythink dashboard

Android and web show the buttons as sent. On iOS the app registers the matching button group first.

The Anythink CLI

The same send, as one API call from a script or CI job.

$ anythink fetch /push/test --method POST --body \'{"title":"Time for your workout","body":"Your session starts in 10 minutes","target_user_id":72,"buttons":[{"id":"start","label":"Start"},{"id":"snooze","label":"Snooze"},{"id":"skip","label":"Skip"}]}'
  • ✓Push sent to user 72's registered devices
  • ✓Buttons: Start, Snooze, Skip
  • ✓The delivery result is under Push Notifications → History

Claude, through MCP

Say who gets it and what the buttons are. It sends the push and reports the result.

you › “Send user 72 a push saying their workout starts in 10 minutes, with Start, Snooze and Skip buttons.”

  • ✓Sent through the project's push providers
  • ✓Added three action buttons: Start, Snooze, Skip
  • ✓Delivery result is in the History tab

Push with action buttons, not just a message

Categories, action buttons and bulk sends, wired into the same workflow engine as the rest of Anythink.

FCM and web push

Registered devices are sent to through Firebase Cloud Messaging, which delivers to Android and iOS, or through web push with VAPID for browsers, from the same send call.

In practice

A category, a template, and a triggered send

workflow step.txt
Trigger: EntityUpdated on orders (changed_to: status = "shipped")

Steps:
  1. SendPushNotification
     — template: order-shipped
     — recipients: {{ $anythink.trigger.data.customer_id }}

The order-shipped template carries its own
action buttons: "Track package", "Contact support".

What you can build

01

Order status pushes with a tracking action

When an order's status changes to shipped, a workflow sends a push with a "Track package" button. Tapping it fires a workflow that looks up the tracking link, instead of just deep-linking into the app.

02

A reminder with Snooze and Done buttons

A scheduled workflow pushes a reminder with two actions. "Done" marks the task complete via a workflow step; "Snooze" re-queues the same reminder for later, all from the lock screen.

03

A broadcast to every subscriber

A manual workflow loops over a list of recipients and sends through the queue, so a broadcast to a large group doesn't run as a slow, synchronous send inside the workflow.

Frequently Asked Questions

Does Anythink support push notifications with action buttons?

Yes. You define a notification category with an ordered set of action buttons, attach it to a template, and Anythink syncs the category so the device renders the right buttons. A tap on a button is verified and can fire a workflow.

What push providers does Anythink send through?

Firebase Cloud Messaging (FCM) for Android and iOS, and web push with VAPID for browsers. Device registration and credentials are stored per project.

Can a notification tap trigger an automation?

Yes. Action-button taps call a signed-token endpoint that checks the tap against the project's registered actions for that category, then fires a workflow trigger. For example, a "Snooze" button can re-trigger a reminder workflow without opening the app.

Can I send a push to a large list of users at once?

Yes. A bulk or looped send publishes one message per recipient to a dedicated queue, rather than sending synchronously in a loop, so large broadcasts don't block the workflow that started them.

Still have questions?

Get in Touch

More in the same project

Every feature reads from the same data model, so each one you add works with the rest.

Documentation

Guides and reference at docs.anythink.cloud.