> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fermata.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a stream: bring tracker issues in as Tracks

> A Stream is a rule that brings matching issues from Linear or GitHub into a project as Tracks, waiting for your review.

> [!NOTE]
>
> Streams and Tracks are an Edge preview, part of **Loop intake**. Turn on Settings → Edge → **Enable Edge features**, then **Loop intake** in the "Features" card. See [Edge features](https://docs.fermata.run/configuration/edge.md).

Picking an issue by hand works when you know which one you want. A Stream works the other way: you describe the issues you want once, and Fermata brings each match into the project as a [Track](https://docs.fermata.run/streams/tracks.md), a card that waits for you. A Stream never starts work on its own. Nothing an issue says reaches an agent until you approve it.

A Stream belongs to one project and reads one account. You need a [connected account](https://docs.fermata.run/streams/connect-trackers.md) first.

## Open the sheet

Point Settings at the project and open Settings → **Streams**. The first card is "Streams into" the project's name, and **Add a stream…** opens the "Add a stream" sheet. From the Loop board, the Tracks column's sliders button ("Open this project's Streams in Settings") lands in the same place.

## From

"From" is where the issues come from: an account, narrowed to one Linear team or one GitHub repository. The accounts this project reads come first. Accounts connected in Fermata but not read here are listed under "Other accounts"; adding a Stream on one starts reading it in this project.

A GitHub account needs a repository. If the project's `origin` is not on github.com and you have not named one, the sheet says so and the account is left out until you pick its repository in the "Accounts used in" card.

## Bring in issues that

Three triggers, picked under "Bring in issues that":

| Trigger | You set | What it matches |
| - | - | - |
| **Have a label** | "Label", `fermata` unless you change it | Issues carrying that label. |
| **Are assigned to me** | "In state": a Linear workflow state, or Open or Closed on GitHub | Issues assigned to the account's owner, in that state. |
| **Are in a view** | On Linear, a "View" you saved there. On GitHub, a "Search query" such as `label:bug is:open` | Whatever that view or search returns. |

A label is the simplest contract with your team: anyone who tags an issue `fermata` puts it in front of you. A view hands the rule to Linear, so editing the view changes what arrives without touching Fermata.

## The live preview

As soon as the rule is complete, the sheet runs it against the tracker and shows what it matches right now: "Matches 12 issues right now", the first three of them, and "and 9 more". A rule that matches nothing reads "Matches no issues right now"; one that matches a huge set reads "Matches more than 2,000 issues". If the tracker rate-limits the check, the sheet says so and asks you to change the rule in a moment to check again.

**Add stream** stays disabled until one preview has worked ("Add stream unlocks once the preview has shown what this rule matches"). You always see what a rule catches before it starts catching.

### Only new, or bring these in

Under the preview, two choices decide what happens to the issues that already match:

* **Only new from now on** (the default). The current matches are the baseline. Only issues that start matching after you add the Stream become Tracks.
* **Also bring in these 12 to review.** The issues the preview found arrive as Tracks right away, and only those: the exact list you saw, not whatever matches by the time the first check runs. It is offered only when the preview found a complete, non-empty list.

## Approve into

"Approve into" (**Manual**, **Auto**, or **Loop**, Manual by default) is the [lane](https://docs.fermata.run/control/lanes.md) a Track from this Stream starts on when you approve it. It only pre-fills the review: you can change the lane on each Track before you approve, and nothing runs until you do.

## Comments the agent reads

"Comments the agent reads" decides how much of the issue's thread goes to the agent along with its description:

* **All**: every comment.
* **Team**: only comments from your team. On Linear that is workspace members, not guests or integrations; on GitHub it is the repository's owners, members, and collaborators. Use this when outsiders can comment on your issues; a stranger's comment then never reaches an agent.
* **None**: the description only.

When a Track matches more than one Stream, the review uses the strictest of their settings.

The footer repeats the rule the whole feature rests on: "Nothing an issue says reaches an agent until you approve its track. Fermata checks about once a minute while it's open."

## Manage your streams

Each Stream is a row under "Streams into" the project. It reads the rule ("Label **fermata** in team ENG", "Assigned to me, in Todo", "Search **label:bug is:open**") over a line with the account, the lane, the comments setting, and when it was last checked: "Linear · Acme · Manual · all comments · checked 40s ago". A dot shows its health.

* **The switch** pauses and resumes the Stream. A paused Stream is not checked, and its row says "paused".
* **Delete Stream…** confirms with "Delete this stream?". The Stream stops bringing issues in; pieces already started from its issues keep their links.
* **"N declined"**, at the bottom of the card, opens the issues you declined in this project, each with **Restore**. See [review and approve](https://docs.fermata.run/streams/review-and-approve.md#decline-and-restore).

Next: [how Tracks arrive](https://docs.fermata.run/streams/tracks.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.