Register UNNotificationCategory for native iOS notification actions + Apple Watch support
Author: madshnCreated Jan 13, 2026Updated Sep 11, 2026
Labelsenhancementiosai-generated
Summary
Action buttons currently only appear inside the ntfy app. By registering UNNotificationCategory with UNNotificationAction, buttons would appear as native iOS notification actions AND automatically mirror to Apple Watch.
Current Behavior
- Action buttons: ✅ Visible in ntfy app message detail view
- Action buttons: ❌ NOT visible in iOS Notification Center (swipe/long-press)
- Action buttons: ❌ NOT visible on Apple Watch (only "Dismiss" shown)
Expected Behavior
When a notification with actions arrives:
- Swiping/long-pressing the notification in iOS shows action buttons
- Apple Watch shows action buttons (up to 4, first 2 in compact view)
- Tapping an action triggers the HTTP request directly from notification
Technical Approach
- Register
UNNotificationCategoryfor notifications containing actions - Create
UNNotificationActioninstances for each action (view, http) - Include the
categoryidentifier in the push payload - iOS will display actions in Notification Center
- watchOS will automatically mirror actions without needing a watchOS app
Why This Matters
- Speed: Respond to notifications without opening the app
- Apple Watch: Huge UX improvement - respond from wrist
- Consistency: Match Android behavior where actions appear in notification shade
References
- Apple: Declaring actionable notification types
- Apple: Adding actions to notifications on watchOS
- Related: #1156 (action button clear not working - may be connected)
Source: binwiederhier/ntfy