In this article you will learn how to create a flow with milestones, schedule each milestone by time or by member event, and configure the milestone objective as an action, a message, or both.
Contents
- Create a flow
- Add and order milestones
- Configure the schedule
- Configure the milestone objective
- Edit a flow that is already in use
Fast lane
- Open Settings / Member care system / Flows and click Create Member Care Flow.
- Open the flow, click Add milestone, name it, and save.
- Open the milestone and configure Schedule and Milestone objective.
Create a flow
A flow is a reusable template made of milestones in a fixed order. Build it once, reference it from one or more configurations (see Configure Member Care: default, automatic, and manual flow assignment).
- Go to Settings / Member care system / Flows.
- Click Create Member Care Flow in the toolbar, name it, and save.
- The flow opens in detail view, ready for milestones.
To duplicate an existing flow, use the three-dot menu on any flow row and choose Copy flow. Useful for variants of an established journey.
Add and order milestones
A milestone is one stage in the flow. The minimum is one milestone; there is no upper limit.
- On the flow detail page, click Add milestone in the toolbar.
- Enter a name and save. The new milestone is appended to the end of the list.
- Drag and drop milestones to put them in the right order.
- To duplicate a milestone (for example a satisfaction call that recurs after every adjustment appointment), use the three-dot menu on the milestone row and choose Copy milestone.
Click the milestone name to open its detail page. Two cards drive the configuration: Schedule ("when") and Milestone objective ("what").
Configure the schedule
A milestone needs a schedule. Without one, it never starts. The schedule defines the gap between the previous milestone (or the flow's start) and the moment this milestone activates.
On the Schedule card, open the context menu and choose Edit Schedule. Pick one of two schedule types:
Time-based schedule. The milestone starts a fixed amount of time after the previous milestone completed. Enter a number and pick a unit: Days, Weeks, or Months. Example: 2 weeks means the milestone activates two weeks after the previous one was completed. Use this for predictable journeys where pacing matters more than member behavior. A 6-week onboarding curriculum, an annual contract anniversary check-in.
Event-based schedule. The milestone starts when the member triggers a defined event. Pick the event source:
- Check-ins: counts studio check-ins. Set a threshold (for example after 5 check-ins) and the milestone activates on the matching check-in.
- Completed workouts: counts workouts logged via integrated training tools. Same threshold logic.
Use event-based schedules when behavior matters more than time. "First conversation after the member's 10th check-in", "satisfaction call after their 3rd completed workout".
Combine event with a deadline: At latest. Event-based milestones can stall if the member never reaches the threshold. To guarantee the milestone runs eventually, enable At latest and set a fallback time. The milestone fires when the event happens or when the deadline arrives. Whichever comes first.
Configure the milestone objective
The Milestone objective card holds what should happen at this milestone. A milestone needs at least one of the following, and can have both:
- An Action: work for a staff member: an appointment, a phone call, or a conversation in the studio.
- A Message: an automated message sent to the member at a defined time.
If the card shows No action or No message, that part is not configured.
Add an action. On the Milestone objective card, open the context menu and choose Create Action. Pick the action type first; the remaining fields adapt to the type.
| Action type | When to use | Type-specific field |
|---|---|---|
| Appointment | The objective is fulfilled in a scheduled appointment | Appointment type service: the bookable appointment service to use |
| Call | The objective is fulfilled in a phone call | none |
| Conversation in studio | The objective is fulfilled in a casual chat at the front desk | Information type: see below |
All actions share these fields:
- Name: what staff see in their task list.
- Guideline: short description of what needs to happen. Keep it scannable; staff read this between member interactions.
- Checklist: a list of items rendered as checkboxes when staff work the action. Staff tick items off as they go.
- Time to complete action: the period after activation within which the action should be done. After this period, the milestone is flagged as overdue. Leave empty to skip the overdue logic.
- Assignment type: choose Employee competence (any qualified employee) or Employee (a specific person). Choose neither to leave the action unassigned at runtime.
- Assignee: depending on the assignment type, pick a competence or a specific employee.
Information type (Conversation in studio only). For Conversation in studio actions, you decide where staff sees the prompt to have the conversation. Pick one or more:
- Check-in dialog: a popup the moment the member checks in.
- Check-in list: the member appears flagged in the day's check-in list.
- Care tool: the action shows up in the dedicated Member Care work view.
If you don't pick any information type, staff will only see the action in the Care tool.
Add a message. On the Milestone objective card, open the context menu and choose Create Message. You need:
- Channel: Email, SMS, or any other channel configured in the Communication Center for your studio.
- Template: picked from the Communication Center. Only templates flagged with Member Care in their placeholder categories appear here. If your template is missing, edit it in the Communication Center and add the Member Care placeholder category.
- Preferred delivery time: the time of day the message goes out on the day the milestone activates. The default is noon; pick any time.
The message is sent automatically on the day the milestone is scheduled.
Edit a flow that is already in use
You can edit a flow at any time, including while it is assigned to members:
- Members already running the flow continue under the version they started with. Their schedule, milestones, and objectives are frozen at assignment time.
- Members assigned after your edit run the new version.
This versioning is automatic and invisible. There are no version numbers to pick. Behaviorally, this means edits are safe: you can fix a typo or tweak a milestone without disrupting in-flight journeys. It also means experiments take a while to take effect across your member base.
To assign this flow, see Work with assigned Member Care flows.
Scope and limits of flow assignment
The two questions below come up often once teams start designing several flows in parallel. The behaviour is enforced in code and cannot be configured.
Can a member be assigned multiple flows at once?
No. A member can have only one active flow at any time. If you assign a new flow (manually, automatically by rate, or via the default), any flow currently in progress for that member is cancelled. The cancelled flow keeps its history but stops generating new milestones.
Practical implication: if you want a single member to receive both an onboarding journey and a retention nudge, build them as milestones inside one flow rather than as two separate flows. Splitting them across two flows means whichever is assigned second will replace the first.
Does an automatic assignment rule apply to existing members or only to new sign-ups?
Only to new sign-ups going forward. Automatic assignment is evaluated exactly once per contract, when the contract is created. There is no backfill: creating a new rate-to-flow rule today does not retroactively assign the flow to members already on that rate.
This also means a rate change on an existing contract does not trigger a flow reassignment. If a member moves from rate A to rate B, the flow that was assigned at original sign-up stays in place. To put the member on the new rate's flow you have to assign it manually.
What wins when several assignment rules could apply?
At sign-up the system checks rules in this order:
- Automatic assignment by rate. If there is a rule that matches the member's contract rate, that flow is used.
- Default assignment. If no rate-specific rule matches, the default flow on the active member care configuration is used.
- Manual assignment. Manual is independent of auto-assignment. It is only triggered when a staff member explicitly assigns a flow from the member's profile, and it overrides whatever flow is currently active.
If neither an automatic rule nor a default flow exists, the member is signed up without a member care flow. You can still assign one manually later.
When you need to apply a new rule to existing members
Because there is no backfill, the only way to put existing members on a newly created flow is a manual assignment. For larger member populations use a list filter (e.g. by current rate or by tag) and assign the flow in bulk from the member list.
Plan flow rollouts accordingly: if you launch a new onboarding flow today, only members signing up from today onward will receive it automatically. Define a manual sweep for the existing cohort if they should also be in scope.