Loading...
Help Center / Getting Started / Lone Worker App Overview

Lone Worker App Overview

Lone Worker App Overview

Safety check-ins and one-tap SOS for frontline workers, built on a guaranteed escalation engine — wired into the shift app your team already carries.


What is the Lone Worker App?

Lone Worker makes safety a property of the app workers already use, instead of a separate panic-button app they have to remember to carry. A worker on a covered shift gets timed “I’m safe” check-ins and a one-tap SOS; a missed check-in or an SOS opens an alert that climbs a configured responder roster via push, SMS, and voice until a human acknowledges it — with a guaranteed dead-man’s switch if nobody does. Every step is written to an immutable audit trail.

Core Value Proposition:

  • 🛡️ Guaranteed escalation — Every alert is owned by a human or surfaced as a loud, broadcast dead-man’s event. Never a silent drop.
  • 📍 Right responders, right place — Alerts route to a site/team-scoped responder roster, not up an org chart that has nothing to do with who’s nearby.
  • 🔗 Integrated, not bolted-on — Shifts knows who’s on, when, and where; Safety Hub receives incidents; the Inbox surfaces actionable alerts.
  • 🧾 Compliance-grade trail — Every notification, acknowledgement, and resolution is recorded and exportable for EHS / regulator review.

At a Glance

🔗 Integrations 📱 Mobile Ready 🤖 AI Agent 🧾 Audit Trail
Shifts · Safety Hub · Inbox · Notifications ✅ Yes (/m/ worker surface) ✅ Read-only via Ask AI ✅ Per-alert, exportable

Perfect For:

  • 🏭 Frontline & field workers who work alone or at risk — gas stations, field service, utilities, late-shift retail, security, home-health visits.
  • 🦺 Safety / EHS admins who configure responder rosters, check-in cadence, and escalation policy, and review the audit trail.
  • 👤 On-site responders who acknowledge and resolve alerts.

How It Works

Escalation flow

┌──────────────────────────────────────────────────────────────────────────┐
│                       LONE WORKER ESCALATION                              │
├──────────────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐     ┌─────────────┐     ┌─────────────┐                   │
│  │  TRIGGER    │──▶  │ ALERT RAISED│──▶  │  NOTIFY     │                   │
│  │ SOS / missed│     │ roster +    │     │  Tier 1     │                   │
│  │ check-in    │     │ location    │     │ push + SMS  │                   │
│  └─────────────┘     └─────────────┘     └──────┬──────┘                   │
│                                                  │ no ACK within Tier 1     │
│                                                  ▼                          │
│                                          ┌─────────────┐                    │
│                                          │  Tier 2…N   │  push+SMS+voice    │
│                                          └──────┬──────┘                    │
│                              ┌───────────────────┴─────────────┐           │
│                              ▼                                 ▼           │
│                     ┌─────────────┐                   ┌─────────────┐       │
│                     │ ACKNOWLEDGED│──▶ RESOLVED        │  EXHAUSTED  │       │
│                     │ "I've got   │  safe / false     │ dead-man's  │       │
│                     │  this"      │  alarm / incident │ switch →    │       │
│                     └─────────────┘                   │ safety admin│       │
│                                                       └─────────────┘       │
└──────────────────────────────────────────────────────────────────────────┘

Integration ecosystem

                              ┌─────────────────┐
                              │  LONE WORKER    │
                              └────────┬────────┘
                                       │
         ┌─────────────┬───────────────┼───────────────┬─────────────┐
         ▼             ▼               ▼               ▼             ▼
   ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
   │  Shifts   │ │ Safety Hub│ │   Inbox   │ │   Notif.  │ │   Ask AI  │
   │ who's on, │ │ incident  │ │ actionable│ │ push/SMS/ │ │ read-only │
   │ when/where│ │ handoff   │ │ alerts    │ │ voice     │ │ agent     │
   └───────────┘ └───────────┘ └───────────┘ └───────────┘ └───────────┘

Key Features

🚨 One-Tap SOS

A worker can raise an SOS in one tap — on- or off-shift. Location is captured at trigger time only (a single best-available fix), and the worker’s screen shows live delivery state so they know whether to also call emergency services.

Feature Description
One-tap trigger SOS button on the worker surface, on or off shift
Location at trigger Single fix + accuracy captured when SOS fires (no continuous tracking)
Cancel = false alarm Cancelling still writes an audit event; resolved as false_alarm, never deleted

