Write your own alert wording
Every alert’s words come from two templates, a Title and a Body, in Settings › Device Notification Settings › Wording. The app fills them in from what the camera saw. Out of the box they read:
Front Porch Alert Person in Front Path Zone
You can write anything you like instead. The wording is this iPhone’s own: each device keeps its own, and it isn’t synced. This iPhone only
- Title and Body: type freely, and tap a variable to insert it where the cursor is.
- Reset to the default wording: back to how it started.
- Variables: everything an alert can say, with what each holds.
- How an alert reads: your wording, filled in for example alerts as you type, through the same code a real alert uses.
Variables
Section titled “Variables”| Variable | Becomes | For example |
|---|---|---|
{{camera}} |
The camera’s name: its friendly name in Frigate, or its key in your config | Front Porch |
{{subjects}} |
Who and what was seen, with recognised names in place of the labels they stand for; with nothing seen, what was heard | Alice and Dog |
{{objects}} |
What was seen | Person and Car |
{{names}} |
Recognised faces and plates, where your server recognises them | Alice |
{{zones}} |
Zones entered | Front Path |
{{sounds}} |
What audio detection heard | Bark |
{{time}} |
When it started | 4:36 PM |
{{server_name}} |
The server’s name, as you named it in this app | Cabin |
{{genai}} |
Your server’s GenAI description, once it has written one | A person walked up to the door and left a package. |
{{ios_ai}} |
A description of the picture written on this iPhone; needs iOS 27 and Describe alert pictures | A person in a red jacket carries a box up the steps. |
Objects come out in your iPhone’s language, named the way Frigate’s web interface names them. Anything you’ve hidden under Labels is left out.
Say something only when there’s something to say
Section titled “Say something only when there’s something to say”A variable with nothing to say disappears. That can leave a sentence hanging: Person in Zone. So wrap the words that belong to a variable in a section:
{{#zones}}…{{/zones}}shows what’s between them only when there is a zone.{{^zones}}…{{/zones}}shows what’s between them only when there isn’t.
So {{subjects}}{{#zones}} in {{zones}}{{/zones}} reads Person in Driveway when a zone was
entered, and just Person when none was. The default body uses exactly this.
Sections work for every variable. {{#names}}{{names}} is here{{/names}}{{^names}}Someone is here{{/names}}
says Alice is here for a face your server knows, and Someone is here for one it doesn’t.
Examples
Section titled “Examples”| Title | Body | Reads |
|---|---|---|
{{camera}} Alert |
{{subjects}}{{#zones}} in {{zones}} Zone{{/zones}} |
Front Porch Alert / Person in Front Path Zone (the default) |
{{subjects}} at {{camera}} |
{{time}} |
Person at Front Porch / 4:36 PM |
{{server_name}}: {{camera}} |
{{subjects}}{{#genai}} — {{genai}}{{/genai}} |
Cabin: Driveway / Car — A white van stops at the gate. |
{{#names}}{{names}} is home{{/names}}{{^names}}{{camera}}{{/names}} |
{{objects}} |
Alice is home / Person |
The default wording and descriptions
Section titled “The default wording and descriptions”The default body has more to it than its first line: below it, it adds your server’s GenAI
description when there is one, and otherwise this iPhone’s own description. When you write your
own wording, add {{genai}} or {{ios_ai}} yourself if you want them. Add the description to
my wording, under Picture Description, adds {{ios_ai}} for you.
The default wording is shown in your iPhone’s language. If you change it, your words are used as you wrote them.
When the wording isn’t used
Section titled “When the wording isn’t used”Your wording needs this iPhone to reach your server when the alert arrives, to read what the camera saw. When it can’t, such as away from home with no Away address, the alert arrives in Frigate’s own words instead.