Interactive push

Let users act right from the notification

Action buttons put labelled choices on the notification itself, so users approve, claim or track in one tap. You build the iOS sets no-code in the Pushwoosh Control Panel, and they send from the same Journey as any other push.

Three phone screens side by side showing push notifications with action buttons: Approve and Decline on a payment alert, Claim reward and Play now on a game drop, Track and Reorder on a delivery update

Trusted by 80,000+ companies to scale their engagement

The format, in full

A plain push gives the user exactly one thing to do: tap it or ignore it. An interactive push adds labelled choices to the notification itself, so accept or decline, claim, track, confirm and remind later all resolve in a single tap from the lock screen.

Built in the Control Panel (iOS)

Configure → Edit Actions: name a category, add one or two buttons, save. Changing a label takes no release.

Buttons on the notification (iOS)

iOS draws the buttons from the category attached to the push, under the message the user pulled down.

Destructive or standard (iOS)

Mark a button destructive for red, standard for blue, so Decline never reads like Approve.

Opens the app, or acts in place (iOS)

Per button: bring the app to the foreground, or resolve the action without leaving the lock screen.

Three buttons in a row (Android)

Android renders up to three native actions side by side, each with its own label and on-tap behaviour.

CTA buttons (web push)

Browser notifications carry custom buttons that route to their own URL or deep link.

Where buttons sit between a plain push and a full screen

When the message ends inSendWhere the choice appears
Nothing but a readA plain pushThe banner
A small choice, one to three optionsAn interactive pushThe expanded notification on iOS, the tray on Android
One picture worth showingA rich media pushThe expanded notification
Several items to compareAn image carousel pushThe expanded notification, after the pull down
A form, a list or a layoutAn in-app message or a Rich Media pageA full screen in the app, opened on tap
When the message ends in
1 / 5
Nothing but a read
Where the choice appears
The banner
When the message ends in
2 / 5
A small choice, one to three options
Send
An interactive push
Where the choice appears
The expanded notification on iOS, the tray on Android
When the message ends in
3 / 5
One picture worth showing
Where the choice appears
The expanded notification
When the message ends in
4 / 5
Several items to compare
Where the choice appears
The expanded notification, after the pull down
When the message ends in
5 / 5
A form, a list or a layout
Send
An in-app message or a Rich Media page
Where the choice appears
A full screen in the app, opened on tap

The job it does, inside a journey

One Journey, many formats

Buttons are an attribute of a message you are already sending, not a separate integration.

The audience, the trigger, the segment and the customer profile all stay where they are. What changes is what the user can do when the message lands, and you set that in the same Customer Journey that already runs your push, in-app, email and SMS.

A payment held, resolved in one tap

A card transaction fires an event. A silent push warms the transaction detail in the background, invisible to the user, and the interactive push arrives with two buttons: Approve, and Decline in destructive red.

Approve clears the payment without the app ever opening. Decline opens the card-freeze screen instead. If neither button is tapped within five minutes, the same Journey falls back to SMS carrying the same choice.

What to use it for

Buttons earn their place wherever a message naturally ends in a small decision. For a pure announcement, a plain push already does the job.

MomentWhat the buttons sayWhat the user does
E-commerce · cart abandonmentComplete purchase · View cartPays from the lock screen, or opens the cart to change the order first
Fintech · transaction approvalApprove · DeclineClears a payment or freezes the card without opening the app
Mobile games · a reward dropClaim reward · Play nowCollects the reward and lands in the event that needs players
Subscription apps · renewalRenew · Remind me laterExtends the plan in a tap, or defers it without churning
Food delivery · order statusTrack · ReorderFollows the courier, or repeats the last order from the update
Healthcare · appointment reminderConfirm · RescheduleConfirms attendance, which is what cuts the no-show
Events · tickets on saleGet tickets · Remind meBooks a seat, or asks for a nudge closer to the date
Any vertical · routine remindersMark done · Remind laterClears the reminder without a round trip through the app
Moment
1 / 8
E-commerce · cart abandonment
What the buttons say
Complete purchase · View cart
What the user does
Pays from the lock screen, or opens the cart to change the order first
Moment
2 / 8
Fintech · transaction approval
What the buttons say
Approve · Decline
What the user does
Clears a payment or freezes the card without opening the app
Moment
3 / 8
Mobile games · a reward drop
What the buttons say
Claim reward · Play now
What the user does
Collects the reward and lands in the event that needs players
Moment
4 / 8
Subscription apps · renewal
What the buttons say
Renew · Remind me later
What the user does
Extends the plan in a tap, or defers it without churning
Moment
5 / 8
Food delivery · order status
What the buttons say
Track · Reorder
What the user does
Follows the courier, or repeats the last order from the update
Moment
6 / 8
Healthcare · appointment reminder
What the buttons say
Confirm · Reschedule
What the user does
Confirms attendance, which is what cuts the no-show
Moment
7 / 8
Events · tickets on sale
What the buttons say
Get tickets · Remind me
What the user does
Books a seat, or asks for a nudge closer to the date
Moment
8 / 8
Any vertical · routine reminders
What the buttons say
Mark done · Remind later
What the user does
Clears the reminder without a round trip through the app
Two words on a button decide whether it gets tapped

