> For the complete documentation index, see [llms.txt](https://docs.upriverdata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.upriverdata.com/integrations/dagster.md).

# Dagster

### Overview

[Dagster](https://dagster.io/) is a data orchestrator built around **assets**, **jobs**, and **runs**. Connecting Dagster lets Upriver's agent read your deployment's code locations, jobs, run history, logs, and data assets so it can help you monitor pipelines, trace asset lineage, and troubleshoot failures.

The integration connects to **Dagster+ (Dagster Cloud)** over Dagster's GraphQL API. It is **read-only** — Upriver never launches, cancels, or modifies anything in your Dagster deployment.

To connect, you'll provide two things:

1. A **Dagster user token**
2. One or more **deployment URLs**

### How to generate a user token

A user token authenticates Upriver to your Dagster+ deployment's GraphQL API.

1. Sign in to your **Dagster+** account.
2. Click your user icon (top right) → **Organization Settings**.
3. Open the **Tokens** tab.
4. Click **+ Create user token**.
5. Click **Reveal token**, then click the token value to copy it.

> **Note:** A user token inherits the permissions of the user who creates it, and no one can view another user's token after creation. Create the token from an account that has at least **read access (Viewer)** to every deployment you want Upriver to monitor. Copy the token immediately — you'll paste it into Upriver in a moment.

For more detail, see Dagster's own guide: [Managing user tokens in Dagster+](https://docs.dagster.io/deployment/dagster-plus/management/tokens/user-tokens).

### Retrieve your deployment URL(s)

A Dagster+ deployment URL looks like:

{% code overflow="wrap" %}

```
https://<your-org>.dagster.cloud/<your-deployment>
```

{% endcode %}

For example: `https://acme.dagster.cloud/prod`

You can find it in your browser's address bar while viewing a deployment in the Dagster+ UI. If you run more than one deployment (e.g. `prod` and `staging`), collect a URL for each one you want Upriver to monitor — you can add multiple in the next step.

### Add the integration in Upriver

1. In Upriver, go to **Settings → Integrations** (or add it during onboarding under **Orchestration platform → Dagster Cloud**).
2. Select **Dagster Cloud**.
3. Enter:
   * **Dagster user token** — the token you just created.
   * **Dagster deployment URLs** — paste your deployment URL; click **+** to add more.
4. Save to create the integration.

### Permissions

* The integration is **read-only** and uses Dagster's GraphQL API.
* The user token only needs **read (Viewer) access** to the deployment(s) you connect.

### What Upriver reads

Once connected, Upriver reads the following from your Dagster+ deployment (read-only):

* **Code locations / repositories** — the deployed units that define your assets and jobs.
* **Jobs (pipelines)** — names, descriptions, and tags.
* **Runs** — recent run history with status (`SUCCESS`, `FAILURE`, `STARTED`, `QUEUED`, `CANCELED`), start/end times, and tags.
* **Run details & logs** — per-step status and timing, asset materializations, and the structured event log for recent runs (used for failure investigation).
* **Assets** — asset keys, group names, compute kind, and partitioning.
* **Asset lineage** — upstream and downstream dependencies between assets, plus recent materializations.

This powers pipeline run monitoring, asset lineage, and the Upriver agent's ability to investigate failed runs and trace the downstream impact of a data issue.

### Notes

* **Token is shown once.** Dagster+ reveals the user token only at creation time. If you lose it, create a new one.
* **Self-hosted Dagster (OSS).** Upriver's Dagster client can also talk to self-hosted open-source Dagster deployments. The self-serve form above is built for Dagster+; if you run Dagster OSS, contact Upriver support to set this up.
