Browse the docs

Set up a business for an owner, as an agent

The exact tool calls that take an owner from no account to a published website.

Follow this when an owner asks you to set up their business on Allpage. Every call is a tool on Allpage's MCP server at https://allpage.site/mcp.

1. Connect

Add the MCP server https://allpage.site/mcp (streamable HTTP, OAuth 2.1). The owner signs in or signs up with an emailed code on the consent screen; that's how their account is made. You can't make it for them.

2. Learn the jobs

  • skills_list lists the step-by-step skills your tools allow.
  • skills_load with {"skill": "onboarding.start"} returns its instructions and tools.
  • help_search with {"question": "..."} answers how something works.

3. Start the business

Load onboarding.start. It walks the same steps as Allpage's own start screen, in the same order.

  1. Ask where the owner is: an idea to test, starting a business, or already open and moving here.
  2. Ask only that path's fields. An idea needs the idea in their words and the place. Starting needs the name, the kind and the place. Already open adds their website.
  3. If they give a website, call onboarding.readWebsite with {"url": "risebakery.com"}. It works before they sign in. Check what it found with the owner instead of asking again.
  4. Call business_create once: {"stage": "starting", "name": "Rise Bakery", "kind": "baker", "email": "hello@risebakery.com", "location": "Portland, OR"}. For an idea: {"stage": "idea", "pitch": "Sourdough and pastries from my home kitchen", "location": "Portland, OR"}. Keep businessId (biz_…).

In ChatGPT, show the start card instead: website_starters with {"start": {"stage": "starting", "name": "Rise Bakery", "kind": "baker", "location": "Portland, OR"}}. The owner taps Start and signs in if they haven't. A business moves on to its booking hours; an idea goes on to research in the chat.

4. Walk the setup steps

Call onboarding.next. It names the step to do now, in the same order as Allpage's setup screen:

  • action: the operation to call, the input to start from and a note. Ask the owner in one question, then call it with what they said.
  • suggestions: values for empty fields, each with where it came from. Ask before you use one.
  • confirm: when true, call onboarding.confirm with {"stepId": "<id>"} once the owner agrees with the step as it stands.

A portal action means only the owner can do it: onboarding.handOff gives them a single-use link. Skip a step with onboarding.skip only when the owner says so. Call onboarding.next again until step is null.

An idea's steps (research, customers, names, the waitlist page and goals) follow the planning.plan and planning.name skills. When the owner is ready to open, the planning.open skill calls business.open.

5. Make the website theirs

Load onboarding.site with {"skill": "onboarding.site", "business": "<businessId>"}. It reads site.draft for you. Change words with site.setWords (each part by its address), anything else with site.change, show it with site.preview, and publish with site.publish. In ChatGPT the owner publishes by tapping Publish on the website_preview card instead.

Changes customers see answer proposed with approveAt. Give the owner that link and wait: they approve in Allpage. Steps only they can do (payments.enable, connecting Google) answer needs: portal with a url that works once, for 30 minutes.

7. Finish the setup plan

Load onboarding.launch. It reads onboarding.plan. For each step: when its action is operation, call the tool it names with its input (usually onboarding.doIt; for the opening hours, the address or how the business is set up, ask the owner and add what they say, as its note explains), onboarding.handOff when it's portal, nothing when it's wait, and when it's plan, tell the owner it isn't on their plan, with its href (the plans page, to read; never a price). In ChatGPT, publishing is a tap on a card: show website_preview. Once the website is live, show site.share for the link to hand out, then onboarding.nextSteps for what's left, in the order that fits the business. In ChatGPT its card does each step with a tap, so don't call onboarding.doIt for those.

The same steps work over the API: see Call the API, "Start a business".

How answers work

Every tool answers with a status:

  • done: it ran.
  • proposed: it waits for the owner. Give them approveAt. Proposing the same change to the same record again, with every field the waiting one set, replaces it: give the owner the newer link.
  • pending: still running. Check with the tool it names in check.
  • needs: its note is the next step (a link for the owner, which business, an area to turn on).
  • refused: its message says why, in words you can repeat.

Don't tell the owner something is live until site.published or onboarding.plan says so.