A Busymate link can open the BusymateHelper app at the exact view — a specific device, a request, the chat, the setup flow. Any source can hand you one: the dashboard, the @busybrobot Telegram bot, a BusyBro answer, a push notification, or a Live Activity tap. Tap it on your iPhone and the app jumps straight to that screen.
Two kinds of link, one set of destinations
Every destination has two equivalent forms:
- A normal
https://busymate.net/app/...web link (a Universal Link). It's a real, tappable hyperlink anywhere — a chat message, an email, a dashboard button — and it opens the app when installed (and falls back to the website otherwise). This is the form you'll see handed out everywhere. - A
busymate://...custom-scheme link. The app uses this for itself — the Live Activity pill on your lock screen, a push notification tap — and it works offline with no website involved.
Both forms map to the same place. The app normalizes whichever it receives.
Where each link lands
The route table is the same for both forms — just swap the prefix (https://busymate.net/app/ or the dash.busymate.net equivalent for the web form, busymate:// for the scheme form). IDs in a link are always UUIDs or row keys, never names.
| Link | Opens |
|---|---|
/app/home | The app home (closes any open sheet) |
/app/setup | The setup sheet at the first step you haven't finished |
/app/setup/cert | The setup sheet jumped straight to the certificate step |
/app/settings | Settings |
/app/pac | The Wi-Fi PAC setup sheet |
/app/account | Your account sheet (profile + device list) |
/app/device/<uuid> | Your account sheet, scrolled to and highlighting that device |
/app/network | The in-app Network tab for this device |
/app/request/<entryId> | A specific captured request, opened in detail |
/app/busybro | The BusyBro chat (a new conversation) |
/app/busybro?thread=<id> | BusyBro, resuming a specific chat session |
An unknown or malformed link never errors and never crashes — the app simply opens home.
"Open on your iPhone" links from anywhere
Because the web form is an ordinary hyperlink, it travels through any channel:
- BusyBro can put one straight in an answer — for example "Open this device on your iPhone" or "View this request on your iPhone" — and tapping it on the phone routes you to that exact view. On a desktop the same link lands on the website.
- The dashboard can surface an "Open on iPhone" link for a device or request.
- A Telegram message from @busybrobot, a push notification, or the Live Activity pill on your lock screen all use the same destinations.
So a teammate can send you "check this request" and the link takes you straight there in the app, no manual searching.
How the app proves a link is genuinely yours
Universal Links only open the app for hosts the app explicitly claims. BusymateHelper claims busymate.net and dash.busymate.net — each serves an apple-app-site-association file that names the app, so iOS only routes those hosts' /app/... links into the app. Any other site's links go to Safari. (This is also what makes Sign in with Apple and password AutoFill associate with the right app.)
A link only navigates — it never acts
This is the security model in one line: a deep link opens a view; it can never perform an action.
- No destructive routes exist. There is no link that unpairs a device, turns capture off, deletes data, or changes a setting. The whole route table above is navigation-only. Every action keeps its normal permission and confirmation gates, on the dashboard, MCP, and BusyBro paths — a URL can't reach them.
- Sign-in and pairing still apply. A link to your account, a device, the Network tab, a request, or BusyBro lands you in the normal flow if you're signed out or unpaired — it shows the sign-in/pair screen first, then continues to where the link pointed. A link can't skip consent, pairing, or sign-in.
- Your data stays your data. A
device/<uuid>orrequest/<entryId>link opens a view; the underlying data is still read with your own session under row-level security. Handing you a link to someone else's device id just shows your own empty/denied state — never another account's data. - Links are treated as untrusted. Because any app can register the
busymate://scheme, the app parses an incoming link as untrusted input and uses its values only as permission-checked lookup keys. Thehttps://Universal Link is the trusted hand-out form (it's bound to Busymate's own domains); the custom scheme is for the app's own in-process use.
See also
- BusyBro chat sessions — what
busybro?thread=<id>resumes. - What BusyBro can do — BusyBro emits "open on your iPhone" links from the IDs it's working with.
- Install & pair · VPN vs PAC modes — the setup the links can jump you into.
- Architecture: BusymateHelper internals — how the app captures and routes.