# PingRoom Live Activities: All Seven Types, Explained

> A complete guide to PingRoom Live Activities: what they are, where they appear, and when to use Status, Steps, Progress, Metrics, Countdown, Question, or Matchup.

- Published: 2026-08-05
- Author: Mahdi Salmanzade
- Category: Product
- Topics: PingRoom Live Activities, Dynamic Island live updates, live status templates, Android ongoing notifications
- Canonical: https://pingroom.io/blog/live-status-moves-into-the-room
- Cover image: https://pingroom.io/blog/live-status-moves-into-the-room.webp
- Cover description: A glowing red live signal moving through a sequence of glass status cards into PingRoom.

A notification tells you that something happened. A **Live Activity** stays with you while it is happening.

That difference matters. A deployment can move from building to testing to shipped. A delivery can go from collected to nearby to arrived. A match changes score. A deadline counts down. An AI agent can work for several minutes before it needs a decision. None of those events fit naturally into a pile of separate notifications.

PingRoom Live Activities turn each one into a single, changing event. The event starts once, updates in place, and finishes with a clear result.

We built seven types so the presentation matches the information: **Status, Steps, Progress, Metrics, Countdown, Question, and Matchup**. Here is what each one is, what it is good at, and how to choose the right type.

## What Is A PingRoom Live Activity?

A Live Activity is a structured Ping with a lifecycle.

The first update creates the event. Later updates change the same event instead of filling the room with new rows or making the phone alert on every small movement. A final `done` or `failed` update closes it and leaves the outcome clear.

Every Live Activity answers three questions:

1. **What is happening?** The title and current state provide the context.
2. **What changed?** The selected template shows the useful detail: a step, percentage, metric, time, choice, or score.
3. **Is it finished?** A terminal state replaces uncertainty with a result.

This is the same event model PingRoom uses everywhere: it fires, it changes, someone may act on it, and then it is done.

## One Event, Everywhere You Need It

On iPhone, the activity can live on the **Lock Screen** and in the **Dynamic Island**. PingRoom also gives it a compact presentation for the **Apple Watch Smart Stack**. On Android, the same stream becomes an ongoing live update. Inside PingRoom, it appears as a live strip and a full template-aware card in the room feed.

![One live event carried across the Lock Screen, Dynamic Island, Android live update, and PingRoom room feed.](/blog/live-status-across-surfaces.webp)

The information density adapts to the surface. A compact Dynamic Island may show only `3/4`, `68%`, a timer, or the leading metric. Expand it and the activity reveals the title and supporting context. Open PingRoom and the full card is waiting in the room.

Tapping the activity does not drop you at a generic home screen. PingRoom opens the correct room, finds the event, scrolls it into view, and briefly focuses the exact row you tapped.

## The Seven Types At A Glance

| Type | Best question it answers | Good uses |
|---|---|---|
| **Status** | What state is it in right now? | Incidents, deliveries, backups, agent work |
| **Steps** | Which stage are we on? | Deployments, onboarding, checklists, service workflows |
| **Progress** | How much is complete? | Uploads, exports, migrations, batch jobs |
| **Metrics** | What are the important values now? | System health, campaign results, operations, live counters |
| **Countdown** | How much time remains? | Deadlines, event starts, freezes, timed windows |
| **Question** | What decision is needed? | Approvals, polls, choices, human-in-the-loop work |
| **Matchup** | How do two sides compare? | Scores, A/B tests, goals, competing live values |

![The seven PingRoom Live Activity patterns: status, steps, progress, metrics, countdown, question, and matchup.](/blog/live-status-seven-templates.webp)

The type is chosen when a stream starts and stays fixed until it ends. Its values can change; its meaning does not. A deployment should not suddenly turn into a scoreboard halfway through. Keeping the template stable also ensures that the Lock Screen, Android notification, and room card always agree about what kind of event they are showing.

## 1. Status: The Flexible Default

**Status** is for an event whose most important detail is its current state and message.

It shows a state indicator, a strong title, and a short changing message. In compact surfaces, PingRoom reduces it to the room mark and a live or terminal state. It can also carry a progress value or estimated finish time when those details help but do not deserve to dominate the layout.

Use Status for events such as:

- A backup moving from “Snapshotting volumes” to “Uploading to cold storage”
- A delivery changing from “Collected” to “Five minutes away”
- An incident moving from “Investigating” to “Monitoring recovery”
- An AI agent changing from “Reading the repository” to “Preparing the fix”
- A household update changing from “Dinner is cooking” to “Ready to serve”

