> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentaos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a platform

> Run your clients' businesses from one AgentaOS account. Add a business, invite the client, get it verified, set your share, and let it sell. Dashboard first, code second.

<Info>
  <span className="preview-pill">Private preview</span> Working end to end for the accounts that use it; details can still change. Tell us at [contact@agentaos.ai](mailto:contact@agentaos.ai) before you rely on it, and we support you directly. See [Product release phases](/getting-started/release-phases).
</Info>

A platform is an AgentaOS account that manages other businesses. An agency that launches products for clients is a platform. So is a studio with three apps of its own.

Each business you manage gets its own name on the checkout, its own invoices, and its own bank account and payouts. You run all of them from your account, and you can take a share of every sale a client makes. AgentaOS is the merchant of record for every sale, yours and theirs.

Tell us first; nothing needs switching on in the dashboard.

<Info>
  New to platforms? [Platforms](/connect/overview) explains the two kinds of business and who does what.
</Info>

## In the dashboard

You need an AgentaOS account. Every step below works in test mode, including the **ID check link** button.

<Steps>
  <Step title="Add the business">
    Open **Settings → Business**, scroll to **Businesses you manage**, and click **Add a business**.

    Enter the brand name buyers will see and the country where the business is registered. Then answer **Who is it?**

    <Frame caption="Who is it? decides how the business gets verified. You cannot change it later.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/who-is-it.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=09917e63f779129aca1bc38966fa57aa" alt="The Add a business dialog asking Who is it?, with two choices: A client's business, or Another app of your own company" width="1440" height="785" data-path="images/connect/who-is-it.png" />
    </Frame>

    * **A client's business** is another company. It verifies on its own, and you can take a share of its sales.
    * **Another app of your own company** is the same company. It uses your verification and your plan, so only its product gets reviewed. It has its own bank account, balance and payouts. It carries no share, because a company does not pay itself.
  </Step>

  <Step title="Invite the client, or run it yourself">
    The dialog asks **Who runs it?**

    Leave the email empty to run the business yourself. Most clients never log in.

    Enter your client's email to give them their own login. They become an admin of this business and see only this business. We email them the invitation. The dialog also shows you the link, so you can send it yourself. The link signs them in and stays valid for 7 days.

    <Frame caption="The list shows every business you manage, its status, and any open invitation.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/businesses-you-manage.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=1601d8850cc402c3953f27fa2df22211" alt="Businesses you manage: four businesses with their status pills, share, ID check link, and one open invitation with Email it again, New link and Revoke" width="1440" height="785" data-path="images/connect/businesses-you-manage.png" />
    </Frame>

    Until the client joins, the business's row shows **Invitation open for** their email, with **Email it again**, **New link** and **Revoke**.
  </Step>

  <Step title="The client's side">
    The invitation link opens a page that names you and the business:

    <Frame caption="The invitation page. The client signs in with their email; a new account is created on the spot.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/client-invite.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=b2e1614d09be12c7ff75d4a2c9b16d5a" alt="Invitation page: AgencyOne invited you to a business. You'll run it as an admin. AgencyOne can also manage it; payouts go to the business's own bank account. Sign in to accept." width="1440" height="787" data-path="images/connect/client-invite.png" />
    </Frame>

    After they accept, they land inside their business. Every page of theirs carries the line **Managed by AgencyOne. They can manage products and settings; payouts always go to ClientCo's own bank account.**

    <Frame caption="The client's first screen: their own dashboard, with the managed line at the top.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/client-dashboard.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=69b3b8d2e343f821bb11d3cbcbdb5636" alt="The client's dashboard right after accepting, with the line Managed by AgencyOne at the top and the setup guide at zero" width="1440" height="787" data-path="images/connect/client-dashboard.png" />
    </Frame>

    From here the client works like any AgentaOS merchant: products, sales, invoices, and their own bank account.
  </Step>

  <Step title="Get the business verified">
    A business sells in test mode until its verification is approved and it has a payout account. After that, real money flows.

    Verification has two parts:

    * Your client files the business details, the product and the declarations from **Go live** in their dashboard. You can also file them for the client, from what the client confirmed to you, and our reviewers see that you filed them.
    * Only the client can complete the identity check. Click **ID check link** on the business's row and send the link to the client.

    Another app of your own company skips both parts. It is verified with you, and only its product is reviewed.

    The row shows the status: **Test only**, **In review**, **Changes needed**, **On hold**, **Rejected** or **Live**. If you use webhooks, an `account.updated` event tells you when the status changes. See [Business status](/sdk/pay-businesses#business-status) for how the three sets of names match.
  </Step>

  <Step title="Set your share">
    On a client's row, click **Set share**. The share is a percentage of each sale's price before VAT, plus a fixed amount per sale. The screen shows the outcome as you type.

    <Frame caption="The share editor. The sentence under the fields comes from the server, for a €100 sale.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/set-share.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=100017530375592c0996cd5137680ba9" alt="Set share for ClientCo: Percent of each sale's price (before VAT) 10, Fixed amount per sale 0.50, and the sentence On a €100.00 sale with no VAT and no reserve, AgentaOS takes €5.00, you take €10.50 and ClientCo keeps €84.50." width="1440" height="785" data-path="images/connect/set-share.png" />
    </Frame>

    The share is fixed on each sale at the moment of the sale. A change applies to future sales only. Your client sees the share on every sale as **Platform fee**, before their net.

    <Frame caption="What the client sees on a sale: VAT, the AgentaOS fee, your share, and their net. The AgentaOS fee of €1.24 on €12.40 includes the 1.5% surcharge for a card issued outside the EEA; the test card counts as one.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/client-sale.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=dd8a7f7ecf3947e642b3da4bc6f60008" alt="A client's sale page: Paid €12.40, VAT (24%) €2.40, AgentaOS fee €1.24, Platform fee (AgencyOne) −€1.50, Your net €7.26, and a sentence explaining when the share leaves" width="1440" height="789" data-path="images/connect/client-sale.png" />
    </Frame>

    See [Platform fees](/connect/fees) for the rules.
  </Step>

  <Step title="Work as the business">
    Click **Open** on a row. Your dashboard switches into that business, and the banner reads **You're working in ClientCo · managed by AgencyOne**. Everything you create there belongs to the client: products, checkouts, invoices, customers. Click **Back** to return to your own account.
  </Step>

  <Step title="Watch your fees">
    Your fees appear on your own **Balances** page, in the **Overview** tab, in the **Platform fees** card. The card shows the total not yet paid to you, then **When you get it**: one line per day for the next five days, soonest first, then one **Later** line.

    <Frame caption="Platform fees on your Balances page. A client that is not verified yet holds its fees.">
      <img src="https://mintcdn.com/agentokratia/ob7A8SZLgGb2oPrT/images/connect/platform-fees.png?fit=max&auto=format&n=ob7A8SZLgGb2oPrT&q=85&s=9d0ce273407c88f4d9f9c2c05ee51591" alt="Platform fees card: €4.74, When you get it, Jan 26 2027, ClientCo, 3 sales, Paid once ClientCo is verified, and the note that fees ride your own payout" width="1440" height="785" data-path="images/connect/platform-fees.png" />
    </Frame>

    We pay the fees with your own payout, on or after the date shown. They are never part of **Available now**, because they are not your own sales money.
  </Step>
</Steps>

## From code

Every step above is also an API call or a CLI command, made with your own key. To add clients from your own product, use these pages:

* [Businesses in the SDK](/sdk/pay-businesses): create a business, file its verification, send the identity check link, sell as the business, and receive every business's events on one webhook.
* [Businesses in the CLI](/cli/businesses): the same steps from the terminal, with `--business` on every command.
* [Platform webhooks](/connect/webhooks): the `business` field on every event, and `account.updated`.

## Next steps

<Columns cols={2}>
  <Card title="Platform fees" icon="percent" href="/connect/fees">
    Your share and when we pay it.
  </Card>

  <Card title="Embedded checkout" icon="window-maximize" href="/payments/embedded-checkout">
    Put the checkout on your client's own page.
  </Card>

  <Card title="Businesses (SDK)" icon="code" href="/sdk/pay-businesses">
    Every method and field.
  </Card>

  <Card title="Businesses (CLI)" icon="terminal" href="/cli/businesses">
    The six commands and `--business`.
  </Card>
</Columns>
