Reviewing Check-In Responses
Read what clients answered, view photo URLs they submitted, and act on it.
trainer guide/clients/[id]
What this is for: Turn raw check-in answers into actual coaching changes for next week.
Where responses live
/clients/[clientId] → Forms tab.
- Click Clients in the sidebar to see your roster.
- Select a client from the list to open the client page.
- Open the Forms tab to see each check-in schedule for this client.
- Expand a schedule to see every response with its due date and status.
- Each answer shows under its question, so you can act on what the client wrote.
For each schedule, the tab lists the CheckInInstance rows in chronological order with their status:
- Pending — generated but not yet answered.
- Completed — client answered. The response payload renders inline.
- Missed — past
dueAtwith no response.
Reading a completed response
Click into a completed row. You see:
- The original question label.
- The client's answer (text / scale value / yes-no / number / photo URL).
- A timestamp.
Photos are shown as clickable URL links (no in-app gallery). Click to open in a new tab.
Acting on the response
The check-in surface is read-only — you can't reply directly inside the response card. Instead:
- Open WhatsApp via the client's contact button (if WhatsApp configured).
- Reference specific answers ("noticed sleep was 4/10 last week, anything going on?").
- Make program adjustments in
/programsif needed. - Update macro targets if their nutrition feedback warrants it.
Marking missed instances
Currently, missed instances stay marked "missed" forever. There's no in-app "skip" or "excuse" button. If you don't want them to clutter the UI:
- API: PATCH the instance with
status='completed'and a note. - Or archive the entire schedule and start a new one.
Common pitfalls
Where to find this
- Page:
/clients/[clientId]→ Forms tab. - API:
GET /api/check-in-instances/[id](returns instance + schedule + template + questions + responses).
Was this article helpful?
