Skip to main content
A phone can be shown a note — a title, a line under it, a coloured tag, and any facts you like as rows — while a call is up or, for a person’s own device, at any time. The FireTone app and the Desk softphone render notes; a desk phone that does not understand them shows nothing. The format is the app’s (the contract lives in the repository), and this page is how the platform sends and receives it.

Two ways to send

If you are not sure which, send a MESSAGE. Both take the same body.

The note

Four fields mean something to the app: Every other field is shown to the person as a name/value row, in the order sent: use short, readable names (zone, ticket, priority), not internal codes. Nested objects and arrays fold and open on tap. Keep the whole note under 4 KB — it is read on a phone and a watch; send a URL for more. Never put a secret in one: notes are stored on the phone and shown in full. Answers 202 {id, channel, legs?, ack}. id is the platform’s, and the acknowledgement names it. A call with no phone on it (carrier to carrier, parked) is 409; an extension with no registered device is 409 too.

What the phone receives

From your own system, on answer

Set the organisation’s Call-info URL (and a signing secret) in Organisations → the tenant → Your systems, during a call, or PATCH /organisations/{id} with call_info_url and call_info_secret. On every answered call the platform POSTs the call’s facts:
with X-FireTone-Signature: sha256=<HMAC-SHA256 of the body, keyed with the secret>. Answer with a note — the same object as above — within five seconds and it is sent to the phone as INFO; answer 204 or an empty body to show nothing. The URL must be https on a public address, as every tenant URL is.

From a conference room

Every phone in a room is told when someone joins or leaves, and a phone that joins is told who is already there — as INFO on its leg, nothing to configure:

The acknowledgement

A note with ack: true shows Acknowledge. When the person taps it, the phone replies once, the way the note came — INFO on the same dialog, or MESSAGE to events@<your SIP domain> — with:
The platform marks the note acknowledged at at and your webhook receives call.info.acked. It is the person’s act: acknowledged means somebody tapped, not that the phone received the note. A reply to an INFO note works only while that call is up; the app tells the user when it could not be sent.

Reading back

GET /calls/{uuid}/infos and GET /extensions/{id}/messages (calls:read) list what was sent, newest first, with acked_at where the person acknowledged. Kept 30 days.

Events

Things to avoid

The app’s own list: don’t send the same note twice with different ids; don’t send a note every second (each is a banner and a kept entry); don’t put secrets in notes; don’t send text/html; don’t rely on the app being in the foreground for a MESSAGE — for anything urgent, use a call or a push.