Add push notification as trigger notification type#5079
Conversation
Push notifications for triggers are now enabled by default (FeatureEnablePushNotifications fallback changed to true in app#12147). Update all pages that listed only email and webhook as notification types to also include push notifications. https://claude.ai/code/session_01BT9nSkipH19xnHcLDn3U9G
✅ Deploy Preview for viam-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
clintpurser
left a comment
There was a problem hiding this comment.
overall it's looking good. thanks for getting this updated.
My main point of feedback is missing documentation around setting up push notifications for a custom app. To send to a custom app they must upload their firebase configuration json file to Viam's backend via the CLI. This probably deserves its own bit of documentation, in the same area that documents setting up custom billing, or setting up a custom auth application in fusion Auth via the CLI, its all kind of under the same umbrella of "building a custom application with viam".
Also users will need to have accepted push notification permissions for the given application in order to receive any push notifications.
approving as not to block. perhaps that other bit of documentation i mentioned could be a follow up.
| - **Log levels**: alert when error, warning, or info logs appear on a machine. | ||
|
|
||
| You configure the alert frequency to control how often alerts fire, which helps prevent alert fatigue as your fleet grows. Notifications can go to specific email addresses, all machine owners, or a webhook endpoint that integrates with services like PagerDuty, Twilio, or Zapier. | ||
| You configure the alert frequency to control how often alerts fire, which helps prevent alert fatigue as your fleet grows. Notifications can go to specific email addresses, all machine owners, a webhook endpoint that integrates with services like PagerDuty, Twilio, or Zapier, or a push notification to the Viam mobile app. |
There was a problem hiding this comment.
worth mentioning it could be to the viam mobile app or your own custom mobile app?
that is to say, its not exclusive to the viam mobile app.
There was a problem hiding this comment.
Good catch — fixed in 6168a20. Updated to "the Viam mobile app or your own custom mobile app" here, and generalized to "a mobile app" in the trigger-on-data.md intro.
Generated by Claude Code
There was a problem hiding this comment.
Follow-up in 04f9f3f: dropped "to the Viam mobile app" from the intro line of the same step section in docs/data/trigger-on-data.md (it contradicted the very next step, which already says "Viam mobile or a custom app ID"), and extended the CLI reference entry in docs/cli/reference.md to cover custom app IDs.
| | `name` | string | **Required** | The name of the trigger | | ||
| | `event` | object | **Required** | The trigger event object, which contains the following fields: <ul><li>`type`: The type of the event to trigger on. Options: <ul><li>`part_data_ingested`: fire when data syncs</li> <li>`conditional_data_ingested`: fire when data that meets a certain condition syncs</li> <li>`part_online`: fire when the part is online</li> <li>`part_offline`: fire when the part is offline</li> <li>`conditional_logs_ingested`: check every hour and fire if logs of the specified log level are present</li></ul></li><li>`data_types`: Required with `type` `part_data_ingested`. An array of data types that trigger the event. Options: `binary`, `tabular`, `file`, `unspecified`. </li><li> `conditional`: Required when `type` is `conditional_data_ingested`. For more information about this field, see [Conditional attributes](/reference/triggers/#conditional-attributes). </li><li> `log_levels`: Required when `type` is `conditional_logs_ingested`. An array of log levels. Options: `error`, `warn`, `info`. </li></ul> | | ||
| | `notifications` | object | **Required** | The notifications object, which contains the following fields: <ul><li>`type`: The type of the notification. Options: `webhook`, `email`</li><li>`value`: The URL to send the request to, the email address to notify, or `all_machine_owners` to notify all machine owners.</li><li>`seconds_between_notifications`: The interval between notifications in seconds. This field is ignored for event type `conditional_logs_ingested` where the interval is always one hour.</li></ul> For more information on webhooks, see [Webhook attributes](#webhook-attributes). | | ||
| | `notifications` | object | **Required** | The notifications object, which contains the following fields: <ul><li>`type`: The type of the notification. Options: `webhook`, `email`, `push`</li><li>`value`: The URL to send the request to, the email address to notify, or `all_machine_owners` to notify all machine owners.</li><li>`seconds_between_notifications`: The interval between notifications in seconds. This field is ignored for event type `conditional_logs_ingested` where the interval is always one hour.</li><li>`application`: Required when `type` is `push`. The application ID for push notifications. Use `com.viam.viammobile` for the Viam mobile app.</li></ul> For more information on webhooks, see [Webhook attributes](#webhook-attributes). For push notifications, the recipient specified in `value` must be a machine owner or operator. | |
There was a problem hiding this comment.
i'm not sure if this is the place to mention it. but if users want to send to a certain application ID, they must ensure the firebase credentials are uploaded to Viam through the CLI. there are methods for setting it up there. maybe that ought to be documented elsewhere though.
There was a problem hiding this comment.
Fixed in 6168a20. Added a note here that custom application IDs require uploading Firebase credentials to Viam using the CLI, and that recipients must have accepted push notification permissions. Agreed that the full custom-app push notification setup flow (Firebase config upload, CLI methods) deserves its own docs page — recorded as a follow-up item.
Generated by Claude Code
There was a problem hiding this comment.
Follow-up in 04f9f3f: the table now links the Firebase CLI mention to organizations firebase-config set, and the CLI reference entry for add-trigger does the same. The dedicated end-to-end custom-push-notification setup page is still a follow-up — recording it on code-map/backlog.yaml next.
- overview.md: mention custom mobile apps alongside Viam mobile - trigger-on-data.md: generalize to "a mobile app" instead of "the Viam mobile app" - triggers.md: note custom app ID requires Firebase credentials via CLI, and recipients must accept push notification permissions https://claude.ai/code/session_01BT9nSkipH19xnHcLDn3U9G
- trigger-on-data.md: drop "to the Viam mobile app" from intro line that contradicted the immediately-following "Viam mobile or a custom app ID" step; rename "Notification frequency" heading to "Notification interval" since the section documents the seconds_between_notifications JSON field, not the UI "Alert frequency" control - cli/reference.md: extend `application` description to cover custom app IDs, link to `organizations firebase-config set`, add recipient permissions caveat - reference/triggers.md: link the table's Firebase mention to `/cli/reference/#organizations-firebase-config-set` Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
looks good! a couple of thoughts
|
|
Thanks for the detailed breakdown @martha-johnston! Recorded all three points as a follow-up backlog item for a dedicated custom-app push notification setup page:
This PR keeps the scope to adding Generated by Claude Code |
|
🔎💬 Inkeep AI search and chat service is syncing content for source 'Viam Docs' |

Source changes
0fc9b92): Enable push notification triggers —FeatureEnablePushNotificationsfallback changed fromfalsetotrue, making push notifications GA for all organizations.Related source commits (previously backlogged, now unblocked):
Docs changes
docs/reference/triggers.md: Addpushto notification type options, addapplicationfield description, update all JSON templates and attribute tabledocs/data/trigger-on-data.md: Update description, intro, and builder-mode instructions to include push notificationsdocs/monitor/alert.md: Update description, intro, and notification methods listdocs/monitor/overview.md: Update alert descriptions to include push notificationsdocs/monitor/monitor.md: Update offline alert descriptiondocs/reference/glossary/trigger.md: Update glossary definitiondocs/data/overview.md: Update monitoring descriptiondocs/vision/object-detection/alert-on-detections.md: Update description, intro, pipeline, and troubleshootingdocs/vision/object-detection/act-on-detections.md: Update "What's next" link descriptiondocs/vision/classify.md: Update related linksdocs/cli/reference.md: Update trigger notification type list and add push application noteHow I found these
app-f68a9c6-push-notification-trigger(added 2026-04-19, priority 3) identified the missing push notification typeapp/data/feature_models.goshowedFeatureEnablePushNotificationsfallback changed totrueemail or webhook,webhook or email,webhooks or emailacross all docs found 11 affected filesGenerated by daily docs change agent
Generated by Claude Code