# Add and maintain app data sources

A data source names the records an app can read. Components bind to its results, while events can refresh a source or, for eligible workflow sources, start work. Merely placing a table on the canvas does not identify where its rows come from.

## Choose a source kind

| Kind | Use for | Can start work? |
| --- | --- | --- |
| Workflow records | Records from a selected workflow, optionally narrowed to a run, record types, and step. | Only when Allow run trigger is enabled and the source is not pinned to a run. |
| App output | A named published output from another app. | No; it is a read-only consumer contract. |

Open **Data** in the builder. Choose **+ Add** for a workflow-record source or **Use app output** to browse published outputs. Expand a source's configuration to edit it; remove it with the source's remove control.

## Identify and bind

Give the source a stable unique id. Use its data path in the appropriate component property, for example {{ dataSources.orders.data }} for a rows-oriented view. Published source state also describes loading, errors, and run progress where supported; bind the corresponding state to status components rather than treating an empty array as every possible outcome.

Fetch-on-load controls an initial records read. It does not mean start the workflow on every page load. Run actions require explicit trigger authorization on the source.

## Remove safely

Removing a source removes the app's reference, not the underlying workflow or another app's published output. Other components, events, outputs, and post-upload policies may still refer to its id. Update those references and resolve diagnostics before saving.

Source configuration is part of the app definition and version history. Its results are live data, not rows saved inside the definition. Preview can read an allowed sample through the unsaved source configuration, but cannot demonstrate production workflow execution.

For exact procedures, see [Workflow-record sources](/docs/builder/workflow-sources), [App-output sources](/docs/builder/app-output-sources), [Bindings](/docs/builder/bindings), and [Preview](/docs/builder/preview).
