Plan Onboarding Prefill
Pre-fill or skip onboarding survey questions for personalized plans. All fields are optional — only provided fields will be pre-filled and their corresponding screens will be skipped. If all answers are provided for a goal-based plan, the user goes straight to results.
Availability: This parameter is used with \createCustomComponentView\ (Swift, Kotlin, Flutter) or the \CUSTOM_COMPONENT\ integration option (React Native) with \route: "plan-onboarding"\.
| Parameter | Type | Description |
| route | string | Must be \"plan-onboarding"\ for this feature to work |
| planOnboardingPrefill | object | Object containing prefill values for onboarding survey |
| planOnboardingPrefill.goal | string | User's fitness goal (e.g., "weight_loss") |
| planOnboardingPrefill.healthIssues | string[] | List of health issues (e.g., ["back_pain"]) |
| planOnboardingPrefill.injuries | string[] | List of injuries (empty array for none) |
| planOnboardingPrefill.duration | number | Preferred workout duration in minutes |
| planOnboardingPrefill.lifestyle | string | User's activity level (e.g., "sedentary", "active") |
| planOnboardingPrefill.assessmentOnly | boolean | When \true\, all survey screens (goal, health issues, injuries, duration, lifestyle) are skipped and the user lands directly on the fitness assessment. Any previously stored plan ID is cleared so a fresh personalized plan is generated after the assessment completes. All other prefill fields are ignored when this is set |
\`assessmentOnly\` use case: Use this for reassessment flows — when the user already has a profile (goal, lifestyle, etc.) recorded in your host app and you only want them to perform a fresh fitness assessment to regenerate their personalized plan. Don't combine it with the other prefill fields; they will be ignored.
\`remind_me_later_clicked\` event: When the user is on the Assessment screen inside the plan-onboarding flow and taps "Remind me later", the SDK posts a \remind_me_later_clicked\ PostMessage so your host app can dismiss the SDK and schedule a follow-up prompt. This event is only fired from the plan-onboarding page.
1// Use createCustomComponentView with route "plan-onboarding"
2kinestex.createCustomComponentView(
3 route: "plan-onboarding",
4 customParams: [
5 "planOnboardingPrefill": [
6 "goal": "weight_loss",
7 "healthIssues": ["back_pain"],
8 "injuries": [],
9 "duration": 30,
10 "lifestyle": "sedentary"
11 ]
12 ]
13)
14
15// Reassessment-only flow (skips the entire survey)
16kinestex.createCustomComponentView(
17 route: "plan-onboarding",
18 customParams: [
19 "planOnboardingPrefill": [
20 "assessmentOnly": true
21 ]
22 ]
23)