An onboarding template is a reusable intake questionnaire that a gym builds once and sends to many members. The template holds the questions. The member's answers are stored separately, on the member's onboarding record.
Coaches use onboarding to collect goals, health information, body measurements, progress photos, and signed waivers before coaching starts. Each question can have an extraction rule (a mapping from an answer to a profile field). When the member submits, the system copies those answers into the member's metrics, photos, goals, and signed documents.
Templates belong to a chain, so every gym in the chain shares the same library. Each member has one onboarding record at a time.
Three staff paths create the onboarding record first. The member link goes straight to the form. Only questions with a save to target reach the profile.
Structure
A template has three levels: the template, its sections, and the questions in each section. The member form shows the sections in order, and the questions in order inside each section.
Template fields
Field | What it does |
Name | The title that staff and members see. |
Description | Rich text shown above the questions. |
Link name (slug) | The last part of the member link, for example |
Base language | The language of the main text. Other languages are translations on top of it. |
Status | Draft, Published, or Archived. |
Version | A number that goes up by one at each publish. |
Author | The employee who created the template. |
Sections
A section groups related questions, for example "Goals", "Health", or "Consent". Each section has a title, an optional description and a sort order. You can show or hide a section in the editor and move it up or down.
Questions
Each question has these fields:
Field | What it does |
Question | The label that members see. |
Answer type | One of the 13 types in the next table. |
Help text | Extra text under the label. |
Placeholder | Example text inside an empty field. Only Text, Long text, Number, the three body types, and Signature show it. |
Required | If on, the member cannot submit without an answer. |
Lowest answer and Highest answer | Limits for Number, Body weight, Body height, and Body fat. |
Answer choices | The choices for Single select and Multi select. |
Show only if | Rules that hide the question until an earlier answer matches. |
Save answer to client profile | The extraction rule. See "Use the answers". |
Question ID (key) | The name under which the answer is stored, for example |
The editor makes the question ID from the label. For example, "Your weight (kg)" becomes your_weight_kg. If the ID already exists, the editor adds _2, _3, and so on. You can change the ID under More settings.
Answer types
Answer type | The member gives | Can save to |
Text | One line of text | Client goal |
Long text | Several lines of text | Client goal |
Number | A number between the limits | Client metric, Client goal |
Single select | One choice | Client goal |
Multi select | One or more choices | Nothing |
Date | A calendar date | Nothing |
Yes/No | Yes or No. No is a valid answer. | Nothing |
Body weight | A weight, in kg or lb | Client metric, Client goal |
Body height | A height, in cm or ft and in | Client metric |
Body fat | A percentage | Client metric, Client goal |
Photo | One uploaded image | Progress photo |
Waiver | A checkbox next to the waiver text. The question label is the waiver text. | Signed document |
Signature | A signature. On the members website, the member types their full name. | Nothing |
Show only if
A question can depend on an earlier answer. Each rule names an earlier question, an operator, and a value. The operators are is, is not, is one of, is none of, is more than, and is less than. If a question has more than one rule, you choose Match: All rules or Any rule. A hidden question is not required, and the server does not validate it.
Translations
You can add a translation for each language that the gym supports. A translation can change the template name and description, the section titles and descriptions, and the question labels, help text, placeholders, and choice labels. The question ID and the choice values do not change. If a text has no translation, the member sees the base language text.
Create a template
You create templates in the Dashboard, under Onboarding & journeys > Onboarding templates. You must be an owner or a box manager to create, change, publish, archive, clone, or delete a template. Other staff can only read templates.
Create a new template
Go to Onboarding & journeys > Onboarding templates.
Click Create onboarding template.
In Details, type the Name, for example "New client onboarding".
Optional: type a Description.
Optional: change the Link name. The member link becomes
https://<gym domain>/onboarding/<link name>.Under Sections, click Add Section.
Type a Section title, for example "About you".
Click Add question.
Type the Question text and select the Answer type.
Fill in the fields for that type, for example the answer choices or the lowest and highest answer.
If an answer is necessary, turn on Required.
Optional: open More settings to add Show only if rules, a Save to target, or a different Question ID.
Add more questions and sections. Use Move up and Move down to change the order.
Click Create to save a draft, or click Create and Publish to save and publish in one step.
If a question has a Save to target that its answer type cannot feed, the save fails with extraction target incompatible. The editor shows only the targets that fit the answer type, so this error comes only from old or imported templates.
Add translations
Open the template.
Select a language tab above the form.
Type the translated text in each field.
Click Save.
On a translation tab, you can change only text. To add or remove questions or choices, go back to the base language tab.
Lifecycle
A template moves through three statuses.
Status | Meaning | Allowed actions |
Draft | Not visible to members. | Edit, Publish, Archive, Clone, Delete |
Published | Members can open and submit it. The member link works. | Edit, Archive, Clone |
Archived | Hidden from new use. Existing answers stay. | Clone |
Each publish adds 1 to the version number. Each create, update, publish, archive, and clone adds a row to the version history on the template page.
You can delete only a draft.
You can still edit a published template. The changes apply at once to members who open the form after the save. Each save replaces all sections and questions. If you change a question ID, answers that members already gave stay under the old ID.
Clone a template
In the template list, open the row menu.
Click Clone.
Confirm the dialog.
The copy is a draft at version 1, with the name "<name> (copy)". It keeps all sections, questions, and translations.
Assign a template to a member
Staff can assign a template in three ways: from the client onboarding list, from a coaching engagement, or with a journey. Only a published template can be assigned. Each member has one onboarding record per chain, so a new assignment replaces the template on that record.
Path | Where | Sends a notification | Can restart a completed onboarding |
Start onboarding | Onboarding & journeys > Client onboarding | No | No |
Send onboarding link | Coaching engagement > Onboarding tab | Yes | Yes |
Journey stage | Coaching engagement > Apply journey | Yes | No |
From the client onboarding list
Go to Onboarding & journeys > Client onboarding.
Find the member in the list.
Click Start onboarding.
In "Choose an onboarding template", select a published template.
Click Start onboarding.
The record gets the status In progress and a start date. This path sends no message to the member. Tell the member to open the app, or send the member link yourself. The list shows Start onboarding only for a member without a started onboarding. For other members, it shows View onboarding.
From a coaching engagement
The Onboarding tab of an engagement shows a different action for each status.
Status | Action | Result |
Not started | Send onboarding link | You choose a template. The system assigns it and sends the link. |
In progress | Resend reminder | The system sends the link again for the same template. |
Completed | View answers | Opens the answers in the Dashboard. |
Completed | Restart onboarding | After you confirm, the system deletes the answers, sets the status to InProgress, and sends the link again. |
The link goes out as a push message, an in-app message, and an email. Each channel follows the member's notification preferences. The email uses the gym logo and is in English, Danish, German, Norwegian, or Swedish, based on the gym's primary language. Other languages get English. The title is "Complete your onboarding".
Share the member link
Each published template has a member link: https://<gym domain>/onboarding/<link name>.
Go to Onboarding & journeys > Onboarding templates.
Open the row menu of a published template.
Click Copy member link.
Send the link by email, SMS, or a website button.
You can also copy the link from the Member link field on the template page. Any member who logs in on the members website can open the link and submit the form. The member does not need an assignment first. On submit, the system creates or updates the member's record with this template.
Other triggers
An onboarding can also start from a journey, from the member, or from staff who fill it in for the member.
Journey stage
A journey template is a plan of stages for a coaching engagement. A stage can start an onboarding template. A journey can have only one onboarding stage.
Create a journey template under Onboarding & journeys.
Add a stage, set What starts to Onboarding template, and select the template.
Set Start day, for example 0 for the first day of the journey.
Publish the journey template.
Open a coaching engagement and click Apply journey.
Select the journey template and a start date, then click Apply journey.
If the stage is due on the start date, the system sends the onboarding invite at once. If the stage is due later, a daily job sends the invite on that date. The invite is the same as Send onboarding link.
If the member already completed the onboarding, the stage is marked Completed at once and no new invite goes out. When the member submits the form, the system completes the onboarding stage.
Gate on onboarding
A gate is a condition that a stage waits for. In a journey stage, you can set Wait for to Onboarding complete. Such a stage, for example a training program, starts only after the member submits the onboarding. Use this to hold back the program until you have the intake answers. If you select Skip gates when you apply the journey, the stage starts without waiting.
The member opens the link
A member can open the member link without an assignment, as described in "Share the member link". This is the self-service trigger.
Staff fill in the form
Go to Onboarding & journeys > Client onboarding.
Click View onboarding for the member.
Fill in the answers.
Click Submit.
This is the same submit as the member's, with the same validation and the same profile updates. For a completed onboarding, click Edit answers, change the answers, and click Save.
Member experience
The member fills in the form on the members website or in the mobile app. Both use the same template, the same validation, and the same submit.
Where the member finds it
Members website: the member opens the member link from the push message, the email, or a link from the gym. If the member is not logged in, the site asks for a login and then returns to the form.
Mobile app: the app shows the onboarding when it is assigned, not completed, and the template is published. The app does not show a template that is only shared by link.
In-app message: the message opens the member link.
What the member sees
The form is one page. At the top are the template name, the description, and "From <template author>". Each section is a card with its title and description, and the questions of the section in order. A section without visible questions is not shown.
The texts are in the member's language if the template has a translation for it. Otherwise they are in the base language.
Answer type | Field on the members website |
Text, Long text | A text field, one line or several lines |
Number, Body fat | A number field |
Body weight | A number field with a kg or lb switch |
Body height | A number field with a cm or ft / in switch |
Single select | A dropdown list |
Multi select | Checkboxes, or a dropdown list with checkboxes |
Date | A date picker |
Yes/No | Yes and No radio buttons |
Photo | Upload image, Replace image, and Remove image buttons |
Waiver | A checkbox with the waiver text |
Signature | A text field: "Type your full name to sign" |
When the member switches the unit, the form converts the value. The system always stores weight in kg and height in cm. A photo must be a JPEG, PNG, WebP, or GIF file of 10 MB or less.
Fill in and submit
Answer the questions. Questions with Show only if rules appear when an earlier answer matches.
Click Submit.
If an answer is missing or wrong, the form marks the field and shows "Please correct the highlighted answers and try again."
Correct the answers and click Submit again.
The form checks required answers, number limits, and choices before it sends. The server checks the same rules again. Answers to hidden questions are not sent.
If the submit succeeds, the member sees "All done — thank you!" and "Your responses have been submitted. Your coach will follow up soon."
The members website does not save a draft. If the member leaves the page before Submit, the answers are lost. If the server rejects a submit, it stores the sent answers and sets the status to In progress.
When the form is not available
If the link name is wrong, or the template is a draft or archived, the member sees "Form not available" and "This onboarding form doesn't exist or is no longer published."
Use the answers
The save to setting of a question copies its answer into the member's profile when the member submits. Without a save to target, the answer stays only on the onboarding record.
Where the answers go
Save to | Allowed answer types | Creates | Staff see it in |
Client metric | Number, Body weight, Body height, Body fat | One metric row, for example weight 82 kg | Member profile > Progress, and the engagement hub |
Progress photo | Photo | One progress photo with a view angle | Member profile > Progress, and the engagement hub |
Client goal | Text, Long text, Single select, Number, Body weight, Body fat | One active goal | Member profile > Progress |
Signed document | Waiver | One signed waiver record with time and IP address | Not shown in the Dashboard yet |
Do not save | All types | Nothing | Client onboarding > View onboarding |
The system cannot write to other profile fields, for example the name, phone number, birthday, or address. Multi select, Date, Yes/No, and Signature answers cannot be saved to the profile. They stay on the onboarding record.
Set up a save to target
Open the template and the question.
Click More settings.
Under Save answer to client profile, select a Save to target.
Fill in the fields for that target, as the tables below show.
Click Save.
The list shows only the targets that fit the answer type.
Client metric
Field | Values | Notes |
Metric type | Weight, Height, Body fat, Custom | For Body weight, Body height, and Body fat questions, the system uses Weight, Height, or Body fat, whatever you select. |
Unit | Depends on the metric type | Body questions always store kg, cm, or %. For a Number question, the unit in the rule applies. |
Metric name | Free text | Default: the metric type, for example "Weight". Use it to name a Custom metric, for example "Resting heart rate". |
The metric date is the submit date. The note is "Captured from onboarding: <question label>".
To record a starting weight, add a Body weight question with save to set to Client metric. You do not need to set more fields.
Progress photo
Field | Values | Notes |
View angle | Front, Side left, Side right, Back, Other | Default: Front. |
The photo date is the submit date. The photo source is Onboarding, and the uploader is the member. For a full set of starting photos, add one Photo question per view angle.
Client goal
Field | Values | Notes |
Goal type | Weight loss, Strength gain, Endurance improvement, Body fat, Workout frequency, Custom | Default: Weight loss in the editor. |
Unit | kg or lb | Only for Weight loss and Strength gain. For other goal types, the system sets the unit from the type. |
The system fills the goal as follows:
Title: the question label.
Description: the answer as text, for example "Lose 5 kg before summer".
Start value and target value: the answer, if it is a number. Otherwise 0.
Start date: the submit date.
Target date: one year after the submit date.
Status: Active.
The coach must open the goal and set the real target value and target date. For example, a Body weight answer of 82 gives a goal with a start value of 82 and a target value of 82.
Signed document
Field | Values | Notes |
Document name | Free text | Default: the question label. For example "Liability waiver". |
The system creates the record only if the member ticks the checkbox. The record holds the document name, the template, the question ID, the sign time. The record stays even if you later delete the onboarding answers.
Read the raw answers
Go to Onboarding & journeys > Client onboarding.
Click View onboarding for the member.
The page shows every answer, also answers without a Save to target. From a coaching engagement, click View answers on the Onboarding tab.
Repeat submits
If a member or a staff member submits the same onboarding again, the system creates new rows again. It does not update the earlier rows. For example, Edit answers followed by save gives a second weight metric and a second goal. You can delete an extra photo in the photo detail dialog. The Progress tab has no delete action for metrics and goals yet.
Reference
Onboarding statuses
Status | Meaning |
Not started | The member has no onboarding, or staff saved answers without a start. |
In progress | A template is assigned, or a submit failed validation. |
Completed | The member or staff submitted valid answers. The completed date is set. |
Limits
Item | Limit |
Onboarding records per member | 1 per chain |
Question ID | 64 characters, unique in the template |
Photo upload | 10 MB, JPEG, PNG, WebP, or GIF |
Onboarding stages per journey | 1 |
Error messages
Message or key | Cause | Fix |
Extraction target incompatible | A Save to target does not fit the answer type. | Change the target or the answer type. |
Extraction rule invalid | The Save to target is unknown. | Select a target from the list again. |
Duplicate question key '<key>' in template. | Two questions have the same Question ID. | Change one Question ID under More settings. |
Only draft can be deleted | You tried to delete a published or archived template. | Archive it instead. |
Template not published | You tried to assign a draft or archived template. | Publish the template first. |
Form not available | The member opened a wrong link, or the template is not published. | Make sure that the template is published and the link name is correct. |
Troubleshooting
If the member did not get the link, make sure that the member allows push or email for coaching messages. Then click Resend reminder, or send the member link yourself.
If a metric or goal is missing after a submit, make sure that the question has a Save to target and that the member answered it. A hidden question sends no answer.
If a journey stage does not start, make sure that the member completed the onboarding. Stages that wait for Onboarding complete start only after the submit.

