Custom UI Builder

The Custom UI Builder lets you publish beautiful, graph-bound web interfaces for your automations. End users interact through {bot-subdomain}.bots.narakim.cloud/p/{slug} (same public host as inbound webhooks; UI lives under /p/) without using Studio or calling APIs directly.

Publishing sets status to PUBLISHED in the database — the page is live immediately on the bot subdomain (no separate deploy step).

What Custom UIs Are

  • Graph-bound — Every input and output maps to real automation nodes (data-nui-input, data-nui-output in generated HTML).
  • AI-designed — Generation is always agentic: a planner designs layout and bindings, then an HTML generator produces a bespoke page (not a generic form dump).
  • Pattern guides — Built-in patterns (dashboard, log monitor, chat, file processor, etc.) are reference only; the AI adapts them to your intent and graph.

AI Agent: UI Builder Skill

When you ask to build a dashboard, portal, public page, or custom interface, the agent uses the UI Builder skill with tools:

ToolPurpose
list_custom_uisList UIs for a bot
create_custom_uiCreate a draft Custom UI
generate_custom_uiRun agentic generation (requires rich userIntent)
preview_custom_uiPreview HTML before publish
publish_custom_uiGo live on the bot subdomain
list_ui_patterns / search_ui_patternsBrowse pattern guides for inspiration

Recommended flow

  1. Ensure the bot has an automation graph (DEVELOPMENT by default).
  2. create_custom_ui with name and slug.
  3. generate_custom_ui with a detailed brief (layout, sidebar, live logs, theme, copy).
  4. preview_custom_ui if the user wants to review.
  5. publish_custom_ui after confirmation — share the public URL.

Access modes

  • PUBLIC — Anyone with the link can use the UI (rate-limited).
  • PASSWORD_PROTECTED — Requires X-Custom-Ui-Key header (stored in session after prompt).
  • TEAM_ONLY — Studio-authenticated team members only.

Runtime behavior

Published pages include embedded Narakim runtime JS that:

  • Collects data-nui-input values and POSTs to /api/p/{slug}/trigger
  • Polls /api/p/{slug}/executions/{id}/output for results
  • Fills data-nui-output elements when execution completes

Plan limits

  • Custom UIs per bot (tier-dependent)
  • Execution history depth on public execution lists
  • AI generation consumes monthly AI call quota (always uses LLM)

Studio (coming)

Manage Custom UIs from Bot → Custom UI in the Studio sidebar (/studio/bots/{botId}/custom-uis), or use the AI Agent UI Builder skill and the REST API under /custom-uis.

Was this helpful?
historyLast updated: May 10, 2026