50 push notifications worth copying, with the copy and the creative that made them work.

Get the examples

Platform & technical coverage

Action buttons run on iOS, Android and the web, but the authoring path and the visibility differ per platform. The last column says where the button is the push itself, and where it needs a handler in your app.

CapabilityiOSAndroidWebDelivered by
Labelled action buttons on the notificationiOS 10+, one or twoAndroid, up to threeChromeThe push itself
A button that opens the app or dismissesiOS 10+AndroidChromeThe push itself, no app code
A button that deep-links or acts in placeiOS 10+AndroidChromeA one-time handler in your app, reading the action identifier
Reusable button sets built without a releaseYes, Control Panel categoriesSDK and custom dataPushwoosh Control Panel, attached at compose time
Buttons set from the APIios_category in /createMessageCustom data in /createMessageCustom dataThe Messages API
Buttons visible without expanding the notificationYes, in the trayYesThe OS notification shade
A choice that needs a form, a list or a layoutYesYesAn in-app message or a Rich Media page, opened on tap
Capability
1 / 7
Labelled action buttons on the notification
iOS
iOS 10+, one or two
Android
Android, up to three
Web
Chrome
Delivered by
The push itself
Capability
2 / 7
A button that opens the app or dismisses
iOS
iOS 10+
Android
Android
Web
Chrome
Delivered by
The push itself, no app code
Capability
3 / 7
A button that deep-links or acts in place
iOS
iOS 10+
Android
Android
Web
Chrome
Delivered by
A one-time handler in your app, reading the action identifier
Capability
4 / 7
Reusable button sets built without a release
iOS
Yes, Control Panel categories
Android
SDK and custom data
Web
Delivered by
Pushwoosh Control Panel, attached at compose time
Capability
5 / 7
Buttons set from the API
iOS
ios_category in /createMessage
Android
Custom data in /createMessage
Web
Custom data
Delivered by
The Messages API
Capability
6 / 7
Buttons visible without expanding the notification
iOS
Android
Yes, in the tray
Web
Yes
Delivered by
The OS notification shade
Capability
7 / 7
A choice that needs a form, a list or a layout
iOS
Yes
Android
Yes
Web
Delivered by
An in-app message or a Rich Media page, opened on tap

Security & hosting

Pushwoosh runs on its own hardware in the US and Germany, under GDPR and BDSG.

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type I CertifiedOWASP Compliant

How it works

Building the buttons is no-code on iOS. Deciding what each one does, beyond opening the app, is a one-time engineering step, and it is the same step at every vendor because it is Apple’s and Android’s model.

  1. Build the button set (no-code)

    In Configure → Edit Actions, create a category, add one or two buttons, give each a label, mark it destructive or standard, and choose whether it launches the app. Pushwoosh saves it with an ID and hands the catalog to the device on registration.

  2. Wire the handler once (developer)

    A button that only opens the app or dismisses needs no code. To deep-link, mark something done or act in place, the app reads the action identifier once, through didReceiveNotificationResponse on iOS or the notification intent on Android. Android button sets are configured on this side too.

  3. Orchestrate it (no-code)

    Pick the category while composing, or set ios_category through the Messages API. Send it to the same segment, from the same Customer Journey as the rest of your messaging.

Limits worth knowing

The mechanic is simple. These are its edges.

  • On iOS the buttons live in the expanded notification. The collapsed banner shows the text alone, so the choice appears after a long press or a pull down.
  • A Control Panel category holds one or two buttons. Android renders up to three, side by side, and the more you add the shorter each label has to be.
  • Anything past opening the app or dismissing needs the one-time handler. Apple and Android both work this way, so the step is universal rather than a Pushwoosh gap.
  • Android button sets are configured through the SDK and custom data. The Control Panel screen covers the iOS categories.
  • Buttons upgrade the notifications you already send. They add something to do with a message rather than widening who receives it.
  • The push reports delivery and open. Which button was tapped is an in-app event you send back, so wire that event if you want per-button numbers.