Skip to content

Templates

A template decides what a live activity looks like on the device.

ID: generic

The generic template works best for activities that map cleanly to a progress bar.

Use the Home Assistant quick-start blueprint to post Live Activity updates using the Generic template.

FieldTypeDescriptionRequired?
template"generic"Identifies this template.Yes
progressfloatProgress of the activity in range [0.0-1.0].Yes
statestringDescribes the state of the activity.No
iconstringAn SF Symbols icon.No
remaining_timeintRemaining time in seconds.No

To get a better understanding of how this schema correlates to a displayed live activity, see the picture below:

Shows how the schema correlates to a displayed live activity.
{
"template": "generic",
"progress": 0.35,
"state": "In progress",
"icon": "washer",
"remaining_time": 2120
}
Left: Expanded dynamic island. Right: Lock screen. Left: Expanded dynamic island. Right: Lock screen. Left: Compact dynamic island. Right: Apple Watch. Left: Compact dynamic island. Right: Apple Watch. Live activity in the CarPlay dashboard. Live activity in the CarPlay dashboard.

ID: monitor

The monitor template is designed for tracking a live status with one or two columns of labeled values.

Use the Home Assistant quick-start blueprint to post Live Activity updates using the Monitor template.

FieldTypeDescriptionRequired?
template"monitor"Identifies this template.Yes
iconstringAn SF Symbols icon.No
left_columnColumnLeft column payload.No
right_columnColumnRight column payload.No
primary_column"left" | "right"Column emphasized in compact layouts.No

To get a better understanding of how this schema correlates to a displayed live activity, see the picture below:

Shows how the schema correlates to a displayed live activity.
FieldTypeDescriptionRequired?
headerstringShort label above the value.No
valueValueValue payload.Yes
footerstringOptional label below the value.No
FieldTypeDescriptionRequired?
valuestringValue to display.Yes
text_colorColorText color for the value.No
formatterFormatterControls how the raw value is displayed.No

Color identifiers map to SwiftUI system colors. Swatches below show approximate previews.

IdentifierPreview
red
orange
yellow
green
mint
teal
cyan
blue
indigo
purple
pink
brown
gray

A formatter decides how to display the raw value field. If formatter is omitted or provided with null, it will display the value as-is without any transformation.

IdentifierDescription
time_sinceFormats an ISO8601 timestamp as an auto-updating elapsed timer.
time_untilFormats an ISO8601 timestamp as an auto-updating countdown timer.
{
"template": "monitor",
"icon": "robotic.vacuum.and.ellipsis",
"left_column": {
"value": {
"value": "Mopping",
"text_color": "indigo"
},
"footer": "In living room"
},
"right_column": {
"value": {
"value": "20.1 m²"
},
"footer": "Battery: 87%"
}
}
Left: Expanded dynamic island. Right: Lock screen. Left: Expanded dynamic island. Right: Lock screen.

To browse the full catalog of available symbols, you can use one of the following apps:

  • SF Symbols — Apple’s official app for macOS.
  • Interactful — A free third-party SF Symbols browser for iPhone and iPad. Look under Foundations → Iconography.