> For the complete documentation index, see [llms.txt](https://docs.aloop.icustomer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aloop.icustomer.ai/reference/pulse-families.md).

# Pulse families

The pulse family catalog: Opportunity, Stall (with its five edges), and Milestone, with examples of each.

Every pulse belongs to exactly one family. Three families cover everything the system raises.

| Family          | The moment                                                                  | Examples                                                                                               |
| --------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Opportunity** | Something good is happening. Act before the window closes                   | A target account is back on your pricing page, a hot reply landed, someone raised their hand on a form |
| **Stall**       | An edge of the loop cannot advance. The reason and the remedy come attached | A sync is failing, a play is waiting at its gate for your approval, a connector lost authorization     |
| **Milestone**   | A first, worth marking                                                      | First audience activated, first outcome attributed, a target reached                                   |

## The five stall edges

Anyone can build the path where everything works. What matters is what you see when something doesn't. At every step of [the loop](/getting-started/the-loop.md), the platform either advances or tells you exactly what's in the way, and every stall names the edge it fired from:

| Edge             | Stalls when                                                        | What you get                                                                                  |
| ---------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| Goal → KPI       | Nothing under the goal is readable                                 | The goal marked locked, the connector that opens it, and how many KPIs and plays that unlocks |
| KPI → Target     | No achievable move, or the window is shorter than your sales cycle | "No target here yet," naming which of baseline, reference, or portfolio is missing            |
| Target → Play    | Capacity, a missing connector, or missing required data            | A setup proposal: what to connect or configure, and what it would make possible               |
| Play → Outcome   | Plays ran and nothing landed                                       | A prompt to re-diagnose. Never a second play stacked on the same theory                       |
| Outcome → Target | Identity doesn't resolve                                           | The outcome counted, credited to nothing, and reported                                        |

Refusing to set a target is a feature. Any tool will happily produce a number. Saying "we won't guess, and here's what would let us know" is the more useful answer, and it's what the system actually believes rather than a bit of interface politeness.

A stall that needs your click (an approval, a merge proposal, a gated play) is still a stall: the human is the remedy. A stall that fires early (credit pacing, "you run out by this date") is a forecast of the same shape.

## Mode and origin

* **Mode.** A pulse is either **decide** (it needs an action from you) or **inform** (it tells you something worth knowing and folds into the digest). Only decide pulses can interrupt.
* **Origin.** Pulses are generated at the moment they fire, from what the system actually observed. Pre-written sequences, like onboarding nudges, are lifecycle email, not pulses.

How the queue behaves, and how families relate to the app's tabs, lives in [Families](/pulse/families.md). Acting on a pulse is covered in [Acting on a pulse](/pulse/acting.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.aloop.icustomer.ai/reference/pulse-families.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
