---
title: "Dataset pages"
description: "The dataset page is where the rows live. Read the grid, set column formats, upload or append data, manage worksheets, and see everything the dataset is connected to."
url: "https://www.jsonify.com/docs/datasets/overview"
---

[Documentation](https://www.jsonify.com/docs/) Filter pages

## Getting started

*   [What is Jsonify?](https://www.jsonify.com/docs/)
*   [How pipelines work](https://www.jsonify.com/docs/how-jsonify-works)
*   [Your first pipeline](https://www.jsonify.com/docs/getting-started/first-pipeline)
*   [Workspaces](https://www.jsonify.com/docs/getting-started/workspaces)
*   [Glossary](https://www.jsonify.com/docs/getting-started/glossary)

## Tutorials

*   [Track the Hacker News front page](https://www.jsonify.com/docs/tutorials/hacker-news)
*   [Monitor prices across retailers](https://www.jsonify.com/docs/tutorials/price-monitoring)
*   [Get a Slack alert when a price drops](https://www.jsonify.com/docs/tutorials/slack-price-alert)
*   [Use a dataset from your agent](https://www.jsonify.com/docs/tutorials/agent-query)

## Jason

*   [Chatting with Jason](https://www.jsonify.com/docs/jason/chat)
*   [Changing a pipeline](https://www.jsonify.com/docs/jason/changing-a-pipeline)
*   [Agents, workers and repairs](https://www.jsonify.com/docs/data-agents)

## Pipelines

*   [The pipeline page](https://www.jsonify.com/docs/pipelines/overview)
*   [Statement of work and steps](https://www.jsonify.com/docs/pipelines/statement-of-work)
*   [Inputs and parameters](https://www.jsonify.com/docs/pipelines/inputs)
*   [Settings reference](https://www.jsonify.com/docs/pipelines/settings)
*   [Versions and changelog](https://www.jsonify.com/docs/pipelines/versions)

## Runs

*   [Running a pipeline](https://www.jsonify.com/docs/runs/running)
*   [Scheduling](https://www.jsonify.com/docs/runs/scheduling)
*   [Run detail](https://www.jsonify.com/docs/runs/run-detail)
*   [Run lifecycle](https://www.jsonify.com/docs/runs/lifecycle)
*   [Verification and repair](https://www.jsonify.com/docs/runs/verification-and-repair)

## Datasets

*   [Dataset pages](https://www.jsonify.com/docs/datasets/overview)
*   [Versions](https://www.jsonify.com/docs/datasets/versions)
*   [Query and export](https://www.jsonify.com/docs/datasets/query-and-export)
*   [Row detail and provenance](https://www.jsonify.com/docs/datasets/provenance)
*   [Sharing](https://www.jsonify.com/docs/datasets/sharing)

## Analytics

*   [Dashboards](https://www.jsonify.com/docs/analytics/dashboards)
*   [Newsletters](https://www.jsonify.com/docs/analytics/newsletters)

## Alerts

*   [Alert rules](https://www.jsonify.com/docs/alerts/rules)
*   [Alert history and notifications](https://www.jsonify.com/docs/alerts/history)

## Integrations

*   [Integrations overview](https://www.jsonify.com/docs/integrations/overview)
*   [Slack and email](https://www.jsonify.com/docs/integrations/slack-and-email)
*   [Sheets, warehouses and webhooks](https://www.jsonify.com/docs/integrations/destinations)
*   [Ingest and serve API](https://www.jsonify.com/docs/integrations/api)
*   [Connect your agent (MCP)](https://www.jsonify.com/docs/integrations/mcp)
*   [Command line](https://www.jsonify.com/docs/integrations/cli)

## Workspace and account

*   [Workspace settings](https://www.jsonify.com/docs/workspace/settings)
*   [Team](https://www.jsonify.com/docs/workspace/team)
*   [Billing and usage](https://www.jsonify.com/docs/workspace/billing)
*   [Data retention](https://www.jsonify.com/docs/workspace/data-retention)

## Plans

*   [Radar or Benchmark? Enterprise](https://www.jsonify.com/docs/radar-vs-benchmark)
*   [Row pricing and managed service](https://www.jsonify.com/docs/pricing-model)

## More

*   [Connect your agent](https://www.jsonify.com/connect)
*   [Pricing](https://www.jsonify.com/pricing)
*   [Contact support](https://www.jsonify.com/contact)

[Docs](https://www.jsonify.com/docs/)/Datasets

# Dataset pages

The dataset page is where the rows live. Read the grid, set column formats, upload or append data, manage worksheets, and see everything the dataset is connected to.

A dataset is the table a pipeline publishes, or one you uploaded or ingested yourself. Its page shows one version of the data at a time: a header describing where the rows came from, a paged grid, and a strip at the bottom listing every pipeline, integration and dashboard connected to it.

![Dataset page for Live product offers showing the header, the version chip, the Run query button and the paged grid](/assets/images/product/datasets-page.png)

A dataset page. The header says where the data came from and which version you are viewing; the grid shows one worksheet at a time.

Datasets are listed on the **Pipelines** page next to the pipelines that produce them. Open one from there, from a pipeline’s **Latest outputs**, from a run’s **Outputs** tab, or from search (Cmd/Ctrl+K).

## The header

The header has four parts, left to right and top to bottom.

*   **Breadcrumbs.** Home, Pipelines, the producing pipeline (when there is one), the dataset name, and the version you are viewing. The dataset name is a dropdown that lists every dataset in the workspace, so you can jump between them without going back to the list.
*   **Title.** Click the name to rename the dataset. Enter saves, Escape cancels.
*   **Badge.** A pill next to the title says how the active version was produced. See the table below.
*   **Version chip.** A clock icon and `v2`, `v3` and so on. Grey while you are viewing the active version, amber when you have opened an older one. See [Versions](https://www.jsonify.com/docs/datasets/versions).

### What the badges mean

| Badge | Meaning |
| --- | --- |
| Live | The active version was published by a pipeline run. The subtitle reads “Extracted” followed by the publish time. |
| Uploaded | The dataset was created by importing a file. The subtitle reads “Last updated” and names the file. |
| Ingested | Rows arrive through the ingest API or a source integration. The subtitle reads “Last synced”. |
| Synthetic | An example dataset. New workspaces start with a few of these so dashboards, alerts and newsletters have something to show before your first pipeline runs. Your own datasets never carry this badge. |

A version created by a manual upload from this page shows the raw word `upload` in a neutral pill rather than **Uploaded**; the two are the same idea.

### Subtitle and the “collects” label

Under the title the page shows the row count and what each row represents: “1,200 products”, “340 reviews”. The noun is the dataset’s **collects** label. Click it to change it (one word, letters only, up to 48 characters; leave it blank to fall back to “rows”). The label is used everywhere the dataset is counted: the pipeline page, the home page, export toasts, the filter box.

### Actions

The primary button is **Run query**, which opens the read-only SQL editor described in [Query and export](https://www.jsonify.com/docs/datasets/query-and-export). The menu beside it holds everything else, in this order:

| Section | Item | What it does |
| --- | --- | --- |
| Import | Upload to {worksheet}… | Replace or append rows from a CSV, XLSX, XLS or JSON file. See Upload and append. |
| Import | Generate data in {worksheet}… | Replace the worksheet with example rows written from a description. Useful for trying a dashboard before real data exists. |
| Import | Refresh | Only on Live datasets. Runs the producing pipeline now; a new version appears when it finishes and you are taken to the pipeline page to watch. Disabled when the workspace is out of rows. |
| Export | Export Excel workbook | Every worksheet of the current version as one .xlsx. |
| Export | Export current table as CSV | The worksheet you are viewing as .csv. |
| Worksheet | New worksheet… | Add an empty worksheet to the dataset. |
| Worksheet | {worksheet} settings… | Column visibility, order and formats, and the collects label. See Table settings. |
| Worksheet | Rename {worksheet}… | Rename the worksheet. Old links keep working. |
| Worksheet | Delete {worksheet} | Remove the worksheet. Disabled when it is the only one. |
| Dataset | Delete dataset | Delete the dataset and all its versions after a confirmation. |

> Deleting a dataset that is still used by a pipeline input, a dashboard or an alert rule is refused with the message “This dataset is still referenced by other objects (pipelines, dashboards, alerts). Remove or repoint those first.” Detach it from those first, then delete.

## The grid

The grid shows one worksheet of one version, fifty rows at a time. When a dataset has more than one worksheet, a tab strip above the grid lets you switch between them; switching resets the page, sort and filter.

### Pagination

The bar under the grid has **Previous page** and **Next page** buttons, “Page 3 of 24”, and a **Rows per page** selector.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Rows per page | 25, 50, 100 | 50 | How many rows each page shows. Changing it returns you to page 1. |

### Sorting

Click a column header to sort ascending; click it again to flip. Only one column sorts at a time, empty values always sort last, and sorting returns you to page 1. The default sort is the first column, ascending.

### Filtering and search

The filter box at the bottom right (placeholder “Filter products…”) searches every column of the worksheet, including hidden ones, for the text you type. It is a contains-match, not case sensitive, applied after a short pause while you type. Escape collapses the box; a purple dot on the collapsed icon means a filter is still applied.

A second filter, **source**, narrows the grid to rows collected from one website. It appears as a chip with the site’s name when you arrive from a link that carries it (for example from a pipeline’s **Sources** tab). Click the chip’s cross to clear it.

> There are no per-column operators such as “price greater than 100”. For anything beyond a text match, use **Run query**. See [Query and export](https://www.jsonify.com/docs/datasets/query-and-export).

### Selecting rows

Hover a row and its number becomes a checkbox. The header checkbox selects the current page. A bar appears with the count and the actions available:

*   **Rerun {n} rows.** Shown only when another pipeline uses this dataset as an input. Sends just those rows through that pipeline as a manual run and opens the run.
*   **Delete {n} rows.** Removes the rows in a new version after a confirmation. You cannot delete every row this way.
*   **Clear selection.**

The selection is also visible to Jason in the sidebar, so you can select a handful of rows and ask “why are these missing a brand?” or “fix the category on these”.

### How cells are rendered

Cells are drawn according to the column’s format (auto-detected or set in table settings) and the shape of the value.

| Value | Shown as |
| --- | --- |
| Empty | An em dash. |
| A web address | A link pill with the site’s favicon, host and path. Opens in a new tab; hover for the full address. |
| An image address (column named image, photo, logo, thumbnail and similar, or ending in .png/.jpg) | A thumbnail. Click for a full-size view with a link to the original. |
| A video address (column named video, clip, recording, or ending in .mp4/.webm/.mov) | A play button. Click to play in place. |
| A column named source | A favicon pill for the site. |
| True / false | A green tick or a red cross. |
| A number | Formatted with thousands separators. Currency formats add the symbol and two decimals; percentage adds one decimal and %. |
| A column whose name ends in id, ref or fingerprint | Fixed-width, unformatted, so identifiers are easy to compare. |
| A list or nested record | A purple count badge and a short teaser; hover for the full structure. Lists of images show up to three thumbnails. |
| Long text | Cut at 40 characters; hover for the whole value. |

Column headers carry a small type icon: a dollar sign for currency, a percent sign, a hash for numbers, a calendar for dates, a globe for links, an image icon, braces for nested data, or a “T” for text.

### Column width and order

Drag a header’s right edge to resize it; double-click the edge to reset. Widths are remembered in your browser. Drag a header left or right to reorder columns; the new order is saved for everyone.

Click any row to open it. See [Row detail and provenance](https://www.jsonify.com/docs/datasets/provenance).

## Table settings

Open **{worksheet} settings…** from the header menu.

![The Table settings dialog with the Collects field and the column list showing visibility checkboxes and format selectors](/assets/images/product/datasets-table-settings.png)

Table settings. Each worksheet has its own column order, hidden columns and formats.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Collects | One word, letters only, up to 48 characters | Blank (uses “rows”, or a label detected from the data) | What each row represents. The link Use automatic label clears an override. |
| Column checkbox | Checked / unchecked | Checked | Whether the column is shown in the grid, in shares and in dashboards’ table widgets. Hidden columns are still searched and exported. Show all and Hide all act on every column. |
| Column order | Drag the handle | Order from the pipeline or file | The order columns appear in the grid and in exports. |
| Format | Auto, USD ($), EUR (€), GBP (£), JPY (¥), INR (₹), Percentage (%), URL | Auto | How the column is rendered. “Auto” shows what was detected, for example “Auto (USD)”. |

**Save** applies the settings to this worksheet only. Formats you set here override detection everywhere the dataset is shown, including share links.

> Choosing **URL** as a format is not saved today; links are detected automatically from the value, so leave those columns on Auto.

## Upload and append

Open **Upload to {worksheet}…** from the header menu.

![The Upload dialog with a file dropzone and the Replace worksheet and Append to worksheet options](/assets/images/product/datasets-upload.png)

Upload a file into the current worksheet.

1.  **Drop a file or click to browse.** CSV, XLSX, XLS or JSON, up to 100 MB. The file’s first row (or the JSON keys) becomes the columns; there is no mapping step, so match the existing column names when you append.
2.  **Choose a mode.** **Replace worksheet** (default) makes a new version whose worksheet contains only the file’s rows; other worksheets are carried forward unchanged. **Append to worksheet** adds the file’s rows to the existing ones.
3.  **Upload.** The new version becomes active immediately. The toast reads “Uploaded 340 rows (v4)” or “Appended 20 rows (v4)”.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Mode | Replace worksheet, Append to worksheet | Replace worksheet | Whether the file replaces or extends the worksheet. |

**Key columns and append.** If the dataset has key columns (a pipeline sets these, for example `product_id`), appending a file whose rows carry those columns updates matching rows in place instead of duplicating them. Without key columns, append is a plain add.

**Multi-sheet workbooks.** Replacing a dataset with a workbook that has several sheets creates one worksheet per sheet, named after the sheets. Replacing or appending a single worksheet needs a single-sheet file.

Because every upload is a new version, the previous rows are never lost. Uploading also triggers everything that listens for new versions: alert rules are evaluated, destinations receive the rows, and dashboard widgets recompute.

> A pipeline-produced dataset can be uploaded to as well, but the next run publishes a new version from the pipeline. Use uploads for datasets you own, and ask Jason to change the pipeline for datasets it produces.

## Editing cells

Cells are not editable in the grid. Open the row’s full page (click the row, then **Open in full page**, or open the row from search) and click any value under **Data**. Enter or clicking away saves; Escape cancels. Numbers, currency and percentages are checked as you save: “$1,299.00” becomes 1299, “abc” in a price column is rejected.

Each save writes a new version containing the whole worksheet with your one change, and makes it active. See [Row detail and provenance](https://www.jsonify.com/docs/datasets/provenance) and [Versions](https://www.jsonify.com/docs/datasets/versions).

## Worksheets

A dataset can hold more than one table. Pipelines that publish several related tables (products and their offers, venues and their menu items) use worksheets; so does a workbook you upload.

*   **New worksheet…** asks for a name (up to 31 characters; no `\ / * ? : [ ]`) and creates it empty in a new version. Upload data into it afterwards from the header menu.
*   **Rename** keeps the old name as an alias so links, queries and dashboards keep resolving.
*   **Delete** creates a version without that worksheet. A dataset always keeps at least one.

Worksheet tabs appear above the grid only when there is more than one. In SQL, the worksheet you are viewing is `data` and the others get `sheet_` aliases; see [Query and export](https://www.jsonify.com/docs/datasets/query-and-export).

## Deleting rows

Select rows and choose **Delete {n} rows**. The confirmation reads “Delete 12 rows? A new dataset version will be created.” The rows disappear from the active version; the previous version still contains them. A pipeline that publishes to this dataset will include them again on its next run if they are still on the source, so for a permanent exclusion ask Jason to change the pipeline instead.

## The connections strip

The bottom-left corner lists every place this dataset receives data from or sends data to.

![The connections strip showing a pill for the pipeline that uses the dataset and a View more link](/assets/images/product/datasets-connections.png)

Connections. Pills link to the pipeline, integration or dashboard.

In order:

*   **from {pipeline}** (violet). The pipeline that produces this dataset.
*   **to {pipeline}**. A pipeline that reads this dataset as an input.
*   **Sources** (green when live, amber when not). Integrations that push rows in, such as a Google Sheet or an ingest webhook. Live push sources show a copy button for their ingest address.
*   **Destinations** (blue). Integrations that receive each new version. Pull-style destinations show a copy button for their serve address.
*   **in {dashboard}** (indigo). Dashboards that read this dataset.

Only the first two connections show inline. **View {n} more** opens a dialog with a card per connection and an **Add connection** card that leads to [Integrations](https://www.jsonify.com/docs/integrations/overview). With two or fewer connections there is an inline **Add** link instead.

A **Sync** button appears when the dataset has at least one live pull-style source (a Google Sheet, for example). It fetches fresh rows from every such source now, the same way a scheduled run does before it starts, and reports “Synced 120 rows from 1 source” or “Already up to date”.

Newsletters and alert rules that use the dataset are not shown here; find them on [Analytics](https://www.jsonify.com/docs/analytics/newsletters) and [Alert rules](https://www.jsonify.com/docs/alerts/rules).

## Dataset relationships

When you build a dashboard from several datasets, the wizard looks for columns that link them, such as `offers.product_id` matching `products.id`, and asks you to confirm the ones that are real. Confirmed relationships are remembered for the workspace and used by every later dashboard to design widgets that join across datasets. They do not change the datasets themselves and have no controls on this page. See [Dashboards](https://www.jsonify.com/docs/analytics/dashboards).

## Empty states

*   **No data yet.** The dataset exists but has no versions. If a pipeline builds it, run the pipeline.
*   **No data in this version.** The version you opened has no columns in this worksheet. Choose another version or worksheet.
*   **No products match your search.** Clear the filter or the source chip.

> Which product had the biggest price drop in this version compared with the last one?

> Jason compares the active version with the previous one on `product_id`, lists the five largest drops with their old and new prices, and links each row so you can open it. No pipeline change is made.

## What’s next

[**Versions**

Every publish, upload and edit is a version. View older ones.

](https://www.jsonify.com/docs/datasets/versions)[**Query and export**

Read-only SQL, Ask Jason, and exports.

](https://www.jsonify.com/docs/datasets/query-and-export)[**Row detail and provenance**

Trace any value back to the page it came from.

](https://www.jsonify.com/docs/datasets/provenance)[**Sharing**

Publish a read-only link to a dataset or dashboard.

](https://www.jsonify.com/docs/datasets/sharing)

[PreviousVerification and repair](https://www.jsonify.com/docs/runs/verification-and-repair) [NextVersions](https://www.jsonify.com/docs/datasets/versions)

Something missing or wrong? [Tell us](https://www.jsonify.com/contact).[Build it →](https://factory.jsonify.com/setup)

## On this page
