MobiLauncher

Broadcasts

Push messages to every device on your tenant. Maintenance windows, shift handoff notes, urgent alerts — anything you'd otherwise tell people via email and hope they read.

Pro+ feature. On Free, the bell icon doesn't appear on devices.

What it looks like on the device

A bell icon in the launcher header, top right. When there are unread broadcasts, a small red badge shows the count. Tap to open a slide-out panel with each broadcast as a card: title, body, severity (info / warning / critical), optional dismiss button.

Devices poll every 60 seconds, so a posted broadcast appears within a minute. No push registration, no APNs/FCM setup.

How to post one

Portal → Your fleets → click your tenant → Broadcasts tab.

Fields:

  • Title (required, max 80 chars) — short. Devices show this in bold at the top of the card.
  • Message (required, max 500 chars) — the body. Plain text. URLs in the body auto-linkify on the device, so you can drop a link to a job ticket or a Slack thread.
  • Severityinfo (blue), warning (yellow), critical (red). The severity drives the card's color and the left-edge accent on the device.
  • Dismissible — yes/no. If yes, the device user can swipe/tap the X to clear it locally. Server-side it's still active until it expires; if the device reboots, it comes back.
  • Starts at (optional, default: now) — schedule a broadcast for later. The device won't show it until this time.
  • Expires at (required) — when the device hides it automatically. Pick a real time, not "never" — broadcasts you never expire pile up and noise out the panel.

Hit Post broadcast. It's live within ~60 seconds on every device.

When to use which severity

  • info — "Reminder: weekly inventory check Friday 9am"
  • warning — "We're switching VPN servers tonight 11pm–midnight; expect a brief outage"
  • critical — "Stop using the FedEx scanner — known firmware bug is mislabeling packages. Use UPS for outbound until 4pm"

Devices show critical broadcasts more prominently. Don't overuse — if everything's critical, nothing is.

Managing existing broadcasts

Same tab, All broadcasts section below the composer. Three states are shown:

  • active — currently on devices
  • scheduledstartsAt is in the future, not yet visible
  • expired — past expiresAt, devices have hidden it

Click the × on any row to delete. Active broadcasts disappear from devices on the next 60-second poll.

Dismissed-vs-deleted, what's the difference?

  • Dismissed on the device = local to that one device. The user tapped X. Other devices still see it. If that device reboots, the broadcast comes back unless it has expired.
  • Deleted from the Portal = gone from every device on next poll. The right move for "I posted that by mistake" or "the issue is resolved."

There's no per-device acknowledgment / read-receipt at v1. If you need "I want proof every operator has seen this," email us — we'll prioritize it when there's customer demand.

Targeting a subset of devices

Not yet at v1 — every broadcast goes to every device on the tenant. Targeting by profile (e.g., "only field handhelds, not signage") is reserved for Enterprise tier. The server-side data model is already in place; the UI and the device-side filter will follow when there's a buyer asking for it.

If you need this now, the workaround is two tenants — split your fleet into "Field" and "Office" tenants, post broadcasts to one or the other. That's a second Pro subscription instead of one, but it works today.

API access

If you want to post broadcasts from your own systems (Slack slash-command, n8n, PagerDuty action), the API is:

POST https://api.mobilauncher.com/tenant/broadcasts/<tenantId>
Authorization: Bearer <your-edit-token>
Content-Type: application/json

{
  "title": "VPN maintenance tonight",
  "body": "11pm–midnight Pacific. Expect a brief outage.",
  "severity": "warning",
  "expiresAt": 1715998800,
  "dismissible": true
}

Returns the created broadcast as JSON. expiresAt is a unix timestamp in seconds. Get your edit token from the Portal's Your fleets view (open browser DevTools → Application → Local Storage → mobilauncher.portal.tenant.<tenantId>).

Full API reference is on the roadmap; for now, this is the only public-write endpoint customers need.