---
title: "Build custom apps"
description: "Create an app and shape its pages with the AI page builder."
canonical: https://ocho.bot/docs/app-builder/build-custom-apps
last_updated: 2026-07-12
---

# Build custom apps

> Create an app and shape its pages with the AI page builder.

## Create an app

> Who can do this: users with the **App Admin** role. Without it, the **New App** button is hidden entirely.

1. Open **App Builder → My Apps** in the sidebar and click **New App**. 2. In the **New App** dialog, enter a **Name** (the app's identifier is    derived from it automatically), an optional **Description** and **Icon**,    and set AI access with **Let AI read this app's data** and **Let AI write    to this app's data**. 3. On create, you land in the **App Workspace**: the app's name with an    **Active** badge and an **Open app** button in the header, a    **Build: (app name)** copilot chat on the left, and a tab group on the    right that switches between **Navigation**, **Data tables**, and **Pages**    lists. Describe what you want    the app to do — the copilot can add navigation, attach data tables, and    wire up pages. 4. Click **Open app** to view the app itself. If you can build pages, its    empty overview shows a **Create your first page** call-to-action;    otherwise it explains that you need the UI Builder role.

## Build pages with AI

> Who can do this: users with the **UI Builder** role. App Admins can also publish page changes via the API.

1. On a custom page, open the builder with the wand button in the header    (**Edit this page with AI**). The wand appears only on custom pages, and    only for builders. 2. The **UI Builder** panel docks to the right with a **Page copilot** chat.    Describe the page you want or the change you'd like to make. 3. The AI edits the page's draft; the page re-renders as changes land. 4. Click **Publish draft to live** to make the draft live for everyone.

You can also create a page without going through an app's overview: the **App Builder → SDUI Pages** list has a **New Page** button (role-gated) that opens the **New SDUI Page** dialog — pick the app, name the page, and click **Create**.

## Drafts, versions, and safety nets

- Edits accumulate in a **draft** that only builders and App Admins see until

published. The publish button's label reflects the page's publish status —   **Publish draft to live** if the page has never been published,   **Published (re-publish to sync draft)** once it has (even if the draft has   newer edits) — and each page's detail view shows draft/published and build   status badges.

- The **Versions** tab on a page's detail view shows the last 20 versions in

its **Version history** list. Every prior version has a **Restore** button;   the current one is marked **LATEST**.

- If a page build fails, viewers keep seeing the last good version while the

builder shows a **Build failed** error; ask the AI to fix it, then publish   again.

## Good to know

- Publishing is blocked while a build is in progress or failing.
- Custom pages compose from Ocho's widget catalog — layout containers, cards,

buttons, chat panels, document viewers, data tables, and more — so   generated pages match the rest of the product. You can browse the full   read-only catalog under **App Builder → SDUI Widgets**.

All docs: https://ocho.bot/docs

---

Ocho — AI knowledge orchestration · [Home](https://ocho.bot/) · [Docs](https://ocho.bot/docs) · [Blog](https://ocho.bot/blog) · [About](https://ocho.bot/about) · [Developers](https://ocho.bot/developers) · [Contact](https://ocho.bot/contact) · [llms.txt](https://ocho.bot/llms.txt)