**Choose Status when words explain the change better than a number.** If everyone needs to know that something moved from one named state to another, this is the cleanest template.

Do not use it when the audience will immediately ask “how many steps are left?”, “what percentage is done?”, or “how much time remains?” Those questions have dedicated layouts.

## 2. Steps: A Visible Sequence

**Steps** is for a process with a known order.

The template displays a checkpoint rail, the current step, and the overall position in the sequence. PingRoom supports between two and eight named steps. The list is set when the activity starts; updates advance the current position and can change the supporting message.

A release pipeline might begin with:

1. Build
2. Test
3. Stage
4. Ship

As it moves, the Lock Screen highlights the active checkpoint. The compact Dynamic Island can show `2/4`, while the expanded view adds the current step name and context. When the process finishes, the live rail gives way to the final Done or Failed result.

Use Steps for:

- CI/CD and release pipelines
- Order preparation and fulfilment
- Client onboarding
- Multi-stage approvals
- Travel sequences such as check-in, boarding, departure, and arrival
- Agent workflows with clear phases such as understand, plan, execute, and verify

**Choose Steps when the names of the stages matter.** If a person needs to know *where* the process is—not merely how far along it is—the sequence is more informative than a percentage.

Do not use Steps for a fluid task whose stages can change after it begins. Because the rail is intentionally stable, an unknown or frequently changing workflow is better represented by Status.

## 3. Progress: A Measurable Finish Line

**Progress** is for work that can be measured from zero to complete.

It gives the percentage visual priority, backed by a determinate progress bar. An optional estimated finish time can count down alongside it. The percentage updates in place, so `0%`, `42%`, `88%`, and `100%` remain one continuous event rather than four different notifications.

Use Progress for:

- Uploading or downloading a large file
- Exporting an archive
- Importing records
- Migrating a database
- Rendering media
- Processing a batch of jobs
- Completing a fundraising or registration goal

**Choose Progress when the fraction completed is honest and useful.** The best input is based on real work—items processed, bytes transferred, or stages weighted by duration—not an animation that merely looks busy.

If you cannot calculate meaningful completion, use Status. A progress bar that stalls at 92% creates more anxiety than clarity.

## 4. Metrics: The Numbers That Matter Now

**Metrics** is for monitoring up to three changing values at once.

Each metric has a short label and a formatted value. PingRoom presents the values with stable, scan-friendly typography so they can change without the card jumping around. On the compact Dynamic Island, the first metric becomes the headline; in the expanded view and room feed, the remaining values stay visible beside it.

A production-health activity could show:

- **RPS:** 9.8k
- **p99:** 1.4s
- **5xx:** 3.2%

Use Metrics for:

- Service health and incident monitoring
- Orders, revenue, or sign-ups during a campaign
- Event attendance and capacity
- Warehouse or support queues
- Sensor readings
- Agent evaluation results
- Any live situation where two or three numbers tell the story better than prose

**Choose Metrics when the values are independent but belong together.** Put the most important one first because it receives priority on the smallest surfaces.

Do not squeeze a dashboard into the Lock Screen. If you need more than three values, select the three that change a decision and link the activity back to the full view. If the numbers represent two opponents or variants, Matchup will communicate the relationship more directly.

## 5. Countdown: Time Made Visible

**Countdown** is built around a deadline.

It shows a large, native timer that continues moving on the device without requiring PingRoom to send an update every second. The same deadline becomes a compact timer in the Dynamic Island and a clear time-left treatment in the room.

Use Countdown for:

- A deployment freeze ending
- An event, meeting, or stream about to begin
- A flash sale or registration window closing
- A kitchen, exercise, or maintenance timer
- A response deadline
- A scheduled failover or launch

**Choose Countdown when time itself changes the next action.** “Starts in 08:42” is more immediate than a static message that says “Starts soon.”

Use an absolute deadline rather than sending a new formatted time on every update. That allows the device to keep the display accurate even when the network is quiet. When the window ends, send a final state that tells people what happened next: started, closed, extended, done, or failed.

## 6. Question: Bring A Decision To The Surface

**Question** is for a live event that needs human input.

It shows a prompt and up to four choices, with an optional deadline. That makes it useful for a quick operational decision, a group choice, or the moment an AI agent cannot safely continue alone.

Use Question for:

- “Promote build 118 to production?”
- “Move the event indoors?”
- “Approve this refund?”
- “Which route should the driver take?”
- “Continue automatically or let me review?”
- A small room poll with a time limit

