KinesteX

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"\.


ParameterTypeDescription
routestringMust be \"plan-onboarding"\ for this feature to work
planOnboardingPrefillobjectObject containing prefill values for onboarding survey
planOnboardingPrefill.goalstringUser's fitness goal (e.g., "weight_loss")
planOnboardingPrefill.healthIssuesstring[]List of health issues (e.g., ["back_pain"])
planOnboardingPrefill.injuriesstring[]List of injuries (empty array for none)
planOnboardingPrefill.durationnumberPreferred workout duration in minutes
planOnboardingPrefill.lifestylestringUser's activity level (e.g., "sedentary", "active")
planOnboardingPrefill.assessmentOnlybooleanWhen \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.

Plan Onboarding Prefill Configuration
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)