Skip to documentation
Notify Docs

Activity fields and layouts

Field limits and platform-specific appearance for progress activities and interactive iOS cards. The lifecycle guide is Track work.

State fields and iOS layouts

Live Activity fields
FieldTypeDescription
titlestring, requiredTask name, maximum 80 characters. Required at start; may be replaced by an update.
statusstring, requiredCurrent stage, maximum 60 characters. Required at start.
subtitlestringOptional short second-line summary replacing visible status in expanded/Lock Screen layouts only, maximum 120 characters. Compact and small-banner views retain status. null clears it. Display budgets below are smaller than the accepted payload limit.
detailstringOptional supporting text, maximum 240 characters, shown in a two-line detail region. null clears it. Overflow remains bounded to the available layout.
progressnumberOptional fraction from 0 through 1. null clears it.
symbolenumProgress icon: terminal (default), code, build, success, or warning.
accentColorstringSix-digit hex, #RRGGBB. Defaults to #246BEB.
styleenumiOS progress layout: standard (default), ring, hero, terminal, or steps. Updates can select another layout; older builds may use the default.
privacyModeenumstandard or private. On iOS/APNs, private replaces start-alert text with a generic message; the activity content still includes its title/status.
keystring, start onlyStart-time alias, maximum 100 characters, accepted in place of the generated activity ID. Reusable after the previous activity becomes terminal.
replaceboolean, start onlyStart-time replacement flag (default false). Ends only the matching active key owned by the same requester. The response includes replaced.
deviceIdsstring[]Start targeting list of 1–50 device IDs. Omit for eligible capable devices.

These are iOS layout choices, illustrated below. Progress layouts and interactive choice layouts serve different requests. Native Android shows ordinary notifications; it does not reproduce ActivityKit, Dynamic Island, or this layout gallery. These captures illustrate layout rather than proving push delivery.

Use a short title for the task name, status for its current stage, and subtitle for a whole-word second-line summary when useful. Display budgets guide writing; they are not guaranteed fit or API rejection limits. Glyph widths, device size, locale, and text size change available space. The native layout measures text, can reduce it to 75% of its base size, then clips at a whole-word boundary if needed. Original text remains available to VoiceOver.

Expanded Dynamic Island and Lock Screen layouts keep a static second-line summary. Its overflow continues before explicit detail in a two-line detail region; title overflow does not crowd that region. Compact views hide title, subtitle, and detail; they retain status with a suggested eight-character authoring budget when progress is absent, except terminal, which shows its prompt icon. Actual fit uses measured width rather than a fixed character cutoff. With progress, the percentage takes precedence. Detail can still exceed its two-line space; do not rely on every accepted character being visible.

A continuous marquee is not promised. Apple limits widget and Live Activity animations to two seconds, and Always-On presentation skips animations. Notify uses the static whole-word summary and two-line detail fallback, including with Reduce Motion enabled; this fallback does not animate.
Suggested visible-character budgets by iOS layout
FieldTypeDescription
standardCompacttitle 0; subtitle 0; status 8; detail 0
standardExpanded / Lock Screentitle 32; subtitle 36; status 36; detail 100
ringCompacttitle 0; subtitle 0; status 8; detail 0
ringExpanded / Lock Screentitle 32; subtitle 30; status 30; detail 80
heroCompacttitle 0; subtitle 0; status 8; detail 0
heroExpanded / Lock Screentitle 24; subtitle 36; status 36; detail 100
terminalCompacttitle 0; subtitle 0; status 0; detail 0
terminalExpanded / Lock Screentitle 36; subtitle 40; status 40; detail 100
stepsCompacttitle 0; subtitle 0; status 8; detail 0
stepsExpanded / Lock Screentitle 32; subtitle 36; status 36; detail 100
Suggested visible-character budgets, not guaranteed fit or API hard limits: proportional glyphs, device width and accessibility text size change fit. 0 means hidden. Expanded and Lock Screen subtitle replaces status on line 2; compact and small banners retain status. Omitted subtitle uses status. Overflow shares the two-line detail area with explicit detail. Compact percentage takes precedence over status when progress is supplied; terminal shows percentage or its prompt icon and never status.
standard native Live Activity Lock Screen preview with example data
standard — Default progress card with an icon, two text lines, percentage, and horizontal track.
ring native Live Activity Lock Screen preview with example data
ring — Circular progress display with the percentage inside the gauge.
hero native Live Activity Lock Screen preview with example data
hero — Large status text above a bottom-edge progress track.
terminal native Live Activity Lock Screen preview with example data
terminal — Command-prompt presentation with monospaced status and secondary detail.
steps native Live Activity Lock Screen preview with example data
steps — Five stage indicators for workflows better described by phases.
approval native Live Activity Lock Screen preview with example data
approval — Default two-choice prompt with balanced decision buttons.
shell native Live Activity Lock Screen preview with example data
shell — Compact command-style question and decision controls.
verdict native Live Activity Lock Screen preview with example data
verdict — Centered question with a divider and prominent primary action.
signal native Live Activity Lock Screen preview with example data
signal — Decision card with distinct positive and negative controls.