Use Case: A field technician enters a customer’s basement, hits SOS when a panel arcs — responders are notified with the captured location while the worker decides whether to call 911.

💡 Pro Tip: Location capture is configurable per tenant in Settings — leave it on for fastest responder dispatch.

Evidence: app/views/apps/lone_worker/my_safety.html.erb, Apps::LoneWorkerController#trigger_sos, LoneWorker::EscalationEngine#raise_alert.


⏱️ Timed Safety Check-Ins

When a worker is on a covered shift, the system arms timed “I’m safe” prompts on a configured interval. Answering is one tap; a check-in not answered within its grace window becomes missed and raises an alert — detected on a guaranteed cadence, independent of whether the app is in the foreground.

Feature Description
Configured cadence Interval + grace per site/team, or per-tenant defaults
Covered shifts A shift is covered when a responder roster resolves for it
Guaranteed detection A dedicated background job sweeps overdue check-ins

Evidence: LoneWorker::CheckInScheduler, LoneWorker::CheckInSchedulerJob, LoneWorker::MissedDetectorJob, LoneWorker::CheckInSchedule model.


📡 Guaranteed Escalation Engine

The heart of the app. Every trigger is just an input; what happens after is a real state machine. An alert climbs a roster’s tiers — each with its own channels and acknowledgement timeout — until a responder takes ownership.

Feature Description
Tiered ladder Climbs Tier 1 → 2 → N, honoring per-tier channels (push/SMS/voice) and timeout
Mandatory acknowledgement An alert is owned, not just sent — first ACK wins and stops the climb
Dead-man’s switch If the ladder is exhausted with no ACK, a loud event broadcasts to safety admins
Resolution Closed as safe, false_alarm, or incident with a required note

Evidence: LoneWorker::EscalationEngine (raise/acknowledge/resolve/advance), LoneWorker::EscalationDriverJob, LoneWorker::Alert / LoneWorker::AlertEvent models.


🗂️ Site/Team Responder Rosters

Responders are a configured, location-scoped roster — because your boss is rarely your nearest responder. Resolution at trigger time picks the most specific active scope (shift override → team → site); if nothing resolves, the alert routes straight to the org safety-admin break-glass set.

Feature Description
Scope by site / team / shift Most-specific scope wins
Ordered tiers + members Each tier has channels, an ACK timeout, and its responders
Break-glass fallback No roster → safety admins are paged

Evidence: LoneWorker::RosterResolver, LoneWorker::Roster / RosterTier / RosterMember models, Apps::LoneWorker::RostersController.


📊 Analytics & Insights

Admins get a reliability-focused dashboard: total alerts, acknowledgement rate, average ACK latency, unresolved (exhausted) count, a 14-day alert-volume chart, and breakdowns by trigger, outcome, and check-in state — all exportable as CSV.

Evidence: Apps::LoneWorker::AnalyticsController, app/views/apps/lone_worker/analytics/index.html.erb.


🔗 Integrations

Integration Capability
Shifts & Scheduling Source of truth for who’s on, when, and where; clock-in/out arms and cancels check-ins
Safety Hub Resolving an alert as incident opens a Safety Hub incident record with the alert’s context
Inbox Each alert is an actionable Inbox item with an inline “I’ve got this” acknowledge action
Notifications Push / SMS / voice fan-out, with SMS/voice as the reliability floor

Evidence: LoneWorker::EscalationEngine#create_incident, Inbox::Publisher calls + Inbox::ActionHandlers acknowledge handler, SmsService / SendVoiceNotificationJob.


🤖 AI Agent (Ask AI)

A read-only operational assistant in Ask AI. Ask it who’s at risk right now, an alert’s escalation timeline and outcome, your own safety status, or responder-roster coverage. It can acknowledge an alert on your behalf — but only with an explicit confirmation prompt.

  • List active alerts — who’s notifying / acknowledged
  • Explain an alert — full escalation timeline and outcome
  • My safety status — check-in due, active SOS
  • Responder coverage — rosters by site/team
  • Acknowledge (confirmation-gated write)

Evidence: Agents::LoneWorkerAgent, Agents::ToolRegistry::LoneWorker.


🔔 Notifications

