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

# Dashboard settings and repository configuration

> Manage repositories, notification preferences, and branch protection rules from the Opslane dashboard. Everything else runs automatically.

Opslane is designed to work with minimal configuration — once you connect a repo, the testing happens automatically on every PR. The dashboard at [app.opslane.com](https://app.opslane.com) gives you control over the things that do need your input: which repos are active, when you get notified, and how merge protection is enforced.

## Repository management

The **Repositories** section of your dashboard lists every GitHub repo you have granted Opslane access to. From here you can add new repos or remove ones you no longer want tested.

<Steps>
  <Step title="Add a repository">
    Click **Add repository** and select the repo from your GitHub account or organization. Opslane immediately starts watching that repo for new pull requests.
  </Step>

  <Step title="Remove a repository">
    Click the **...** menu next to any active repo and select **Remove**. Opslane stops processing new PRs on that repo. Historical results are preserved.
  </Step>
</Steps>

<Note>
  You must have admin access to a GitHub repo to connect it to Opslane. If a repo doesn't appear in the list, ask your GitHub organization owner to grant the Opslane GitHub App access.
</Note>

## Notification preferences

By default, Opslane posts a comment on every PR with the test result. You can also opt in to email or Slack notifications for specific events.

| Event                   | Default   | Configurable |
| ----------------------- | --------- | ------------ |
| PR comment with results | Always on | No           |
| Email on failure        | Off       | Yes          |
| Email on pass           | Off       | Yes          |
| Slack alert on failure  | Off       | Yes          |

To update your notification settings, go to **Settings → Notifications** in the dashboard and toggle the events you want alerts for. Slack notifications require connecting a Slack workspace first — click **Connect Slack** and follow the OAuth flow.

<Tip>
  If you only want to hear about failures, turn on **Email on failure** and leave the pass notification off. Most teams find this keeps the noise low while still surfacing regressions immediately.
</Tip>

## Branch protection integration

Opslane reports results as a GitHub status check named `opslane / browser-test`. You can require this check to pass before a PR can be merged by enabling branch protection rules in your GitHub repo settings.

<Steps>
  <Step title="Open branch protection settings">
    In your GitHub repo, go to **Settings → Branches → Branch protection rules** and click **Add rule** (or edit an existing rule for your default branch).
  </Step>

  <Step title="Require status checks to pass">
    Enable **Require status checks to pass before merging**, then search for and select `opslane / browser-test`.
  </Step>

  <Step title="Save the rule">
    Click **Save changes**. PRs that fail the Opslane check will now be blocked from merging until the issue is resolved or the run is re-triggered.
  </Step>
</Steps>

<Warning>
  If you require the `opslane / browser-test` check but a run hasn't completed yet (for example, on a very recently opened PR), GitHub will show the merge button as disabled until the result comes in. This is expected behavior.
</Warning>

## What you don't need to configure

Opslane handles the following automatically — no configuration required:

<CardGroup cols={2}>
  <Card title="Browser runs" icon="globe">
    Every PR triggers a real-browser run in an ephemeral sandbox. You don't choose what to test or when to run it.
  </Card>

  <Card title="Flow detection" icon="route">
    Opslane crawls your app and figures out which flows to verify. No test scripts, no selectors, no maintenance.
  </Card>

  <Card title="Sandbox lifecycle" icon="trash">
    Sandboxes spin up automatically and are destroyed after each run. Nothing persists between runs.
  </Card>

  <Card title="PR comments" icon="message-square">
    Results, screenshots, and video are posted as PR comments automatically. No webhooks to configure.
  </Card>
</CardGroup>
