Skip to content
OpenAppPhysical access, simplified
Login

Mobile intercom app

The OpenApp Intercom apps (iOS + Android) use the same portals and signaling stack as the dashboard. CallKit and ConnectionService provide the native incoming-call UI. Visitor calls in the production app are receive-only; visitors place calls from the web portal.

Sign in with the same OpenApp account you use on the web dashboard. The app opens the system browser for OpenApp sign-in, then returns to the app.

Tap Sign in on Home (or Account) and choose Continue in browser.

Mobile sign-in screen with Continue in browser.(click to enlarge)
Mobile sign-in screen with Continue in browser.

Home lists invitations and doors you can open, plus apartments that receive visitor calls when you are signed in. Scan a portal QR with the scan button to add an invitation on this device.

Home tab showing invitations and doors the resident can open.(click to enlarge)
Home tab showing invitations and doors the resident can open.
QR scanner for adding a portal invitation from a printed code.(click to enlarge)
QR scanner for adding a portal invitation from a printed code.

Opening an invite link (email or QR) adds that invitation on Home. You can use an invite without signing in. Tapping Open does not unlock the door until you confirm on the door screen.

Home tab after opening an invite link, with the invitation and Open.(click to enlarge)
Home tab after opening an invite link, with the invitation and Open.

Signed-in residents who scan a resident portal QR land on Home, not another building’s visitor directory.

From an invitation or door card, open the door screen and tap Open. Lights appear when the portal has them. Policy, curfew, and hold-closed rules still apply — if Open is disabled, the screen explains why.

Door screen with Open for the lobby door.(click to enlarge)
Door screen with Open for the lobby door.

Account is where you sign out, set appearance (system / light / dark), change language, and send feedback.

Account tab with sign-out, appearance, and language.(click to enlarge)
Account tab with sign-out, appearance, and language.
Send feedback form with type, message, and contact fields.(click to enlarge)
Send feedback form with type, message, and contact fields.

Answer visitor calls from the system call UI; media continues in the in-app call screen. Registering for push (FCM on Android, VoIP on iOS) happens when the build is configured for it. The Calls tab lists recent visitor threads after a call.

Calls tab showing recent visitor calls and chat threads.(click to enlarge)
Calls tab showing recent visitor calls and chat threads.

Parents mark a household member as a child and enter their date of birth in the dashboard. Under 13 are not rung from the public portal. Ages 13–15 receive visitor calls only if a parent turns that on. Residents can block a door and report a call from the incoming-call screen.

IssueWhat to try
No ringConfirm backend CallNotificationFanout has APNs or FCM enabled and the device token is registered (POST /api/v1/me/device-tokens).
WebRTC failsCheck STUN/TURN env (NUXT_PUBLIC_WEBRTC_ICE_SERVERS_JSON / EXPO_PUBLIC_WEBRTC_ICE_SERVERS_JSON).
Sign-in failsConfirm the phone can reach the same API origin as the dashboard, then sign in again from Account. The error text from the app is the server’s message.

For engineers: apps/mobile/docs/TESTING.md and apps/backend/local_server/PUSH_CHANNELS.md.