Skip to main content

OnboardingFlow

Guided flow to onboard a company to Gusto.

Remarks

The flow begins on the overview screen and steps through locations, federal taxes, industry, bank account, employee onboarding, pay schedule, state taxes, and document signing before returning to the overview.

Example

App.tsx
import { CompanyOnboarding, type EventType } from '@gusto/embedded-react-sdk'

function MyApp() {
return (
<CompanyOnboarding.OnboardingFlow
companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
onEvent={(eventType: EventType) => {
if (eventType === 'company/overview/done') {
// Onboarding complete — navigate to your next screen
}
}}
/>
)
}

OnboardingFlowProps

Props for the company onboarding flow orchestrator.

PropertyTypeDescription
companyIdstringThe associated company identifier.
onEventOnEventType<EventType, unknown>Callback invoked each time the component emits an event — user interactions, successful API responses, step transitions, or errors. Receives the event type constant and an optional payload whose shape varies by event. See the Event Handling guide and each component's event table for the full list of emitted events.
defaultValues?RequireAtLeastOne<OnboardingFlowDefaultValues>Default values applied to individual flow step components (federal taxes, pay schedule).

Inherits children, className, dictionary, FallbackComponent, LoaderComponent from BaseComponentInterface.

Events

EventDescriptionData
company/overview/continueUser chose to continue to the next outstanding onboarding requirement
company/overview/doneUser signaled they are done with the overview screen
company/location/doneUser completed the locations step
company/federalTaxes/doneUser completed the federal taxes step
company/industry/selectedUser selected and saved an industryThe saved industry field from the update industry selection API
company/bankAccount/doneUser completed the bank account step
employee/onboarding/doneUser completed the embedded employee onboarding sub-flow
paySchedule/doneUser completed the pay schedule step
company/stateTaxes/doneUser completed the state taxes step
company/forms/doneUser completed signing company documents

Each step is also exported as a standalone block (see the Sub-components table) for composing a custom workflow when this orchestration is the wrong fit. See the Composition guide for how to recompose these blocks into your own flow.

Sub-components

ComponentDescription
OnboardingOverviewDisplays the company's overall onboarding status, showing completed steps alongside any remaining requirements.
LocationsOrchestrated component for managing a company's mailing and filing addresses.
FederalTaxesCollects company federal tax information including EIN, tax payer type, filing form, and legal name.
IndustrySelects and saves the company's industry classification (NAICS code).
BankAccountManages a company's bank account — adding, viewing, and verifying it.
EmployeeOnboarding.OnboardingFlowGuided flow to onboard multiple employees, one at a time.
PayScheduleManages a company's pay schedules, including listing existing schedules and creating or editing one.
StateTaxesOrchestrated flow for managing a company's state tax setup.
DocumentSignerCompany onboarding step for reading and signing required company documents.

Step flow

The flow opens on the overview, then runs the linear step sequence below before returning to the overview to finish. Every step is a CompanyOnboarding block except the Employees step, which embeds EmployeeOnboarding.OnboardingFlow and owns its own internal navigation.

Each step is also exported as a standalone block (see the Sub-components table) for composing a custom workflow when this orchestration is the wrong fit. See the Composition guide for how to recompose these blocks into your own flow.

Endpoints

MethodPath
GET/v1/companies/:companyId/bank_accounts
POST/v1/companies/:companyId/bank_accounts
PUT/v1/companies/:companyId/bank_accounts/:bankAccountUuid/verify
GET/v1/companies/:companyId/employees
POST/v1/companies/:companyId/employees
GET/v1/companies/:companyId/federal_tax_details
PUT/v1/companies/:companyId/federal_tax_details
GET/v1/companies/:companyId/forms
GET/v1/companies/:companyId/industry_selection
PUT/v1/companies/:companyId/industry_selection
GET/v1/companies/:companyId/locations
POST/v1/companies/:companyId/locations
GET/v1/companies/:companyId/pay_schedules
POST/v1/companies/:companyId/pay_schedules
GET/v1/companies/:companyId/pay_schedules/:payScheduleId
PUT/v1/companies/:companyId/pay_schedules/:payScheduleId
GET/v1/companies/:companyId/pay_schedules/preview
GET/v1/companies/:companyUuid/onboarding_status
GET/v1/companies/:companyUuid/payment_configs
GET/v1/companies/:companyUuid/signatories
GET/v1/companies/:companyUuid/tax_requirements
GET/v1/companies/:companyUuid/tax_requirements/:state
PUT/v1/companies/:companyUuid/tax_requirements/:state
PUT/v1/compensations/:compensationId
DELETE/v1/compensations/:compensationId
GET/v1/employees/:employeeId
PUT/v1/employees/:employeeId
DELETE/v1/employees/:employeeId
GET/v1/employees/:employeeId/garnishments
POST/v1/employees/:employeeId/garnishments
GET/v1/employees/:employeeId/home_addresses
POST/v1/employees/:employeeId/home_addresses
GET/v1/employees/:employeeId/jobs
POST/v1/employees/:employeeId/jobs
PUT/v1/employees/:employeeId/onboarding_documents_config
GET/v1/employees/:employeeId/onboarding_status
PUT/v1/employees/:employeeId/onboarding_status
GET/v1/employees/:employeeId/work_addresses
POST/v1/employees/:employeeId/work_addresses
GET/v1/employees/:employeeUuid/federal_taxes
PUT/v1/employees/:employeeUuid/federal_taxes
GET/v1/employees/:employeeUuid/state_taxes
PUT/v1/employees/:employeeUuid/state_taxes
GET/v1/forms/:formId
GET/v1/forms/:formId/pdf
PUT/v1/forms/:formId/sign
PUT/v1/garnishments/:garnishmentId
GET/v1/garnishments/child_support
GET/v1/home_addresses/:homeAddressUuid
PUT/v1/home_addresses/:homeAddressUuid
PUT/v1/jobs/:jobId
DELETE/v1/jobs/:jobId
POST/v1/jobs/:jobId/compensations
GET/v1/locations/:locationId
PUT/v1/locations/:locationId
GET/v1/locations/:locationUuid/minimum_wages
GET/v1/work_addresses/:workAddressUuid
PUT/v1/work_addresses/:workAddressUuid