Type Description
Tier notification Push / SMS / voice to the current responder tier when an alert climbs
Acknowledgement The alert state updates; climbing stops
Dead-man’s broadcast Safety admins are paged when escalation is exhausted

User Roles & Permissions

Role Capabilities
Worker (any member) Trigger SOS, answer check-ins, view their own safety status and alerts
Responder Open an alert they’re rostered for, acknowledge it, resolve it
Manager Respond to alerts; view the alert list and audit trail
Admin / app admin Configure rosters, check-in schedules, and escalation policy; review analytics; manage settings

Evidence: LoneWorkerAppConfigurable (who_can_manage gate), LoneWorkerFeatureAccess (role-gated tabs), Apps::LoneWorker::AlertsController#authorize_view!.


How We Compare

Standalone lone-worker apps ship a panic button — but the worker carries them in addition to the shift/comms app they already use, and the responder list is generic. Lone Worker makes safety a property of the platform.

Feature MangoApps Workforce OK Alone StaySafe Blackline Safety
One-tap SOS / panic
Timed check-ins + missed-check escalation
SMS/voice fallback when push fails
Shift-aware coverage (built-in scheduling)
Incident handoff to safety/EHS module
Automatic man-down / fall detection
Dedicated wearable / satellite device
Legend: ✅ Included ❌ Not Available ⚡ Limited / add-on

Why MangoApps Workforce?

  • 🔗 Unified platform — Lone Worker rides the same Shifts, Notifications, and Safety Hub your team already runs, so safety isn’t a second app to carry.
  • 📍 Routing that matches reality — Site/team responder rosters page who’s actually nearby and on-call.
  • 🧾 Audit built in — A compliance-grade trail for every alert, exportable for EHS review.

⚠️ Honest note: Sensor-dependent features — automatic man-down and fall detection — are intentionally not included. They require hardware/OS behavior a stock phone can’t reliably deliver; we deferred them rather than over-promise. SOS and missed-check-in escalation cover the core.


Getting Started

For Workers

  1. Open Lone Worker → My Safety (or the /m/ mobile surface on a phone).
  2. Answer the “I’m safe” check-in when prompted.
  3. Tap SOS any time you need help — on or off shift.

For Responders

  1. When an alert reaches you (push / SMS / voice / Inbox), open it.
  2. Tap “I’ve got this” to acknowledge and stop it climbing.
  3. Resolve it as Safe, False alarm, or Incident with a note.

For Administrators

  1. Responder Rosters — create a roster scoped to a site or team, add tiers (channels + ACK timeout), and add responders.
  2. Check-in Schedules — set the interval and grace window for a site/team (or rely on the per-tenant defaults).
  3. Settings — tune escalation timeouts, SOS location capture, the dead-man’s switch, and the Safety Hub handoff.

Best Practices

  • ✅ Build at least a two-tier roster per covered site, with voice on the final tier.
  • ✅ Keep rosters current — a tier whose members are all off-shift can’t respond.
  • ✅ Decide your positioning with legal: market it as a “safety check-in tool,” not a replacement for emergency services.
  • ✅ Use Load sample data in Settings to see a working roster + alert before you configure your own.

Frequently Asked Questions

Q: Does Lone Worker replace 911 / emergency services?
A: No. It assists escalation to your own responders and shows the worker whether help has been reached. It is not a PSAP and does not dial emergency services on the worker’s behalf.

Q: Does it track workers’ location continuously?
A: No. Location is captured only at trigger time (when SOS is tapped or a check-in is missed). Continuous background GPS tracking is intentionally not done.

Q: What happens if no responder acknowledges an alert?
A: The alert climbs every configured tier; if the ladder is exhausted with no acknowledgement, a loud dead-man’s-switch event is logged and broadcast to the org’s safety admins — it’s never silently dropped.

Q: What does the app depend on?
A: Shifts & Scheduling provides who’s on, when, and where. Notifications use the platform’s push/SMS/voice channels. Resolving an alert as an incident hands off to Safety Hub.



Lone Worker — because the safest panic button is the one already in your worker’s pocket.

Ask AI Product Advisor

Hi! I'm the MangoApps Product Advisor. I can help you with:

  • Understanding our 40+ workplace apps
  • Finding the right solution for your needs
  • Answering questions about pricing and features
  • Pointing you to free tools you can try right now

What would you like to know?