/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.