3-step onboarding: identity, document upload with AI extraction, and team delegation via magic links.
ContractorOnboardingHub — 3 primary steps + optional advanced
useQuery(api.contractor.onboardingWizard.getActiveSession)
ContractorOnboardingHub — all steps complete
router.replace("/(contractor)/(tabs)")
IdentityScreen — name, email, phone, business
useMutation(api.users.contractors.updateProfile)
UploadDocsScreen — empty state
useMutation(api.intake.bulkUpload.initiateBulkUpload)
UploadDocsScreen — files + extraction
useQuery(api.intake.bulkUpload.listBulkUploadJobs)
AiCallScreen — gap analysis + call
useQuery(api.contractor.onboardingWizard.getCallEligibility)
DelegateScreen — invite form
useMutation(api.intake.employeeLinks.generateEmployeeIntakeLink)
DelegateScreen — invites sent
useQuery(api.intake.employeeLinks.listEmployeeTokens)
Contractor Intake Wizard — 3-step onboarding with AI document extraction, voice gap analysis, and team delegation via magic links.
onboarding/index.tsxonboarding/identity.tsxonboarding/upload-docs.tsxonboarding/ai-call.tsxonboarding/delegate.tsxgetActiveSessionlistBulkUploadJobslistExtractionJobslistEmployeeTokensgetCallEligibilityupdateProfilemarkPrimaryStepCompleteinitiateBulkUploadtriggerAiExtractionstartIntakeCallgenerateEmployeeIntakeLinkDump everything in one upload — pricebooks, SOPs, rosters. AI sorts, categorizes, and extracts structured data automatically.
7-day employee tokens sent via email. Each employee uploads docs for their area. Owner retains control over pay and commissions.
Deepgram + Gemini gap analysis. 5-minute call fills gaps the documents didn't cover — tribal knowledge, scheduling quirks.
Team members can upload documents but cannot set commissions, change pay rates, or modify roles. Owner approves all financial data.