---
title: "Running a pipeline"
description: "The Run Pipeline button and dialog, item limits and dataset bindings, the source cache choice, the Latest runs page, run kinds, and runs started by webhook."
url: "https://www.jsonify.com/docs/runs/running"
---

[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/)/Runs

# Running a pipeline

The Run Pipeline button and dialog, item limits and dataset bindings, the source cache choice, the Latest runs page, run kinds, and runs started by webhook.

A run executes one version of a pipeline: it fetches, extracts, processes, checks and publishes. Runs start in four ways: you press **Run Pipeline**, the schedule fires, an integration receives a webhook, or Jason runs the pipeline as part of its work. This page covers starting runs yourself and reading the list of everything that has run.

1.  **Run Pipeline**or a card's Run
2.  **Configure**dialog: inputs, limit, cache
3.  **Queued**waiting for a worker
4.  **Running**steps execute
5.  **Verified**checks pass
6.  **Published**a new dataset revision

A manual run from button to published rows.

## Starting a run

### From the pipeline page

**Run Pipeline** in the hero opens the run dialog, where you can adjust inputs and limits before the run starts. The button is disabled with **Pipeline has no active revision** until the first version is activated, shows a spinner while a run you started from this page is in flight, and opens **Monthly collection cap reached** instead of the dialog when the workspace has no rows left.

The dialog runs the version you are currently viewing. If you have selected an older version in the version chip, that version runs.

### From a card or the list

