Skip to content

Create a custom app

A custom app groups the resources you build in Studio to do one job: a contact form that records leads, a weekly sales report, a booking page, a social media publisher. The code and the API call an app a module.

Open Apps from the left rail, then the Build section, and click New app. You can start from a template or from a blank app.

Pick a ready-made app and give it a name. Everything it needs is created for you: scripts, widgets, tables and settings. You can change any of it afterwards.

Template What it does
Contact form Share a link and let anyone write to you. Every contact is recorded in a table and posted to Slack.
Booking page Share a link and let anyone book a slot in your calendar, without an account.
Q&A from your documents Turn a PDF or markdown document into questions and answers, and publish them as a page anyone can read.
Social media posts Write a post and its image from a theme, validate it, then publish it to LinkedIn and Facebook.

After creating it, the app tells you what is left to do, for example pick a collection and create the table, connect a service, or grant a service account access.

Script

Code that runs on Nebulas.

Widget

A piece of interactive UI.

Report template

Data, charts and text rendered into a report.

Brand

Colors, fonts and assets.

A script is code that runs on Nebulas: call an API, transform data, write to a table, generate content with a model. Describe what it should do and the builder agent writes it, or write the code yourself.

  • A script can have several functions. Pick one and Run it to see its output, and check past runs.
  • The toolkits a script may call (your connections, data tables, integrations…) and the model it generates with are set on the app, so all its scripts share them. An evaluation budget limits how much a run can use, and can be overridden per script.
  • Assistants can use a script as a tool, and tasks can run it on a schedule.

A widget is a piece of UI: a form to fill, a record card, a list, a chart, a review card that asks for approval. Widgets appear in the chat when an assistant shows them, and Nebulas Kit renders them on your own website. In the API, a widget is a surface.

A report template turns data into a markdown report, saved as an artifact each time it runs. It is made of:

  • Inputs, such as a start and end date, with defaults that support templating (for example {{now()}}).
  • Data sources: data tables, time series, JSON configuration files, or the result of a tool.
  • Cells, run in order: SQL queries over the data sources, markdown text with templating, charts (Plotly, Vega-Lite or ECharts), a request to an assistant (for example “summarize these sales”), or a script.

Use Preview to render the report with test inputs, and the Debug tab to inspect each cell. The template builder agent can write the whole template from a description. A task can run a report on a schedule and send it by email.

A brand is a design system: colors, fonts and assets such as logos. It can be extracted from a website: give the URL and Nebulas picks up its look. The chat, widgets and image generation use the brand, so what your app produces looks like your company.

  • Module variables are values shared by every script of the app, such as an API URL or a table name. Each one can have a description, a type, and be marked required.
  • Setup lists what must be filled in before the app can run. An app shows Setup needed until its required variables have a value.
  • App access decides who can view or edit the app.

When the app works, click Publish. Nebulas validates the app and creates an immutable release with every script, widget, report template, brand and the module variables. The app then appears under Custom in the Apps area, for the people it is shared with.