Assigning programs
The two-step assign flow, the separate-copy model, and what happens to a client's sessions when you assign or swap a program.
The walkthrough
The 2-step assign flow
- From the client's profile, hit Assign Program. A template-list modal opens — that's step 1: pick the program.
- Pick a template from your library (or a gym template if you're on a gym account). The builder does not open here — only the template list.
- That click moves you to step 2: configure. Set the training days (e.g. Mon/Wed/Fri) and the start date.
- Hit Assign. Stackd creates all workout sessions upfront — every day of every week is scheduled in one go.
One active program rule
A client can have only one active program at a time. Assigning a new one pauses the previous and stops counting it toward stats. Past programs keep their history intact.
The separate-copy model
The template stays in your library. The version the client gets is a separate copy — you can fully edit it (add/remove exercises, insert rest weeks, tweak intensity) without affecting your template or other clients on the same program. Stats (adherence, streak, PRs) are per-program, not all-time — they reset when you assign a new one.
Editing a client's assigned program
Open the client → Program tab → click any week or day to edit. Changes affect future sessions only; completed sessions keep their data. To insert a deload, mark a week as Deload or Rest — Stackd will leave those days unscheduled.
Common gotchas
- If you re-assign the same program to a client, Stackd creates a fresh copy with stats reset. The old copy moves to history.
- If the client has scheduled but-not-completed sessions when you swap programs, they're cleared (foreign keys nulled out first to avoid orphaned data).
- Auto-mark missed: any past
scheduledsessions are auto-flipped tomissedwhen the client opens their app for the day — they don't drag down adherence for the new program.