Actions
Detailed reference for NotificationActionType and how actions are generated, displayed and processed.
Action Types
Each action adds an interactive capability to a delivered message. Below are the allowed type values, the expected value format (when applicable) and the intended effect. Client implementations may vary; this section is agnostic of a specific mobile/web codebase.
| Type | Value Required | Value Format / Examples | Effect | 
|---|---|---|---|
NAVIGATE | Yes | External URL (https://example.com) | Opens a browser link. | 
OPEN_NOTIFICATION | No | - | Opens the detailed view of the notification. | 
MARK_AS_READ | No | - | Marks the notification/message as read. | 
DELETE | No | - | Removes the notification from the user list. | 
SNOOZE | Yes | <minutes> (e.g. 5, 30) | Temporarily stop the notification of the whole bucket for the specified minutes. | 
POSTPONE | Yes | <minutes> (e.g. 15, 60) | Postpones the notification to reappear after specified minutes. | 
WEBHOOK | Yes | Webhook ID or identifier (UUID) | Triggers a configured outbound webhook. | 
BACKGROUND_CALL | Yes | METHOD::URL (e.g. GET::https://api.example.com/ping) | Invokes a background HTTP request without opening UI. | 
Minimal JSON shape:
{ "type": "DELETE" }
Optional fields applicable to any action object:
title: Custom button label (string)icon: Icon identifier (string). On iOS this should be a valid SF Symbol name, e.g.sfsymbols:arrow.down.circle.destructive: Boolean hint for UI styling (commonly true forDELETE)
Adding Automatic Actions
Flags in the message payload generate actions automatically:
| Flag | Generates | Notes | 
|---|---|---|
addMarkAsReadAction | MARK_AS_READ | Localized title & platform icon | 
addOpenNotificationAction | OPEN_NOTIFICATION | Uses notification ID as value | 
addDeleteAction | DELETE | Marked destructive, platform-specific icon | 
snoozes array | Multiple SNOOZE | One per duration minutes | 
postpones array | Multiple POSTPONE | One per duration minutes | 
Manual Actions Array
You can also provide custom actions array with objects:
{
  "actions": [
    {
      "type": "NAVIGATE",
      "value": "/settings/profile",
      "icon": "settings",
      "title": "Profile"
    },
    { "type": "BACKGROUND_CALL", "value": "job:refresh-metrics" }
  ]
}
Conflicts: If you manually add an action of the same logical effect as an auto-generated one, both may appear; avoid duplicates by disabling the flag.
tapAction
tapAction is a single action executed when the notification itself is tapped (not from the buttons row). If absent and tapUrl is provided, it is auto-created as a NAVIGATE. Default will be open the notification.
Icons & Localization
Platform-specific icon hints are applied to automatic actions; custom actions should specify icon where useful. Titles for auto-generated actions are localized based on locale.
Validation Rules
typemust be one of the enum values exactly.valueis not required; semantics depend ontype.destructiveoptional, hint for UI styling.icon&titleoptional;
Example Combined
{
  "title": "Security Alert",
  "bucketId": "<bucket-uuid>",
  "deliveryType": "NORMAL",
  "addMarkAsReadAction": true,
  "snoozes": [10, 30],
  "tapUrl": "https://app.example.com/security/alerts/abc",
  "actions": [
    { "type": "WEBHOOK", "value": "<webhook-uuid>" },
    { "type": "DELETE", "destructive": true }
  ]
}
Return to main notifications: Notifications Overview