Interaction depends on how the question was created. A first-class binary PingRoom Question can expose two real answer buttons on supported Apple surfaces. A general live-status Question, including one started by a webhook, opens PingRoom at the exact event so the person can answer there. It never draws controls that only *look* tappable.

Inside the room, one or two choices can stay inline. Three or four choices open in a focused sheet so the feed remains readable.

**Choose Question when progress is blocked on a decision.** The activity should ask for a specific answer and make the consequence understandable. If no response is required and you only want to announce a changing state, use Status.

## 7. Matchup: Two Sides, One Comparison

**Matchup** is for a live comparison between two sides.

It gives each side a label and value, with an optional central score, percentage, clock, or shared result. Unlike every other compact template, the Dynamic Island can lead with the left side and trail with the right, so the comparison remains readable even at its smallest.

Use Matchup for:

- A sports score
- Hits versus misses
- Goal versus actual
- Control versus experiment in an A/B test
- Team A versus Team B in a challenge
- Passed versus failed checks
- Two agents, models, or strategies being evaluated against the same task

**Choose Matchup when the relationship between two values is the point.** If you simply have three unrelated operational numbers, use Metrics. If one number is advancing toward a fixed finish line, use Progress.

The centre field should add meaning rather than repeat the sides. A clock, combined percentage, set count, or short state works well.

## How A Live Activity Moves From Start To Finish

Every template follows the same lifecycle:

1. **Start.** The first Ping creates one live event, alerts the room, and establishes its template and identity.
2. **Update.** New values replace the old values in the same activity and the same room-feed row. Routine running updates can arrive silently.
3. **Resolve.** A final Done or Failed state closes the live surface and delivers the outcome. Questions and acknowledgements can also resolve as Answered, Acknowledged, Expired, or Cancelled when their workflow calls for it.

The event uses one stable correlation identifier throughout its life. That is how PingRoom knows that “Compressing · 42%” and “Finalising · 88%” are updates to the same export rather than new events.

The template-specific details stay with the event even when a later update is sparse. A final `done` update does not erase the scoreboard, metrics, progress, or deadline that made the activity understandable.

For example, a webhook can start a progress activity like this:

```json
{
  "correlation_id": "archive-2026-08-05",
  "title": "Exporting archive",
  "live_status": {
    "state": "running",
    "template": "progress",
    "progress": 0.42,
    "message": "Compressing files"
  }
}
```

Later requests reuse the same `correlation_id`, update `progress` and `message`, then finish with `state: "done"` or `state: "failed"`. The full producer contract is in the [Live Activities guide](/liveactivities.md).

## Who Can Start One?

Live Activities are not limited to backend systems.

**People** can choose a template from the PingRoom composer in a standard private room, start the stream, update it from the room, and mark it Done or Failed. The person must have permission to Ping that room. Human-created streams are free; a daily safety ceiling prevents abuse without turning the feature into a subscription gate.

**Webhooks and automations** can turn an existing system into a live phone surface. A deployment service, Home Assistant workflow, order system, or monitoring tool can start and update a stream with ordinary HTTP requests.

**AI agents** can create live work through PingRoom’s agent API, MCP tools, SDK, or CLI. An agent can keep a person informed while it works, or start a Question activity when it needs a decision.

Each producer owns the stream it starts. A room member cannot take over an agent’s activity, and one member cannot advance another member’s stream just by discovering its identifier.

## How To Choose The Right Type

Start with the one question a person will ask when they glance at the phone:

- “What is it doing?” → **Status**
- “Which stage is it on?” → **Steps**
- “How much is finished?” → **Progress**
- “What are the key numbers?” → **Metrics**
- “How much time is left?” → **Countdown**
- “What do you need me to decide?” → **Question**
- “Which side is ahead?” → **Matchup**

Then remove anything that does not help answer that question. A Live Activity is not a miniature dashboard and it is not a transcript. Its job is to make one changing event understandable in a glance.

## Why This Belongs In PingRoom

Chat is good at preserving conversation. It is bad at representing changing reality.

A group chat turns every progress update into another message. The important state becomes scattered across timestamps, replies, and “is it done yet?” follow-ups. A normal push notification is brief, but once dismissed it loses the thread.

A PingRoom Live Activity keeps the event intact. The Lock Screen is the glanceable surface. The Dynamic Island is the persistent signal. Android keeps an ongoing update visible. The Watch provides the quickest check. The room is where someone can inspect, control, answer, acknowledge, or finish the event.

One event. Seven ways to express it. Every surface tells the same story until the work is done.
