The “Lifecycle stage updated” trigger starts a flow when a contact moves to one of the lifecycle stages you select. Use it to run follow-ups automatically when a contact’s stage changes, instead of relying on your team to notice the change and act.
The trigger works no matter what changed the stage: a team member, AI detection, another flow, or the Public API.
Here are some example use cases:
- When a contact moves to “Qualified”, assign them to a sales rep.
- When a contact moves to a Lost stage, wait a few days, then send a re-engagement message.
- When a contact becomes a “Customer”, send a welcome message, or notify an external system with an HTTP request.
- When AI lifecycle moves a contact to “Customer” after a payment confirmation message, notify the contact owner.
ℹ️ Before you start
- Lifecycle must be turned on for your workspace, and your lifecycle stages must be set up in “Settings” > “Lifecycle”. See Customer lifecycle management.
- You need permission to create and edit flows.
Set up “Lifecycle stage updated” trigger node
- Create a new flow and select “Lifecycle stage updated” as the trigger. You can also change the trigger type of an existing trigger node, but this clears the previous trigger’s settings.
- Click the trigger node to open its node form on the right side of the screen.
- Set up the fields described below.
- The node form contains the following fields:
- Setup tab
- “Lifecycle stage”: Select one or more stages. The flow starts when a contact moves to any of them. Stages are listed in the same order as in “Settings” > “Lifecycle”, with progressing stages first, then Lost stages. You must select at least one stage before you can publish.
- “Lifecycle stage”: Select one or more stages. The flow starts when a contact moves to any of them. Stages are listed in the same order as in “Settings” > “Lifecycle”, with progressing stages first, then Lost stages. You must select at least one stage before you can publish.
- Filter tab
- “Enrollment conditions”: Off by default. When turned on, contacts must meet the conditions you set in order to be enrolled in the flow. See “Enroll only some contacts” below.
- Setup tab
- The node form contains the following fields:
- Publish the flow. Only published flows start. Drafts don’t.
If you delete a lifecycle stage that this trigger uses, the flow shows an error. Remove the deleted stage from the trigger to fix it.
When does the flow start?
The flow starts when:
- A contact moves from one stage to a stage you selected, for example from “Potential” to “Qualified”.
- A contact with no stage is given a stage you selected.
The flow doesn’t start when:
- The contact moves to a stage you didn’t select.
- Someone selects the stage the contact is already in.
- The contact’s stage is cleared.
- The flow is still a draft.
💡 Select every stage you want to react to
The flow only starts when the contact’s new stage is one you selected in the trigger. To react to several stages, select all of them in the same trigger.
What can change a contact’s lifecycle stage?
The trigger reacts to stage changes from all of these sources:
- Team members: in the Inbox, on the contact page, or in the Contacts Kanban
- AI lifecycle: when AI moves a contact to a new stage
- Flows: when another flow uses the “Update lifecycle stage” action. See [Update lifecycle stage action node].
- Public API
Note: Importing contacts can’t set a lifecycle stage, so it never starts this flow.
Trigger variables
You can use these variables in later nodes of the flow:
Variable |
What it returns |
“Previous lifecycle stage” |
The stage before the change. Empty if the contact had no stage. |
“New lifecycle stage” |
The stage after the change. |
“Updated by” |
What made the change: “User”, “AI”, “Flow” or “API”. |
The variables return stage names, not IDs. The contact’s current stage is also available through the “Lifecycle stage” contact property. See Flow variables overview.
For example, you can:
- Add a condition on “Updated by” so the flow only continues when a team member changed the stage, and skips changes made by AI.
- Add “Previous lifecycle stage” to an internal note, so the assigned rep sees where the contact came from.
Enroll only some contacts
Use “Enrollment conditions” in the “Filter” tab to narrow down which contacts enter the flow. For example, use the “Lifecycle stage” contact property with “Contains any of” and a Lost stage.
Conditions on “Lifecycle stage” use list operators: “Contains any of”, “Contains all of”, “Does not contain”, “Exists” and “Does not exist”. There’s no “Equals” operator. To match a single stage, use “Contains any of” with that one stage.
How this trigger works with other flows
⚠️ A flow won’t restart itself
When a flow updates a contact’s lifecycle stage, that change doesn’t enroll the contact in the same flow again, even if the flow listens to the new stage. Other flows that listen to the new stage still start.
FAQ
Does the flow start when an agent changes the stage manually?
Yes. Changes made in the Inbox, on the contact page or in the Lifecycle Kanban all start the flow, as long as the new stage is selected in the trigger.
Does the flow start when AI lifecycle changes the stage?
Yes. “Updated by” shows “AI” for these changes.
Does the flow start when I import contacts?
No. Importing contacts can’t set a lifecycle stage, so it doesn’t start this flow.
Can I use one trigger for several stages?
Yes. Select all the stages you want in the “Lifecycle stage” field. The flow starts when the contact moves to any of them.
What does “Previous lifecycle stage” return if the contact had no stage?
It’s empty, and the flow still runs.