Manufacturing Report Data Sources

Manage the reusable, org-level datasets your Manufacturing Reports read from.

The same ERP extract usually feeds more than one dashboard. Handle that by attaching a copy of the file to each dashboard and you have signed up for a monthly chore: re-upload it everywhere, and hope nobody misses a copy.

Data sources are datasets that belong to your organization rather than to a single report. You upload the dataset once, point as many reports at it as you like, and every one of them reads whatever version is current. Refreshing the data is one upload.

#Key Concepts

Data source — A named dataset (currently SQLite) owned by your organization. Each one has a slug — a short lowercase identifier like shopify, used to reference it in queries — plus a title, an optional description, and a current version.

Version — Every upload to a data source creates a new numbered version, shown in the list as rev 3. Exactly one version is current at a time, and that is the one every report reads. A new upload becomes current immediately, so there is no draft or staging step.

Binding — The link between a report and a data source. A report can read up to eight at once. Threaded keeps bindings in sync with the queries in the report’s layout, and editors can adjust them by hand from the report’s Data source bindings section.

#Who can use it

Anyone in your organization can view data sources and their versions. Creating a data source, uploading a version, rolling back, and deleting require an edit role — Owner or Editor.

#How It Works

#Opening the Data sources page

Go to Reporting → Data sources in the navigation. The table lists every data source in your organization by Slug and Title, with its description underneath, the Current revision, and when it was last Updated.

Every row offers View, which opens the dataset’s tables in a browser you can page through without leaving Threaded, and Download for the file itself. Editors get a row menu with Upload new version, Rollback, and Delete.

#Creating a data source

Click New data source and fill in the dialog:

  1. Enter a Title. The Slug fills in automatically — change it if you want something shorter.
  2. Add a Description noting where the data comes from, for example “ERP nightly dump.” Future readers will want this.
  3. Optionally use Add data file (optional) to upload the first version right away.
  4. Click Create.

Slugs must be lowercase letters, digits, and underscores, starting with a letter. Because the slug is the name your queries use, database keywords are rejected — order, select, main, and query will not work, so reach for something like sales_orders instead.

#Uploading a new version

Open a data source’s row menu and choose Upload new version. The file you upload becomes the current version as soon as it finishes, and every report reading that source picks it up immediately.

#Rolling back

If a new version turns out to be wrong, use Rollback and choose an earlier version to promote back to current. Nothing is re-uploaded — Threaded just points at the older file again — so the change takes effect for every report at once.

#Deleting a data source

Delete permanently removes the data source and all of its versions. Any report still bound to it will fail to load its data, so unbind it from those reports first if they need to keep working.

#Binding data sources to a report

Most of the time you will not set bindings by hand. When a report’s layout is saved, Threaded reads the queries inside it and binds exactly the data sources those queries use. The result is visible under Data source bindings on that report’s Report details page, listed by title and slug — see Manufacturing Reports for the full authoring workflow.

Editors can override the bindings at any time with the Bound data sources picker in that section. Do that when a report needs a source Threaded could not detect from the layout, or when you are preparing a report before its queries exist.

#Querying data sources with the AI Assistant

Ask the AI Assistant to inspect a data source’s schema or run read-only SELECT queries against it before it writes any report queries. This runs through Threaded MCP, so that connection needs to be live — for most organizations it connects on its own.

When a report reads more than one data source, qualify table names with the slug, for example shopify.orders or threaded.parts. Each bound source is attached under its own slug when the report loads.

Example:

“What tables and columns does the shopify data source have?”

“Run a sample query against threaded joined with shopify on part number.”

#Why This Matters

Data sources turn “upload this file to every report that needs it” into “upload it once.” A single refresh brings every dashboard current, the version history tells you exactly which file a report was reading and when, and because bindings follow the queries a report actually runs, a report cannot quietly drift away from the data it claims to show.