Skip to content

Component Builder

The Component Builder lets you author custom pages and dashboard widgets by chatting with an AI agent inside Runnit Studio. The agent runs entirely in-app and drives a full plan → build → test → review → refine loop, streaming its progress into the chat as it works.

Each message you send is routed by intent:

  • Questions (“why did the build fail?”, “what data does this widget use?”) are answered directly. The agent may read your files and query data to ground its answer, but makes no changes.
  • Create or modify requests (“add a chart”, “restyle this”, “fix the totals”) trigger the full build loop:
    1. Plan: a short plan that ends with explicit acceptance criteria.
    2. Validate: confirms the real data fields exist before writing data-bound UI.
    3. Build: writes the component and compiles it.
    4. Review & refine: checks the result against the acceptance criteria and iterates until it is done.

When you build task views, tell the agent how backlog work should appear. A task can have no assignee, estimate, or planned dates. Components should show a clear Unscheduled or Unassigned value instead of inventing dates or hiding the task.

When a component runs in a client-scoped session, its project list and project detail lookups stay with that client. An Internal session shows projects without a client. A project assigned to another client does not appear in those results. The client relationship must remain active. Tasks, milestones, project members, contributors, comments, history, schedule entries, logged time, costs and linked project files follow the same boundary. Totals include only that client’s projects, even when a component shows a limited number of rows. Files owned by your agency also follow the selected project’s client. A project moved to another client stops appearing on later reads. Your usual permissions still apply. See project read tools for the full list.

Client-scoped components cannot create, edit or delete projects or milestones, or request project activation approval. This includes Internal sessions, even when the component has a tool grant. Keep the refusal visible; do not remove the client scope to retry.

A component scoped to a client also cannot create, edit, complete, comment on or delete tasks, or change task dependencies. This includes Internal scope and deletion previews. Keep the restriction visible; use the normal project task controls with your own access when these actions are needed. See task tools.

Components can also read a project’s discussion, which is the project’s own conversation together with the comments on its tasks. Ask for a project status or latest-updates panel and the agent can show real messages with their author and time, rather than only counts and dates.

The builder’s data checks and previews respect the organisation’s disabled Studio tools. If a call is refused, an administrator must allow that tool before the component can use it. Rebuilding the component does not remove the restriction.

  • Paste images into the chat for visual references.
  • Switch between past conversations for a component from the chat history.
  • Watch the live phase indicator to see whether the agent is planning, building, or reviewing.
  • Long build sessions keep working. When a conversation grows very large, the agent automatically condenses older tool output (you’ll see a short note in the chat) and continues instead of stopping with a context error.

If a saved component’s preview bundle is missing, the editor automatically rebuilds it once from the saved source files. A successful rebuild reloads the preview. If the rebuild fails, review the displayed build errors, correct the source, and choose Build to try again.

Built components are stored as versioned artifacts and can be published to your organisation. See Runnit Studio for the artifact types and how widgets reach dashboards.