advance_company_onboarding; the other five handle status, multi-company management, and inspection.
Conventions. Identity comes from the OAuth bearer — no tool takes a
customerId argument. Tool descriptions are agent-facing: they double as the agent’s playbook. The flow is server-driven — every advance_company_onboarding response carries nextAction (follow verbatim) and nextActionInput (the literal {action, params} to pass back), so the host doesn’t plan the multi-step flow itself.advance_company_onboarding
Drives the entire Wyoming-LLC formation flow. Pick anaction and pass the matching params object. The server enforces step order via precondition gates and steers you with nextAction + nextActionInput on every response.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | One of the actions below. |
params | object | Yes | Action-specific parameters. Pass {} when the action takes none. Must be a native JSON object — never stringified. |
Pre-payment actions (in order)
| Action | params |
|---|---|
set_country_of_residence | { countryCode } — ISO 3166-1 Alpha-3 (e.g. USA, GBR, IND) |
set_company_name | { name } — desired name without the LLC suffix. One-time initial capture; re-calling overwrites it and wipes alternates. |
set_company_state | {} — Wyoming is enforced. |
select_package | {} — Starter is enforced and ToS accepted. Returns live pricing (dueAtCheckout, recurringAnnually, summary, breakdown) — quote those verbatim, never a hardcoded price. |
create_checkout_session | {} — returns checkoutUrl (paste verbatim) and checkoutSessionId (keep it for verify). |
verify_payment | { checkoutSessionId } — call after the user says they paid. Returns paymentStatus (Complete when done). |
Post-payment actions
| Action | params |
|---|---|
search_industry | {} — read-only. Returns the verbatim industries list to fuzzy-match against. |
set_industry_description | { industry, description, sellingPlatform? } — industry must be a verbatim entry from search_industry. |
add_alternate_company_names | { name1, name2?, name3? } — name1 is the existing primary (don’t re-ask). Each gets the LLC suffix. |
set_registered_address | { useRegisteredAgent, line1?, city?, state?, postalCode? } — address fields only when useRegisteredAgent=false (must be Wyoming). |
set_mailing_address | { sameAsRegistered, line1?, city?, state?, postalCode? } — address fields only when sameAsRegistered=false (must be US). |
add_members | { members: [{ legalFirstName, legalLastName, isNaturalPerson, phone, line1, city, state, postalCode, country }] } — native JSON array. |
set_responsible_party | { legalFirstName, legalLastName, email, phone, line1, line2?, city, state, postalCode } — SS-4 + Form 8821 go to this email; confirm it with the user. |
set_ownership | { members: [{ ...full add_members payload, ownershipPercent }] } — full-record replace; percentages must total exactly 100%. |
submit_for_review | { userConfirmed: true } — only after a complete summary table and an explicit “submit”. |
Response fields
Everyadvance_company_onboarding response shares these steering fields (other tools return their own shapes):
| Field | Meaning |
|---|---|
nextStep | Next action name; null when the flow is complete. |
nextAction | Imperative for the agent — follow verbatim. |
nextActionInput | Literal {action, params} payload to pass back next. |
nextQuestion | Question to ask the user verbatim before the next call. |
error | true if the action failed. |
code | Structured error code when error=true (see below). |
missing | When code=PRECONDITIONS_NOT_MET, the unmet prerequisites in flow order. |
message | Human-readable status or instruction. |
code values: INVALID_INPUT, UNKNOWN_ACTION, PRECONDITIONS_NOT_MET, READINESS_CHECK_FAILED, FILING_FAILED. See Errors.
Helper tools
get_company_onboarding_status
get_company_onboarding_status
The canonical “where am I?” entry point — call it once per session, right after the OAuth handshake. No arguments. Returns the customer profile, inferred completed steps, and a
suggestedNextStep + nextActionInput that drive the next advance_company_onboarding call.Don’t call it before every step — each advance_company_onboarding response already carries nextAction + nextActionInput. Re-call it only when the user returns mid-flow and asks “where are we?”, after an unexpected error, or after switch_active_company. If the customer has no active company yet, it steers you to set_country_of_residence.list_companies
list_companies
Returns every company the authenticated customer owns. Use when the user asks “which companies do I have?”, wants to switch context, or before starting a new formation.Returns:
companies[] (companyId, name, state, entityType, dashboardStatus, submitted, isActive) and activeCompanyId. The entry with isActive: true is the one the formation tools currently operate on.start_new_company
start_new_company
Begin a brand-new Wyoming LLC formation alongside existing companies — call when the customer explicitly asks to form a second (or further) company. Creates an empty in-progress company, links it to the customer, and pins it as active. The previously active company is untouched and stays in
list_companies.Returns: companyId (new active company) and suggestedNextStep (set_country_of_residence).switch_active_company
switch_active_company
Point the formation tools at a different company the customer already owns. Returns the same shape as
get_company_onboarding_status for the newly-active company.Parameter: companyId (string, required) — must be one of the IDs returned by list_companies; unknown IDs are rejected.get_company_info
get_company_info
Returns the active company’s full profile — name, state, entity type, EIN, industry, dashboard status, formation filing date, members, responsible party, addresses, name options, and provisioned services. Use for “tell me about my company”, “what’s my EIN?”, “who are the members?” — distinct from
get_company_onboarding_status, which returns derived next-step routing rather than raw data.Parameters: none. To inspect a different company, call switch_active_company first.