Check-ins & progress tracking
Use forms as onboarding intake and weekly progress check-ins, see exactly what gets tracked, log entries yourself, and compare a client's numbers and photos over time.
Basic A progress-tracking form isn’t just a survey — its mapped answers become measurements you can chart. This is how onboarding intake and weekly check-ins turn into a picture of a client’s progress.
Onboarding intake vs. weekly check-ins
The same kind of form does two jobs:
- Onboarding intake — the questionnaire a new client fills once at the start. When you add a client, tick “Ask client to fill onboarding form” and choose the form; they get it by email (no app yet) or in the app on first login. Set a default onboarding form so it happens every time. Once it’s in, the answers are pinned to the client’s Overview as an Initial Questionnaire quick-access card (it resolves to the form tagged Initial Questionnaire, or, failing that, the client’s earliest submission) — one click to revisit where they started.
- Weekly progress check-ins — a Progress tracking form a client submits on a cadence. Per client you set the check-in form and whether they’re notified:
How “weekly” is set: the schedule rides on a recurring check-in appointment that carries the form — each occurrence creates the client’s check-in reminder and to-do. The settings above pick which form and whether to notify; the recurrence lives with the appointment.
Assign a check-in to a teammate
On a check-in reminder — and on a manual client to-do — you can set an optional Assignee: a team member who owns this client’s check-in. It’s the same person idea as the Progress inbox assignee filter, set up front instead of after the fact.
When you set an assignee, every progress entry the client submits against that check-in is automatically assigned to that team member — so it lands in their slice of the Progress inbox with no extra step. Leave it blank and entries arrive unassigned, exactly as before. You can still add or change assignees on an individual entry afterwards (up to two), and a coach-logged entry keeps whatever assignee you set on it.
What a check-in tracks
A progress check-in (or an entry you log yourself) captures a dated snapshot across these groups — each mapped question feeds one of these fields, so they chart over time:
| Group | Tracked fields |
|---|---|
| Body composition | Weight · Body fat % & kg · Muscle mass % & kg · Lean mass % & kg · BMI |
| Body measurements | Height · Chest · Waist · Waist at navel · Hips · L/R arm · L/R thigh · L/R above-knee · L/R calf |
| Strength | Bench / Squat / Deadlift — 1RM & 10RM · Max pull-ups |
| Cardio | 1 km time · VO₂ max |
| Health markers | Blood pressure (systolic / diastolic) |
| Lifestyle | Sleep average (hrs) · Sleep quality, Energy, Mood, Adherence (each on a 1–10 scale) |
| Notes & photos | Trainer notes · Client notes · Progress photos (by pose) |
Editing weight or body-composition values auto-recalculates the fields that depend on them, and everything shows in your units (kg/cm or lb/in).
The subjective metrics are on a 1–10 scale. Energy, mood, adherence and sleep quality are scored 1–10 (not a percentage) — so a “7” means seven out of ten. Sleep average is still in hours.
Where submissions land
Every check-in becomes a dated progress entry in the client’s profile, under the Tracking tab — split into focused views:
- Overview — every tracked metric at a glance: latest value, change since last check-in, trend line.
- Check-ins — the list of submitted entries (date, weight, source), with view, edit and compare.
- Biometrics / Labs: body metrics and lab results, shown as trends against the client’s own history. Neither screen renders a range band or a colour.
- Form submissions — answers from non-tracking forms (intake, surveys, consults).
Log an entry yourself
You don’t have to wait for a client. Add progress entry opens a tabbed editor where you fill in any of the tracked groups, write notes, and add photos by pose:
Where each entry came from
Every entry carries a source chip so you know who created it:
- Reminder — the client answered a scheduled check-in reminder.
- Coach — you logged it.
- Ad-hoc — the client logged it freely, outside a scheduled check-in.
For triage across your whole roster, open Clients → Check-ins → All submissions. It lists every entry your clients have sent in, and filters them by status (your own configurable stages — Pending / Processing / Done by default), labels, and assignee.
This is the list that used to be its own Progress tab. Old links to it still open it.
All submissions vs Chasing
The Check-ins tab has two halves and they answer two different questions:
| Segment | The question | What a row is |
|---|---|---|
| All submissions | what has come in, and what still needs my reply | one submission |
| Chasing | who is late, and what is being sent about it | one obligation that was due |
They are the same thing at two points in its life. A check-in you are chasing on Monday is a submission you are reading on Tuesday, which is why they stopped being separate tabs. All submissions leads, because reading the work is the common case.
The number beside Chasing counts what is genuinely late. All submissions carries no number on purpose: a total of everything ever submitted is a fact about your database rather than a workload.
Switching between the two clears the other one’s filters, so a segment always shows what it looks like it shows.
Reading the submissions list
Each row is one submission:
- Client, with their labels and your private note underneath. Both are editable here without opening anything.
- Form, and beside it where the entry came from: from a reminder, ad-hoc, or logged by you.
- Submitted, the date.
- AI report. Empty when no automation has run. Report Draft means one has been written and is waiting for you, Report ready means it has been approved, and Failed means the run did not finish. Clicking the cell opens the entry on its report rather than at the top.
- Assignee, which you can change in the row.
- Status, likewise, from your own list of statuses.
The chips above the list are those statuses, and you can have several lit at once: Pending and Needs follow-up is one list. Retired statuses are listed too, greyed, so entries stranded on one are still reachable. Which statuses exist is yours to decide, in Configuration.
The date range sits at the top of the screen and defaults to the last 30 days. Four presets, plus a start and end date of your own for a month you are closing off.
The search box searches notes, not names. It matches your private notes and the client’s own, which is why it is labelled Search notes. To find one person, use the roster and open them.
Working several submissions at once
Tick the rows and a bar appears at the bottom with four actions. This is the fastest way through a Monday morning:
| Action | What it does |
|---|---|
| Status | moves every selected entry to one status |
| Assign | sets the coach, and the second coach, on all of them |
| Labels | sets the entry labels on all of them |
| Note | writes the same internal note on each |
Labels replaces rather than adds. Whatever you pick becomes the whole set on every selected entry, and picking none strips them, which is the only way to clear a label from a batch at once. These are the entry’s own labels, not the client’s.
Your ticks are one page’s, and they clear the moment you change page, filter or sort. That is deliberate: applying a status to rows that scrolled out of view is the worst kind of bulk action, because nothing on screen shows it happening.
Track & compare over time
Progress is about change, so Protocol makes it easy to put two points side by side:
- Per-metric trend — click any metric for a full line chart, with start value, end value and total change.
- Timeline slider — drag to pick any two check-ins and read the delta on every metric at once; switch to a grid view for category tables with overlaid charts.
- Progress photos — compare before / after by pose (front, side, back) so the same angle lines up across dates:
Pick check-ins to compare — or remove them
On a client’s Tracking → Check-ins list, every row has a tick box. Tick any two and a bar appears along the bottom of the screen with what you can do to the selection:
- Compare needs exactly two — any two, not just neighbours, so “March against today” is a comparison you can ask for. With one ticked, or three, the button is still there but greyed out, so you can see why it won’t fire.
- Delete takes however many you’ve ticked, and always asks first. The question names the count — because the mistake worth catching is having ticked more rows than you meant to.
You can remove a client’s check-ins as well as your own — including the ones they submitted from the app themselves, which is usually what you actually want to tidy: a check-in sent twice, or logged against the wrong day.
Deleting a check-in is permanent
Most things you remove in Protocol ask first and can be brought back. An exercise you delete from the vault is marked deprecated: it leaves your lists, and you can still find it and restore it. A check-in does not work that way. Deleting one removes the entry itself, straight away. There is no undo and no bin to recover it from.
The confirmation says so before anything happens. Its title names how many entries you have ticked, because the mistake worth catching here is having ticked more rows than you meant to, and the line underneath lists what leaves with them:
Four things go with the entry:
- the measurements on it, and with them every point those numbers put on a chart;
- the progress photos attached to it;
- the form answers the client wrote;
- any progress report you wrote about that check-in. The dialog calls it a progress review.
That last one is the expensive one, and the one nobody thinks of. A report is written about a particular entry and is stored against it, so it leaves when the entry does, and it is the only item on the list you wrote yourself.
If all you want is a check-in out of your way, you do not have to delete it. Leaving one unreviewed costs nothing.
When you’ve got a check-in’s numbers and photos in front of you, the last step is turning them into feedback — which an automation can draft for you.
Next: turn a check-in into a report you can send → Progress reports →