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

# Web app

> Navigate the Arga dashboard to run validations, connect integrations, and manage your account

The Arga web app is available at [app.argalabs.com](https://app.argalabs.com). After signing in with GitHub or signing up with your email, you land in the validation workspace.

## Sidebar

Arga groups validation work into two sidebar sections:

| Section         | Pages                       | Use it for                                                         |
| --------------- | --------------------------- | ------------------------------------------------------------------ |
| **Previews**    | Sandboxes, PR Checks, Twins | Preview environments, GitHub checks, and standalone service twins  |
| **Test Runner** | Scenarios, Tests, Runs      | Reusable scenario data, saved browser tests, and live browser runs |

## Previews (`/validate`)

Previews are for creating or configuring environments before a test runs.

### Sandboxes

Use **Sandboxes** to deploy a repository branch into an isolated preview environment with digital twins. Choose the repository and branch, select the twins to provision, then open the generated preview URL for manual review or test execution.

### PR Checks

Use **PR Checks** to configure automatic validation for pull requests or branch pushes. Pick a repository, install the Arga GitHub App if prompted, choose the trigger mode, and save the configuration. Arga publishes results back to GitHub as the **Arga Validation** check.

### Twins

Use **Twins** to spin up service twins without deploying app code. Select services, optionally choose a scenario to seed the twins, then copy the generated URLs and environment variables into your local or staging app.

## Test Runner

### Scenarios (`/scenarios`)

Use **Scenarios** to manage reusable digital twin seed data. A scenario can define Slack channels, Stripe customers, GitHub repositories, Jira issues, and other service state that should exist before a run starts.

### Tests (`/tests`)

Use **Tests** to manage saved browser tests. The page is empty until you save a test from **Runs**. Once tests exist, the list behaves like Scenarios: open a test to edit its metadata, credentials, repository binding, CI toggle, parameters, and blocks.

### Runs (`/demo_runner`)

Use **Runs** to start a live browser test against a URL. Enter the target URL, describe the browser flow to test, and start the run. The UI shows:

* **Live browser** — the current browser frame while the run executes
* **Event stream** — real-time messages from the runner
* **Blocks** — generated navigation, click, type, assertion, wait, and ask-user steps
* **Controls** — edit blocks or parameters, rerun, or save the run as a reusable test

<Info>
  **Runs with twins:** Provision twins first, then deploy or start your app with its environment variables pointing at the twin URLs. The [wizard CLI](/features/twins-quickstart) handles this automatically. From the web UI, make sure your app is already running against provisioned twins, then enter that app URL in Runs.
</Info>

Recent runs and saved tests can be reopened from the Test Runner pages.

***

## Integrations (`/integrations`)

Connect external tools so Arga has richer context when planning and running tests.

### Available integrations

| Provider    | Auth method | What it provides                     |
| ----------- | ----------- | ------------------------------------ |
| **GitHub**  | OAuth       | PRs, issues, commits, code search    |
| **Jira**    | OAuth       | Issues, tickets, specs               |
| **Linear**  | OAuth       | Issues, project context, linked PRs  |
| **Slack**   | OAuth       | Messages and threads                 |
| **Discord** | OAuth       | Messages and channels                |
| **Notion**  | OAuth       | Pages, databases, and docs           |
| **PostHog** | API key     | Session recordings, error events     |
| **Sentry**  | API key     | Stack traces, error events, releases |
| **Grafana** | API key     | Metrics, dashboards, alerts          |

### Connecting a provider

Each provider appears as a card showing its connection status. Click **Connect** to authorize:

* **OAuth providers** (GitHub, Jira, Linear, Slack, Discord, Notion) redirect you to the provider's authorization screen.
* **API key providers** (PostHog, Sentry, Grafana) open a form where you paste your token and any required configuration (e.g. project ID, base URL).

You can disconnect or reconnect any provider at any time from this page.

***

## Ask (`/ask`)

A chat interface for investigating bugs, searching context, or asking questions about your validation runs.

Type a question in natural language and Arga searches your connected integrations (GitHub, Slack, Sentry, etc.) to find relevant context and synthesize an answer with citations. Ask can drill into Sentry event stack traces, query Prometheus metrics through Grafana, fetch PostHog session recordings, and pull Discord channel history — see [what Ask can do with each integration](/integrations#what-ask-can-do-with-each-integration) for the full list.

<Note>Ask may require a chat password if your workspace admin has enabled it. You'll see an unlock prompt if so.</Note>

***

## MCP setup (`/mcp`)

Configure your IDE to connect to Arga's MCP server for in-editor context search and validation.

The page shows:

1. **CLI install command** — run `arga mcp install` after `arga login` to auto-configure your IDE
2. **MCP config JSON** — the raw configuration with a `<YOUR_API_KEY>` placeholder
3. **IDE-specific instructions** for Cursor, Claude Code, and Codex

Replace the placeholder with an API key from **Settings → API Keys**. The recommended path is the CLI install, which writes the config to the correct location automatically.

***

## Settings (`/settings`)

### Profile

* Your GitHub username and avatar (from OAuth, read-only)
* Email address with verification status — click to verify or change your email

### Subscription

* Current plan badge (Free or Team)
* **Upgrade** button to start a Stripe checkout for the Team plan
* **Cancel** button to open the Stripe billing portal (for paid users)

### Usage

<Note>Visible on Free plan only.</Note>

The Usage section shows how many test runner runs you have used and how many remain in the current billing cycle. Limits reset on the 1st of each month.

### Team workspace

<Note>Visible on Team plan only.</Note>

Team workspaces let you collaborate with your organization on Arga. Workspaces are linked to a GitHub organization, and members must have a verified email on the same domain.

**Creating a workspace:**

1. Go to **Settings** and scroll to **Team workspace**
2. Select your GitHub organization from the dropdown (only orgs you belong to are shown)
3. Click **Create workspace** — Arga uses your verified email domain as the workspace domain

**Inviting teammates:**

* Click **Invite** and enter a teammate's email address
* The email domain must match your workspace domain (personal email providers like Gmail and Yahoo are blocked)
* Invitees receive an email with a join link that expires after 7 days
* You can revoke pending invitations at any time

**Managing members:**

* View all current members and pending invites from the workspace section
* Remove members individually — removed members are downgraded to the Free plan
* Members can also leave voluntarily via the **Leave workspace** option
* Workspace owners cannot leave; transfer ownership first if needed

When a teammate accepts an invite, they are automatically upgraded to the Team plan and gain access to all Team features.

### API keys

Create and manage API keys for the CLI and MCP integrations. You can create keys directly from this section or via `arga login` in the terminal.

* **Create key** button to generate a new API key — the full key is shown only once at creation, so copy it immediately
* Key name, masked preview, and status (Active / Revoked)
* Created and last-used timestamps
* **Revoke** button to invalidate a specific key without affecting others

### Log out

Clears your session and redirects to the login page.
