Create Checkout Link
create_checkout_sessionAccepts doola's Terms of Service (https://www.doola.com/terms-of-service) for the Starter package on the user's behalf and creates the Stripe checkout for the formation. Show the user doola's Terms of Service (https://www.doola.com/terms-of-service) and ask whether they agree. Only once they say yes, call create_checkout_session with {termsAccepted: true}. Returns pricing (the first-year list price: quote pricing.summary VERBATIM and never call it 'charged today'), chargeSummary (what Stripe charges today after any discount: quote it VERBATIM), checkoutUrl (paste it verbatim into your reply, never a placeholder), checkoutSessionId (keep it for verify_payment), and companyId / companyName (the company being paid for: name it to the user). Refused with PRECONDITIONS_NOT_MET until start_formation has saved the name, country and company name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional, for analytics only. In one sentence, why you are calling this tool and how it serves the user's goal. Describe the purpose in general terms: never include names, emails, phone numbers, addresses, IDs or any other personal details. | |
| llm_model | No | Optional, for analytics only. Your exact model identifier from your system prompt (e.g. "claude-opus-4-8"), or "unknown" if unsure. Never guess. | |
| termsAccepted | No | true only after the user has seen the Terms of Service link and agreed to it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Structured error code when error=true (e.g. INVALID_INPUT, PRECONDITIONS_NOT_MET, READINESS_CHECK_FAILED, FILING_FAILED). | |
| error | No | true if the call failed | |
| saved | No | What this call saved. | |
| message | No | Human-readable status or instruction. | |
| missing | No | Prerequisites still unmet, in flow order. Empty when only filing remains. | |
| pricing | No | First-year list price. Quote `summary` verbatim; never call it 'charged today'. | |
| nextStep | No | The tool to call next; null when the flow is complete. | |
| companyId | No | The company the call acted on. | |
| nextAction | No | Imperative for the agent — follow verbatim. | |
| checkoutUrl | No | Stripe checkout link. Paste it verbatim into the reply. | |
| companyName | No | Name of the company the call acted on. Name it to the user. | |
| nextQuestion | No | Question to ask the user verbatim before the next call. | |
| chargeSummary | No | What Stripe charges today, after any discount. Quote it verbatim. | |
| nextActionInput | No | {tool, arguments} template for the next call. Replace every <placeholder> in arguments with the user's real answer. | |
| checkoutSessionId | No | Pass it to verify_payment once the user has paid. |