advance_company_onboarding response tells you the next action via nextAction and nextActionInput — this is what that sequence looks like.
OAuth handshake
The host signs the user in to doola (or sends them to sign up at the web app). See Authentication.
get_company_onboarding_status
Find the suggested next step. For a new customer with no company, it points to
set_country_of_residence.advance: set_country_of_residence
params: { countryCode } — where the founder personally lives (ISO 3166-1 Alpha-3).advance: select_package
params: {} — accepts ToS and returns live pricing. Quote pricing.dueAtCheckout, pricing.recurringAnnually, and pricing.summary verbatim.advance: create_checkout_session
params: {} — share the returned checkoutUrl; keep checkoutSessionId.advance: verify_payment
params: { checkoutSessionId } — wait for paymentStatus=Complete before asking any post-payment question.advance: search_industry → set_industry_description
Fetch the list, fuzzy-match the founder’s description, let them pick a verbatim entry, then set
{ industry, description, sellingPlatform? }.advance: add_alternate_company_names
params: { name1, name2?, name3? } — name1 is the existing primary; add up to two backups.advance: set_registered_address
params: { useRegisteredAgent: true } — usually doola’s registered agent (included).advance: set_mailing_address
params: { sameAsRegistered: true } — usually the doola virtual mailing address.advance: add_members
Solo founder: auto-fill the name from the profile, ask only for phone + address.
advance: set_responsible_party
Auto-fill from the sole member; confirm the email (SS-4 + Form 8821 are sent there).
advance: set_ownership
params: { members: [{ ..., ownershipPercent: 100 }] } — 100% to the sole member.Confirm
Present a complete markdown summary table of everything collected. Ask the user to reply “submit”.