[{"data":1,"prerenderedAt":621},["ShallowReactive",2],{"content-/communications/push-notifications":3,"docs-toc":359},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":12,"last_reviewed":14,"related":15,"body":18,"_type":353,"_id":354,"_source":355,"_file":356,"_stem":357,"_extension":358},"/communications/push-notifications","communications",false,"","Push notifications","Real-time alerts to the Facility Report mobile app and the admin app.","concept","live",[13],"shared","2026-05-10",[16,17],"/portals-and-apps/facility-report-mobile-app","/communications/notification-preferences",{"type":19,"children":20,"toc":344},"root",[21,29,35,61,68,73,210,222,228,233,238,244,265,271,282,287,293,332],{"type":22,"tag":23,"props":24,"children":26},"element","h1",{"id":25},"push-notifications",[27],{"type":28,"value":8},"text",{"type":22,"tag":30,"props":31,"children":32},"p",{},[33],{"type":28,"value":34},"PropLink delivers real-time alerts via push notification. Two channels:",{"type":22,"tag":36,"props":37,"children":38},"ul",{},[39,51],{"type":22,"tag":40,"props":41,"children":42},"li",{},[43,49],{"type":22,"tag":44,"props":45,"children":46},"strong",{},[47],{"type":28,"value":48},"Facility Report mobile app",{"type":28,"value":50}," on iOS and Android.",{"type":22,"tag":40,"props":52,"children":53},{},[54,59],{"type":22,"tag":44,"props":55,"children":56},{},[57],{"type":28,"value":58},"Admin app",{"type":28,"value":60}," as in-app banners (web push is on the roadmap).",{"type":22,"tag":62,"props":63,"children":65},"h2",{"id":64},"what-triggers-a-push",[66],{"type":28,"value":67},"What triggers a push",{"type":22,"tag":30,"props":69,"children":70},{},[71],{"type":28,"value":72},"The default events that send a push:",{"type":22,"tag":74,"props":75,"children":76},"table",{},[77,101],{"type":22,"tag":78,"props":79,"children":80},"thead",{},[81],{"type":22,"tag":82,"props":83,"children":84},"tr",{},[85,91,96],{"type":22,"tag":86,"props":87,"children":88},"th",{},[89],{"type":28,"value":90},"Event",{"type":22,"tag":86,"props":92,"children":93},{},[94],{"type":28,"value":95},"Channel",{"type":22,"tag":86,"props":97,"children":98},{},[99],{"type":28,"value":100},"Default audience",{"type":22,"tag":102,"props":103,"children":104},"tbody",{},[105,124,141,158,175,193],{"type":22,"tag":82,"props":106,"children":107},{},[108,114,119],{"type":22,"tag":109,"props":110,"children":111},"td",{},[112],{"type":28,"value":113},"New high-priority ticket on an assigned site",{"type":22,"tag":109,"props":115,"children":116},{},[117],{"type":28,"value":118},"Mobile, in-app",{"type":22,"tag":109,"props":120,"children":121},{},[122],{"type":28,"value":123},"Site manager, on-call team",{"type":22,"tag":82,"props":125,"children":126},{},[127,132,136],{"type":22,"tag":109,"props":128,"children":129},{},[130],{"type":28,"value":131},"Work order assigned to me",{"type":22,"tag":109,"props":133,"children":134},{},[135],{"type":28,"value":118},{"type":22,"tag":109,"props":137,"children":138},{},[139],{"type":28,"value":140},"Assignee",{"type":22,"tag":82,"props":142,"children":143},{},[144,149,153],{"type":22,"tag":109,"props":145,"children":146},{},[147],{"type":28,"value":148},"Maintenance event due in 24 hours",{"type":22,"tag":109,"props":150,"children":151},{},[152],{"type":28,"value":118},{"type":22,"tag":109,"props":154,"children":155},{},[156],{"type":28,"value":157},"Site manager",{"type":22,"tag":82,"props":159,"children":160},{},[161,166,170],{"type":22,"tag":109,"props":162,"children":163},{},[164],{"type":28,"value":165},"Site announcement requires acknowledgement",{"type":22,"tag":109,"props":167,"children":168},{},[169],{"type":28,"value":118},{"type":22,"tag":109,"props":171,"children":172},{},[173],{"type":28,"value":174},"All staff on the site",{"type":22,"tag":82,"props":176,"children":177},{},[178,183,188],{"type":22,"tag":109,"props":179,"children":180},{},[181],{"type":28,"value":182},"Approval required (invoice, bill, payment)",{"type":22,"tag":109,"props":184,"children":185},{},[186],{"type":28,"value":187},"In-app",{"type":22,"tag":109,"props":189,"children":190},{},[191],{"type":28,"value":192},"Approvers",{"type":22,"tag":82,"props":194,"children":195},{},[196,201,205],{"type":22,"tag":109,"props":197,"children":198},{},[199],{"type":28,"value":200},"Mention in a thread",{"type":22,"tag":109,"props":202,"children":203},{},[204],{"type":28,"value":118},{"type":22,"tag":109,"props":206,"children":207},{},[208],{"type":28,"value":209},"Mentioned user",{"type":22,"tag":30,"props":211,"children":212},{},[213,215,220],{"type":28,"value":214},"Customise the triggers under ",{"type":22,"tag":44,"props":216,"children":217},{},[218],{"type":28,"value":219},"Profile → Notification preferences",{"type":28,"value":221}," for each user.",{"type":22,"tag":62,"props":223,"children":225},{"id":224},"how-a-push-is-delivered",[226],{"type":28,"value":227},"How a push is delivered",{"type":22,"tag":30,"props":229,"children":230},{},[231],{"type":28,"value":232},"PropLink uses Firebase Cloud Messaging for both iOS and Android. Tokens are issued at first sign-in and stored against the user. Pushes are batched and sent through Firebase's reliable channels.",{"type":22,"tag":30,"props":234,"children":235},{},[236],{"type":28,"value":237},"If the device is offline, Firebase queues the push and delivers it when the device comes back online.",{"type":22,"tag":62,"props":239,"children":241},{"id":240},"quiet-hours",[242],{"type":28,"value":243},"Quiet hours",{"type":22,"tag":30,"props":245,"children":246},{},[247,249,255,257,263],{"type":28,"value":248},"Push respects each user's configured quiet hours (see ",{"type":22,"tag":250,"props":251,"children":252},"a",{"href":17},[253],{"type":28,"value":254},"Notification preferences",{"type":28,"value":256},"). Quiet hours suppress non-urgent pushes; urgent pushes (priority ",{"type":22,"tag":258,"props":259,"children":260},"em",{},[261],{"type":28,"value":262},"Urgent",{"type":28,"value":264}," on a ticket or work order) deliver regardless.",{"type":22,"tag":62,"props":266,"children":268},{"id":267},"push-permissions",[269],{"type":28,"value":270},"Push permissions",{"type":22,"tag":30,"props":272,"children":273},{},[274,276,280],{"type":28,"value":275},"iOS asks the user for the notification permission on first install. Android grants it by default. PropLink prompts users who have not enabled push to do so under ",{"type":22,"tag":44,"props":277,"children":278},{},[279],{"type":28,"value":219},{"type":28,"value":281},".",{"type":22,"tag":30,"props":283,"children":284},{},[285],{"type":28,"value":286},"If push is blocked at the operating system level, PropLink falls back to in-app banners and email.",{"type":22,"tag":62,"props":288,"children":290},{"id":289},"troubleshooting",[291],{"type":28,"value":292},"Troubleshooting",{"type":22,"tag":36,"props":294,"children":295},{},[296,312,322],{"type":22,"tag":40,"props":297,"children":298},{},[299,304,306,310],{"type":22,"tag":44,"props":300,"children":301},{},[302],{"type":28,"value":303},"No pushes arriving.",{"type":28,"value":305}," Check the user's permission in their phone settings, then check ",{"type":22,"tag":44,"props":307,"children":308},{},[309],{"type":28,"value":219},{"type":28,"value":311}," in PropLink.",{"type":22,"tag":40,"props":313,"children":314},{},[315,320],{"type":22,"tag":44,"props":316,"children":317},{},[318],{"type":28,"value":319},"Pushes arriving late.",{"type":28,"value":321}," Phones in low-power mode delay non-critical pushes. Mark the alert as urgent if the latency matters.",{"type":22,"tag":40,"props":323,"children":324},{},[325,330],{"type":22,"tag":44,"props":326,"children":327},{},[328],{"type":28,"value":329},"Pushes for the wrong user.",{"type":28,"value":331}," A shared phone with two PropLink accounts can confuse Firebase. Sign out of the inactive account.",{"type":22,"tag":30,"props":333,"children":334},{},[335,337,343],{"type":28,"value":336},"For persistent problems see ",{"type":22,"tag":250,"props":338,"children":340},{"href":339},"/troubleshooting/push-notifications-missing",[341],{"type":28,"value":342},"Push notifications missing",{"type":28,"value":281},{"title":7,"searchDepth":345,"depth":345,"links":346},3,[347,349,350,351,352],{"id":64,"depth":348,"text":67},2,{"id":224,"depth":348,"text":227},{"id":240,"depth":348,"text":243},{"id":267,"depth":348,"text":270},{"id":289,"depth":348,"text":292},"markdown","content:12.communications:push-notifications.md","content","12.communications/push-notifications.md","12.communications/push-notifications","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":360,"last_reviewed":14,"related":361,"body":362,"_type":353,"_id":354,"_source":355,"_file":356,"_stem":357,"_extension":358},[13],[16,17],{"type":19,"children":363,"toc":614},[364,368,372,391,395,399,513,522,526,530,534,538,552,556,565,569,573,605],{"type":22,"tag":23,"props":365,"children":366},{"id":25},[367],{"type":28,"value":8},{"type":22,"tag":30,"props":369,"children":370},{},[371],{"type":28,"value":34},{"type":22,"tag":36,"props":373,"children":374},{},[375,383],{"type":22,"tag":40,"props":376,"children":377},{},[378,382],{"type":22,"tag":44,"props":379,"children":380},{},[381],{"type":28,"value":48},{"type":28,"value":50},{"type":22,"tag":40,"props":384,"children":385},{},[386,390],{"type":22,"tag":44,"props":387,"children":388},{},[389],{"type":28,"value":58},{"type":28,"value":60},{"type":22,"tag":62,"props":392,"children":393},{"id":64},[394],{"type":28,"value":67},{"type":22,"tag":30,"props":396,"children":397},{},[398],{"type":28,"value":72},{"type":22,"tag":74,"props":400,"children":401},{},[402,420],{"type":22,"tag":78,"props":403,"children":404},{},[405],{"type":22,"tag":82,"props":406,"children":407},{},[408,412,416],{"type":22,"tag":86,"props":409,"children":410},{},[411],{"type":28,"value":90},{"type":22,"tag":86,"props":413,"children":414},{},[415],{"type":28,"value":95},{"type":22,"tag":86,"props":417,"children":418},{},[419],{"type":28,"value":100},{"type":22,"tag":102,"props":421,"children":422},{},[423,438,453,468,483,498],{"type":22,"tag":82,"props":424,"children":425},{},[426,430,434],{"type":22,"tag":109,"props":427,"children":428},{},[429],{"type":28,"value":113},{"type":22,"tag":109,"props":431,"children":432},{},[433],{"type":28,"value":118},{"type":22,"tag":109,"props":435,"children":436},{},[437],{"type":28,"value":123},{"type":22,"tag":82,"props":439,"children":440},{},[441,445,449],{"type":22,"tag":109,"props":442,"children":443},{},[444],{"type":28,"value":131},{"type":22,"tag":109,"props":446,"children":447},{},[448],{"type":28,"value":118},{"type":22,"tag":109,"props":450,"children":451},{},[452],{"type":28,"value":140},{"type":22,"tag":82,"props":454,"children":455},{},[456,460,464],{"type":22,"tag":109,"props":457,"children":458},{},[459],{"type":28,"value":148},{"type":22,"tag":109,"props":461,"children":462},{},[463],{"type":28,"value":118},{"type":22,"tag":109,"props":465,"children":466},{},[467],{"type":28,"value":157},{"type":22,"tag":82,"props":469,"children":470},{},[471,475,479],{"type":22,"tag":109,"props":472,"children":473},{},[474],{"type":28,"value":165},{"type":22,"tag":109,"props":476,"children":477},{},[478],{"type":28,"value":118},{"type":22,"tag":109,"props":480,"children":481},{},[482],{"type":28,"value":174},{"type":22,"tag":82,"props":484,"children":485},{},[486,490,494],{"type":22,"tag":109,"props":487,"children":488},{},[489],{"type":28,"value":182},{"type":22,"tag":109,"props":491,"children":492},{},[493],{"type":28,"value":187},{"type":22,"tag":109,"props":495,"children":496},{},[497],{"type":28,"value":192},{"type":22,"tag":82,"props":499,"children":500},{},[501,505,509],{"type":22,"tag":109,"props":502,"children":503},{},[504],{"type":28,"value":200},{"type":22,"tag":109,"props":506,"children":507},{},[508],{"type":28,"value":118},{"type":22,"tag":109,"props":510,"children":511},{},[512],{"type":28,"value":209},{"type":22,"tag":30,"props":514,"children":515},{},[516,517,521],{"type":28,"value":214},{"type":22,"tag":44,"props":518,"children":519},{},[520],{"type":28,"value":219},{"type":28,"value":221},{"type":22,"tag":62,"props":523,"children":524},{"id":224},[525],{"type":28,"value":227},{"type":22,"tag":30,"props":527,"children":528},{},[529],{"type":28,"value":232},{"type":22,"tag":30,"props":531,"children":532},{},[533],{"type":28,"value":237},{"type":22,"tag":62,"props":535,"children":536},{"id":240},[537],{"type":28,"value":243},{"type":22,"tag":30,"props":539,"children":540},{},[541,542,546,547,551],{"type":28,"value":248},{"type":22,"tag":250,"props":543,"children":544},{"href":17},[545],{"type":28,"value":254},{"type":28,"value":256},{"type":22,"tag":258,"props":548,"children":549},{},[550],{"type":28,"value":262},{"type":28,"value":264},{"type":22,"tag":62,"props":553,"children":554},{"id":267},[555],{"type":28,"value":270},{"type":22,"tag":30,"props":557,"children":558},{},[559,560,564],{"type":28,"value":275},{"type":22,"tag":44,"props":561,"children":562},{},[563],{"type":28,"value":219},{"type":28,"value":281},{"type":22,"tag":30,"props":566,"children":567},{},[568],{"type":28,"value":286},{"type":22,"tag":62,"props":570,"children":571},{"id":289},[572],{"type":28,"value":292},{"type":22,"tag":36,"props":574,"children":575},{},[576,589,597],{"type":22,"tag":40,"props":577,"children":578},{},[579,583,584,588],{"type":22,"tag":44,"props":580,"children":581},{},[582],{"type":28,"value":303},{"type":28,"value":305},{"type":22,"tag":44,"props":585,"children":586},{},[587],{"type":28,"value":219},{"type":28,"value":311},{"type":22,"tag":40,"props":590,"children":591},{},[592,596],{"type":22,"tag":44,"props":593,"children":594},{},[595],{"type":28,"value":319},{"type":28,"value":321},{"type":22,"tag":40,"props":598,"children":599},{},[600,604],{"type":22,"tag":44,"props":601,"children":602},{},[603],{"type":28,"value":329},{"type":28,"value":331},{"type":22,"tag":30,"props":606,"children":607},{},[608,609,613],{"type":28,"value":336},{"type":22,"tag":250,"props":610,"children":611},{"href":339},[612],{"type":28,"value":342},{"type":28,"value":281},{"title":7,"searchDepth":345,"depth":345,"links":615},[616,617,618,619,620],{"id":64,"depth":348,"text":67},{"id":224,"depth":348,"text":227},{"id":240,"depth":348,"text":243},{"id":267,"depth":348,"text":270},{"id":289,"depth":348,"text":292},1778601705319]