-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
Parent issue: https://github.com/Expensify/Expensify/issues/601472
Problem
Track users who sign up and skip the optional workspace creation step (~67%) end up without a workspace, categories, or reports — all of which are required for the Track use case.
Currently, PERSONAL_SPEND users go through three optional screens (OnboardingWorkspaceOptional → OnboardingWorkspaceConfirmation → OnboardingWorkspaceInvite), and most skip the first screen, resulting in no workspace being created.
Solution
For PERSONAL_SPEND users, skip all three optional onboarding screens and silently auto-create a workspace during the OnboardingPersonalDetails step.
Changes needed
File: src/pages/OnboardingPersonalDetails/BaseOnboardingPersonalDetails.tsx (around lines 126-128)
Currently:
if (onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.PERSONAL_SPEND) → navigate to ONBOARDING_WORKSPACE
Change to:
- Call
createWorkspace()directly with:policyName:"{user's first name}'s Workspace"(using the name just entered on this screen)engagementChoice:CONST.ONBOARDING_CHOICES.TRACK_WORKSPACEskipGuideAssignment:true
- Call
completeOnboarding()with the newpolicyIDandengagementChoice='newDotTrackWorkspace' - Navigate to the final onboarding completion route (skip workspace naming and invite screens entirely)
What this achieves
Every PERSONAL_SPEND user automatically gets a fully configured workspace:
| Feature | Setting |
|---|---|
| Workspace name | "{user}'s Workspace" |
| Workspace type | TYPE_TEAM (Collect) |
| Categories | Enabled |
| Workflows | Enabled |
| Distance tracking | Enabled |
| Submissions | Enabled, frequency = manual |
| Approvals | Disabled (OPTIONAL mode) |
| Reimbursement | Disabled |
| Free trial | 30-day |
| Guide assignment | Skipped |
Note: The workspace default configuration (distance tracking, manual submissions, etc.) is handled Auth-side in
configureTrackWorkspaceDefaults()as part of the parent issue. This App issue only covers the client-side onboarding flow change.
What's explicitly excluded
- No guide assignment for the auto-created workspace
- No retroactive backfill for historical Track users
- No workspace naming/invite UI — workspace is silently created with default name