Skip to main content
An app is a web interface your team opens inside DataGen: a dashboard, an internal tool, a review queue, an analysis notebook. Every app is a folder of files plus the command that serves it. DataGen runs that command in a sandbox and shows the result in the workspace, so nobody has to host, deploy or log in to anything separately. Apps live under Apps in the left navigation (/signalgen/apps). The Apps page groups them by kind.

How an app runs

  • One shared tree, one instance per member. The app’s files (its published version) are shared across the workspace. Each member who opens the app gets their own sandbox and their own running process, so one person’s session never interferes with another’s.
  • Opening starts it. Opening an app checks access, prepares the sandbox, loads the published files and waits for the server to answer. A stopped app starts again the next time someone opens it.
  • Credentials resolve as the viewer. When an app is bound to a Connection Vault, each member’s instance receives that member’s own credential values as environment variables.

The two kinds

When to use a notebook

Pick a notebook for exploratory analysis and reports that analysts keep editing: query a source, chart it, tweak a cell, re-run. Notebooks in the same workspace share one folder, so one notebook can read files another one wrote. Each notebook still runs in its own sandbox with its own kernel, so a heavy notebook never stalls the others.

When to use a custom app

Pick a custom app when people should use the result rather than edit it: a dashboard with filters, a form-driven internal tool, a portal. Custom apps go through a save-and-publish cycle, so the version your team sees changes only when someone publishes. When you create a custom app you also pick its type:
  • Regular app: a UI for people, with APIs as needed.
  • MCP app: a UI for people and tools for agents. Agents in the workspace can discover and call the app’s tools.

How apps connect to the rest of DataGen

Agents

Agents create, open and call apps with their built-in apps tools (list_apps, create_app, create_notebook, open_app, request and others). The App Builder chat is itself an agent turn running in the app’s builder sandbox.

Context

Connect published knowledge bases to a custom app’s builder as read-only reference material for the AI writing the app.

Data and Files

Select workspace files as the app’s Sources. They are copied into the app’s .sources/ folder when it starts. To query a database directly, bind a vault credential and connect from code.

Foundation

Each app pins a sandbox environment (the image it boots in), a Connection Vault (credentials the running app receives) and a harness (the runtime the builder chat runs on).
The harness drives the App Builder’s chat only. A running app serves its own process and never loads a harness. See Harness.

Lifecycle of a custom app

1

Build

Describe the app in the App Builder chat. The AI edits a draft in the builder sandbox while you watch the live preview.
2

Save a version

Save snapshots the draft as an immutable version and installs its dependencies into an image for that version.
3

Publish

Publish a saved version from Versions. That version is what every member gets when they open the app. Publishing an older version rolls back.
4

Use and automate

Members open the app at /signalgen/apps/<appId>/view. Automations can run the builder on a schedule to refresh the draft.

Next

Build an app

Create a notebook or a custom app and configure how it runs.

Publish and share

Save and publish versions, control access and schedule automations.