Push Notifications & Deep Links
Web vs mobile: Push notifications and deep links are mobile-native entry points. PanelOne web uses in-app notifications and browser URLs — mobile adds APNs delivery and
panelone:/// universal link routing viaDeepLinkRouter.
PanelOne Mobile routes push taps and external URLs into the correct tab, list, or detail screen — so on-call engineers land directly on the alert, ticket, or device that needs attention.
Push Notifications
Enabling Push
- On first launch (or when prompted), allow Notifications for PanelOne.
- Configure preferences in More → Account & push or Settings → Notifications.
- Choose which alert categories and event types trigger push delivery.
Push uses APNs (Apple Push Notification service). Your device registers a token tied to your user account and organization.
What Can Push
| Event type | Typical action on tap |
|---|---|
| Critical / high alerts | Opens Alerts tab → alert detail |
| Ticket updates | Opens More → Tickets → ticket detail |
| Assignment notifications | Opens relevant ticket or job |
| Digest summaries | Opens Home or linked destination |
Exact push categories depend on org notification settings and alert rules configured on web.
Tap Behavior
When you tap a push notification:
- The app opens (or foregrounds).
DeepLinkRouterparses the payload URL or entity ID.- The correct tab is selected and detail is pushed onto the navigation stack.
If the app was terminated, the router applies pending routes on next authenticated launch.
URL Schemes
PanelOne Mobile registers the custom URL scheme panelone:// (and bundle scheme com.ihelpitau.panelone://).
Tab Routes
| URL | Destination |
|---|---|
panelone://dashboard | Home tab |
panelone://home | Home tab (alias) |
panelone://clients | Clients tab |
panelone://devices | Devices tab |
panelone://alerts | Alerts tab |
panelone://more | More tab |
panelone://settings | More → Settings |
Entity Detail Routes
| URL | Destination |
|---|---|
panelone://clients/{id} | Clients → client detail |
panelone://devices/{id} | Devices → device detail |
panelone://alerts/{id} | Alerts → alert detail |
panelone://tickets | More → Tickets list |
panelone://tickets/{id} | More → Tickets → ticket detail |
Tickets always route through More, not a root tab — even when using panelone://tickets.
More Hub Routes
| URL | Destination |
|---|---|
panelone://more/tickets | More → Tickets |
panelone://more/backups | More → Backups |
panelone://more/security | More → Security & threats |
panelone://more/m365 | More → Microsoft 365 |
panelone://more/users | More → Users |
panelone://more/network | More → Network |
panelone://more/marketplace | More → Marketplace |
panelone://more/documentationHub | More → Documentation |
panelone://more/reportsSnapshot | More → Reports snapshot |
panelone://more/reportsBuilder | More → Report builder |
panelone://more/security/sentinelone/{section} | S1 security sub-console |
Use MoreDestination raw values as the path segment after /more/.
Settings Routes
| URL | Destination |
|---|---|
panelone://settings/notifications | Settings → Notifications |
panelone://settings/alert-rules | Settings → Alert Rules |
panelone://settings/security | Settings → Security |
panelone://settings/sessions | Settings → Sessions |
panelone://settings/team | Settings → Team |
Settings path segments match SettingsDestination raw values (e.g., alert-rules, audit-logs).
Universal Links
PanelOne Mobile supports Universal Links from:
https://app.panelone.dev/{path}
The app associates with app.panelone.dev via Apple App Site Association (AASA). Verified domains serve the correct app ID entitlements.
Supported Universal Link Paths
Universal links use the same path parsing as custom scheme URLs:
| Web path | Mobile behavior |
|---|---|
/ or /dashboard | Home tab |
/clients/{id} | Client detail |
/devices/{id} | Device detail |
/alerts/{id} | Alert detail |
/tickets/{id} | Ticket detail (via More) |
Links opened in Mail, Messages, or Safari hand off to the installed app when available. If the app isn't installed, the link opens in the browser as PanelOne web.
AASA Requirements
For passkeys and universal links to work in production:
- AASA files must be live on
app.panelone.dev - App entitlements must match associated domains
PASSKEY_RP_IDmust align with the web RP ID
Global Search Navigation
Global search results navigate via the same router:
| Entity type | Route |
|---|---|
| Client | Clients → detail |
| Device | Devices → detail |
| Alert | Alerts → detail |
| Ticket | More → Tickets → detail |
| User, backup, threat, etc. | More → appropriate destination |
Search requires 2+ characters and works on cached data when offline.
Dashboard Drill-Down
Internal dashboard drill-downs (not URL-based) also use DeepLinkRouter:
| Drill-down | Behavior |
|---|---|
| Devices by status | Devices tab + status filter |
| Alerts by severity | Alerts tab + severity filter |
| Open tickets | More → Tickets + open filter |
Testing Deep Links
On a simulator or device with the app installed:
- Open Safari.
- Enter a universal link (e.g.,
https://app.panelone.dev/alerts/{uuid}). - Confirm the app opens to alert detail.
For custom scheme testing, use Notes or Terminal:
open "panelone://tickets"
Tips & Best Practices
- Allow notifications before your first on-call shift.
- Share universal links in team chat — they work on web and hand off to mobile.
- Use ticket deep links in PSA automations for mobile-first engineers.
- Verify AASA after infra changes — Broken association falls back to browser-only.
Related Guides
- Navigation — Tab structure and More hub
- Alerts — Alert triage from push
- Tickets — Ticket detail from push
- Security — Passkey and AASA alignment