The **Actions** menu on a pipeline card has **Run**, and the bulk bar on the Pipelines list has **Run** for every selected pipeline. Both start immediately with the pipeline’s defaults: default item limit, your parameter defaults, the current dataset revisions. See [The pipeline page](https://www.jsonify.com/docs/pipelines/overview).

### From Latest runs

**New run** on the Latest runs page opens **Run pipelines**, a checklist of every pipeline in the workspace. **Each run uses the pipeline’s default settings.** Tick the ones you want (**Select all** / **Clear**), and every ticked pipeline starts. Rows read **Last run 2 hours ago · 48,102 rows**, **Never run**, or **No active revision yet** (disabled). The toast confirms **Started 3 runs**.

## The run dialog

![The Run pipeline dialog for a multi-input pipeline with the canvas on the left and the run settings panel with parameter fields on the right](/assets/images/product/runs-dialog.png)

The run dialog. The canvas shows every block's decision; the panel on the right edits the selected one.

The header reads **Run pipeline · v2**. With anything to configure, **Import** and **Export** sit beside it. The body is a split view: the pipeline’s step diagram on the left in _configure_ mode (each block overlaid with its decision, blocks that still need one outlined in red, input edges labelled with row counts), and a panel on the right. Pipelines without a diagram show a flat form instead.

### Run settings

The panel opens on **Run settings**: **Settings shared across the pipeline. Pick a block on the canvas or below to decide what it does.**

*   **Parameters.** Every parameter with its field, prefilled with your default. Field types are described in [Inputs and parameters](https://www.jsonify.com/docs/pipelines/inputs#field-types).
*   **Blocks with decisions.** A list of every input and restartable step with its current state; red text marks one that still needs a choice. Click a row to open that block.
*   **Attached triggers.** When an integration can start this pipeline, a banner names it (**Webhook attached · This pipeline can also be started automatically using this integration.**) with a link to the integration.

### Dataset bindings

Selecting a dataset input on the canvas (or in the list) shows its **Dataset revision**: a card such as **Price observations · Retail / Prices · v12 · Prices · 48,102 rows**, or **Choose a dataset revision** when nothing is bound yet. Click it to open the dataset browser.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Select a dataset | Workspace datasets grouped by folder, searchable | The dataset the pipeline declares | Which dataset this input reads. |
| Dataset revision | Every revision of that dataset | The declared dataset’s selected revision, else what you used last time | Which revision the run reads. |
| Dataset worksheet | The worksheets in that revision | The declared worksheet | Which table, when the dataset has several. |
| Preview | The first rows | — | A look at what the run will receive. |
| Leave unbound | Button | — | Optional inputs only: run without this input. |

Bindings are remembered: the next run of this pipeline offers the same choice again. Submitting with a required input unbound does not start the run; the dialog highlights the block instead.

### Restartable steps

A step that can reuse its own saved output shows a **Saved revision** choice:

*   **Build new.** **Runs this step from scratch.** (or **Runs this step and saves a new revision.**)
*   **Use saved.** Picks a saved revision; **This step is skipped and the saved rows take its place.** Useful when an expensive early step is fine and only later steps changed.

### Value inputs

Value inputs are read-only here: **14 of 16 items on** and **Values are edited on the Inputs page.** **Edit inputs** closes the dialog and takes you there.

### Item limit

The footer shows the run’s scope: **Up to 1,000 items per map step** or **No limit on items per map step**. Click it to change it.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Scope | Limit · No limit | Limit with the pipeline’s default when it has one, else No limit | Whether each map step is capped. |
| Items | A whole number, at least 1 | The pipeline’s default (10 if there is none and you switch to Limit) | Each map step takes at most this many input rows. Rows a step expands from one input are kept whole. |

In practice: a map step that visits one page per product takes the first `n` products. If one product page yields twenty offers, all twenty are kept: the cap counts inputs, not outputs. **No limit** processes the full input. A run’s **Summary** records the scope as **Full input** or **Cap 1,000 inputs**.

> Use a small limit for a trial after a change (“does the new column look right on 25 products?”), then run with **No limit** or the default. Rows from a capped live run are published like any other, so do not use a cap as a way to preview without publishing; use a Jason test run for that.

### Source cache

The second footer item reads **Source cache · Use fresh cache** or **Source cache · Fetch live sources**.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Source cache | Use fresh cache · Fetch live sources | Use fresh cache | Use fresh cache: Reuse saved source responses while they are still fresh. — fresh as defined by the pipeline’s cache setting. Fetch live sources: Check sources again for this run. — every page is fetched again for this run. |

**Unchanged content can still reuse OCR and extraction.** Fetching live does not delete saved responses; it bypasses them for this run only. The pipeline’s freshness setting is documented in [Settings reference](https://www.jsonify.com/docs/pipelines/settings#cache).

### Import and Export

**Export run config** downloads a file with **the exact parameters, output limit, pipeline version, and pinned dataset revisions used by the run**. **Import run config** takes such a file (paste or upload, under 1 MB) and applies it: **Nothing changes until you apply it.** The dialog rejects a file for another version (**This config is for pipeline v1. Open that version before importing it.**), unknown parameters or inputs, and bindings to datasets that are no longer available.

### Starting it

**Run pipeline** starts the run. You are taken to the new run’s **Steps** view, where the diagram animates as work happens. When a run you started completes and the pipeline has exactly one dataset, the page moves on to that dataset.

> Run with `region = GB`, the product list bound to **Product catalogue v7**, **Limit 50** items, and **Fetch live sources**. The Summary afterwards reads: Live run #8 started by you against v2 (Cap 50 inputs). It completed in 2m 14s, fetched 50 pages and collected 118 rows, published to Live product offers as v9.

## Run kinds

Every run has a kind, shown as a pill on its title and in the runs rail.

| Pill | Started by | Publishes? |
| --- | --- | --- |
| Live run | You, a schedule, a webhook, or Jason running the live pipeline | Yes, when it succeeds. Runs the live pipeline and publishes data when it succeeds. |
| Resumed run | Resume on a failed or stopped live run | Yes. Reuses completed work from an earlier live run and publishes data when it succeeds. |
| Test run | Jason, while building, changing or repairing | No. Tests pipeline changes before they go live, without publishing data. |
| Debug run | Troubleshooting | No. Runs the pipeline for troubleshooting without publishing data. |
| Newsletter | A newsletter’s schedule | Creates a newsletter issue rather than a dataset revision. |

Live and resumed runs are numbered in order (**Live run #8**), and a number never changes once given. Test and debug runs keep their rows on their own **Outputs** tab, marked **not published**, and never touch a dataset.

## Runs started by webhook

An integration of type webhook can start a pipeline from outside Jsonify: a request to the integration’s address starts a live run with the pipeline’s defaults. Such runs show **webhook** as their starter in the rail and on the Latest runs page, and a failure on one is eligible for automatic repair in the same way as a scheduled failure. Setting one up is described in [Ingest and serve API](https://www.jsonify.com/docs/integrations/api).

## The Latest runs page

**Latest runs** in the left navigation lists every run in the workspace across all pipelines.

![The Latest runs page with the filter toolbar and a list of previous runs grouped by day](/assets/images/product/runs-latest.png)

Latest runs. Filters and sort apply across every pipeline in the workspace.

| Option | Values | Default | What it does |
| --- | --- | --- | --- |
| Search | Free text, Search runs… | Empty | Matches run titles. |
| Status | All · Completed · Failed · Cancelled · Active | All | Filters by outcome. Active is queued, running or stopping. |
| Kind | Live runs (Runs that publish data when they succeed.) · All runs (Live runs, resumed runs, test runs, debug runs, and newsletters.) | Live runs | Whether Jason’s test runs and other non-publishing runs are shown. Kind pills appear on rows only under All runs. |
| Started from | Anywhere · Manual (Someone pressed Run in the app.) · Schedule (A timer fired on the pipeline’s cadence.) · Webhook (An inbound request to an integration.) · Jason (Jason, in web, Slack, or CLI.) | Anywhere | Filters by what started the run. |
| Pipeline | All pipelines or one pipeline | All pipelines | Limits the list to one pipeline. |
| Sort runs | Newest first · Oldest first · Longest duration · Most rows · Most pages · Pipeline name · Status | Newest first | Orders the list. |
| New run | Button | — | Opens Run pipelines (above). |
| Pagination | 50 per page | 50 | Pages through the list. |

### What the page shows

*   **Active runs.** A section headed **3 active runs** with a card per run: pipeline, status (**Queued** / **Running** / **Stopping**), live elapsed time and estimate, pages fetched, **Stop**, and **Open run**.
*   **Previous runs.** Grouped under **Today**, **Yesterday** and **Earlier** when sorted by time. Each row: pipeline icon, run title, status, rows, pages, duration, an icon for what started it, how long ago, **by** whom, and an **Open run** arrow. A run whose pipeline has been deleted reads **Pipeline deleted**.

### Deleting runs

Hover a previous run for its checkbox (**Select all** / **Clear** select a page). The toolbar becomes **4 selected** with **Delete** and **Clear**. **Delete** asks **Delete 4 runs?** — **This permanently removes the runs and their logs. Datasets they produced are not affected.** Active runs cannot be selected; stop them from their cards first.

Empty states: **No runs yet · Run a pipeline and it’ll show up here.**, or with filters **No runs match these filters · Try a different status, pipeline, or search.**

## What’s next

[**Run detail**

Reading a run: Summary, Outputs, Steps, Activity and Logs.

](https://www.jsonify.com/docs/runs/run-detail)[**Scheduling**

Let the pipeline run itself.

](https://www.jsonify.com/docs/runs/scheduling)[**Run lifecycle**

Stopping, resuming and deleting runs.

](https://www.jsonify.com/docs/runs/lifecycle)[**Ingest and serve API**

Start a run with a webhook.

](https://www.jsonify.com/docs/integrations/api)

[PreviousVersions and changelog](https://www.jsonify.com/docs/pipelines/versions) [NextScheduling](https://www.jsonify.com/docs/runs/scheduling)

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

## On this page
