Skip to main content

App Calls

The customer's app must be a build that can answer

App Call is offered on the strength of the control room's own vcr_app_calling_settings — it does not check whether the contact's phone can actually answer. CleverAlert has shipped with app calling compiled out since build 1.2.9+166 (21 August 2026), so pressing App Call to a contact on a current build will not ring their phone. The app reports a per-device supports_app_calls flag for exactly this, but nothing reads it yet.

App Call is an audio-only voice call from CleverCommand straight into a CleverAlert app user's phone, carried over the internet instead of the phone network. There is no phone number involved and no telephony cost — the call rings the CleverAlert app itself, not the contact's SIM.

When to use App Call​

App Call is a third way to reach a contact, alongside the Call List (dial their number yourself) and AI Calls (an AI verifies a password for you). Reach for it when:

  • The contact is a registered CleverAlert app user and you'd rather talk to them yourself than run an AI verification.
  • You want the call logged automatically with no telephony cost, the same way an in-browser softphone call is.
  • The contact's phone number isn't reliable, but their app is installed and reachable.

Starting an App Call​

App Call appears wherever the contact is an app user:

  • On the event's call list — clicking the contact's number asks how to call them, and App Call is one of the options. For an app user with no number on file, a Call button takes its place and rings the app directly.
  • In the Call Customer flyout — an App call chip appears in the provider picker alongside the AI providers and Manual.
  • On the Advance board's call picker — clicking Call on a kanban card lists the site's contacts, and every app-user contact gets an App call button next to Manual (and Twilio / AI call where enabled). It behaves exactly like the call-list route: the call is placed immediately and Add feedback opens over the board.

The call-list and board routes place the call immediately and open the Add feedback screen over it, so you write the call up while you're still talking. The flyout route runs the call in the flyout instead, ending on its result pane.

  1. Open the event and find the contact
  2. Click their number (or Call, if they have no number) and choose App Call — if that's the only way to reach them, it starts straight away
  3. The call is placed and Add feedback opens, titled App call to <name> — you don't pick a contact or provider again
  4. A slim strip across the top of that screen shows the call's status as it progresses — Connecting… → Ringing… → On call — with the elapsed time, Mute and Hang up

Only contacts who are app users (a call-list contact with a linked CleverAlert account) are offered the App Call option. Non-app users and external keyholders can't be app-called — call them from the Call List instead.

Setup required

App Call only appears when CleverCam has enabled in-app calling for your control room and you hold the same permission that governs the AI caller (the can_use_ai_caller toggle set by a company admin — supervisors always qualify). If you don't see it for an app-user contact, ask your administrator.

While it's ringing​

The app user's phone rings for 30 seconds. You can cancel the call at any point while it's still ringing — click Hang up on the strip. If nobody answers within 30 seconds, the call is recorded as missed.

Only one live App Call can be in progress with a given app user at a time — if you (or another operator) already have a call ringing or connected to that person, a second attempt is refused.

Once answered​

When the app user answers, audio connects both ways immediately — there's no password verification step, since you're speaking to them directly. Either side can end the call at any time; on your side, click Hang up.

Every answered call is recorded automatically and attached to the event — see Call recordings below.

Logging the outcome​

When the call ends — you hang up, they hang up, or it's declined — the strip doesn't vanish: it turns grey and states what happened (Call ended, Declined, Canceled) while Add feedback stays open, so the note still gets written. If the connection to the app user was lost rather than hung up, the strip turns red with Connection lost and offers a ↻ Recall button — one click rings them again without leaving the screen or losing your notes.

It's the same screen the Advance kanban uses after a manual call:

  • A row of + chips writes a complete sentence into the notes with one click — Correct password, Wrong password, Duress signal, No answer, Voicemail, All in order, Owner away, Requested dispatch. The wording names the contact, for example "Correct password provided by Jane Smith."
  • The contact's Password and Duress phrases are shown as coloured pills so you know what to listen for — labelled Site password / Site duress / Last 4 of cellphone when the premises word or the phone digits stand in for a contact with none of their own.
  • Type anything else in your own words, then click ✨ Polish with AI to tidy the wording.
  • Client requested feedback once the situation is actioned raises a callback for later; Also add as operator checklist item turns the note into a row that gates Complete.

Finish with Submit notes (saves the note) or ✓ Call done (saves and marks the call complete — notes optional). Either writes to the event timeline. Closing the screen while the call is still connected hangs it up.

The AI "Was this call useful?" feedback row does not appear for App Calls — that feedback trains the AI callers, and an App Call isn't one.

Calling the whole site​

Call site sits in the Call List panel header whenever at least one contact on the site is an app user. It rings every app user on the site at once, in the CleverAlert app.

  1. Click Call site
  2. The site starts ringing and Add feedback opens, titled Site call — <site name>
  3. The strip shows Connecting… → Ringing… → On call, with the elapsed time and the live headcount (N on call)
  4. Hang up ends your leg, which ends the call for everyone

Everyone keeps ringing until they answer, decline, or the ring expires. Whoever answers joins the same conversation, so several keyholders can talk to you and to each other. People who answer late still join the call in progress; anyone hanging up leaves only themselves.

Each person who joins is written to the event timeline by name ("Jane Smith joined the site call."), so the record of who was on the call survives the call.

The feedback chips follow who actually joined:

  • Exactly one person joined — they are who you spoke to, so the chips name them and their Password / Duress pills appear, exactly as if you had called them directly.
  • Two or more joined — the chips are worded for the call as a whole ("Site call — correct password provided."), since it can't be attributed to one person. The timeline already names everyone who was on.
  • Nobody joined — only No answer is offered, worded for the site.

Caller ID the app user sees​

The app user sees a caller name, not a phone number. It's resolved in this order:

  1. Your control room's configured display name for App Call (if set)
  2. Your control room's name
  3. Otherwise, simply "Control Room"

What the app user sees​

The call arrives as a native, full-screen incoming call on the app user's phone — it works even if their app is closed or their phone is locked. See App Calls (CleverAlert) for what they experience when answering, declining, or talking with you.

tip

For a contact who isn't an app user, or when App Call isn't available for your control room, use the Call List to dial their number directly, or AI Calls to run an automated password verification.

Call recordings​

Every answered App Call is recorded automatically — the operator side captures both directions of audio from the moment the call connects. When the call ends, the recording is saved and a Call recording entry appears in the event timeline showing the length of the call.

Click ▶ Listen on that timeline entry to play the recording back in place. Recordings can be played by the call's operator and by any control-room member with access to that control room, so a call can be reviewed from the event at any later time.

Recordings live in private storage — there is no public link. Playback always goes through a short-lived signed URL that checks the viewer's access to the call.