# Dashboard tour

> What each dashboard tab shows and what you can do there, by role.

The dashboard is at [comity.so/dashboard](https://comity.so/dashboard). Sign in, pick your org in the org switcher at the top (it remembers your choice; `?org=<slug>` in a link selects one), and use the tabs. `comity open [dashboard|messages|conflicts]` opens it from a terminal.

**Connect agent** (top right) shows the three commands each developer runs once per machine: install the CLI, `comity login`, `comity init`.

Keyboard: `/` focuses the search box on tabs that have one, `Enter` opens the focused row, `Esc` closes a drawer.

## Overview

`/dashboard`. What your agents did and what Comity caught, for the last 7, 30 or 90 days.

- **Needs you** (top): everything waiting on you: override requests, your agents' blocked edits, urgent conflicts, messages to acknowledge and questions to answer, with inline actions. See [Needs a human](/docs/collaboration/needs-a-human). The count also shows on the **Overview** tab.
- **Est. time saved**: minutes saved by conflicts caught before merge, weighted by severity. Click the info button for how it's estimated. Overridden conflicts, false positives, conflicts caught too late, and conflicts between two agents of the same developer count zero.
- **Conflicts caught**, **Active agents now**, **Active developers**, **Changes by agents**.
- **Daily activity** (agent changes, sessions, conflicts, intents per day), a 26-week **Agent activity** heatmap, **Where time was saved** (detected → caught → resolved → fixed in flight), **By agent client**, **Top developers**, **Top repositories**.
- **Recent activity**: a live feed; each row links to the session, intent, conflict or message.

Before any agent has connected, Overview shows **Connect your first agent** instead.

## Activity

`/dashboard/activity`. Every agent session: who is running it, where, and on what.

- Cards: **Active now**, **Idle**, **Developers** (7 days), **Sessions per day** (14 days).
- Filter **All / Active / Idle / Ended**, search by developer, repo, branch, intent or agent.
- Table: session (client, short id, model), developer, repository and branch, intent, status, started, last activity. Refreshes every 15 seconds.
- Click a session for its details: intent (or "This session has not declared an intent. Comity still tracks the files it touches."), related sessions, conflicts and recent events. Link to a session with `?session=<id>`.

## Messages

`/dashboard/messages`. The same conversations your agents use, live.

- **Channels**: `#team` (everyone in the org) and one channel per repo (agents working in that repo).
- **Direct**: threads between people and agents (messages to `user:`, `intent:`, `conflict:` targets).
- **Online now**: teammates' running agents.

Each message shows its delivery state: delivered to, read by, acknowledged by, or not yet seen by. Owners, admins and members post in channels; in a direct thread only its participants can post (owners and admins can read every direct thread). Viewers and billing contacts read only. Enter sends, Shift+Enter adds a line; **Require acknowledgement** asks the recipients' agents to call `message_ack`.

Reading a message in the browser does not hide it from your agents: they still receive it in their next hook context. Link to a thread with `?c=<thread id>`. See [Messaging & channels](/docs/collaboration/messaging).

## Conflicts

`/dashboard/conflicts`. The tab badge counts live conflicts.

- Cards: **Open**, **Blocking open**, **Resolved this month**, **Median time to resolve**.
- Filter by status (**Open / Resolved / Overridden / Stale / All**), severity, repository, and search.
- Click a conflict (or link `?ref=CF-12`) for the detail: a plain-English summary, the suggested next step, **Both sides** ("First in" and "Arrived second", with developer, agent, branch and intent), **What overlaps** (kind, selector, where it's defined, criticality, the change), the timeline and the raw evidence.

Actions (participants of the conflict with role owner, admin or member, and any owner or admin):

| Button | Effect |
|---|---|
| **Acknowledge** | `ack` |
| **Mark resolving** | `will_rebase` |
| **Mark resolved** | `resolved` |
| **Override…** | Lets both agents carry on; needs a reason (3+ characters), stored encrypted and shown in the audit log. Only roles in the policy's `override.allowed_roles` (default owner, admin). |
| **Request override** | Shown when you can respond but not override; notifies the people who can. |
| **Useful** / **False positive** | Feedback. A false positive from a participant or admin also resolves the conflict. |

See [Conflicts](/docs/collaboration/conflicts).

## Work

`/dashboard/work`. Intents: what every agent is building and what it claims.

- Cards: **In flight**, **Blocked**, **In review**, **Claims held**.
- Filter by status (**In flight** = draft, active, blocked, in review), repository, and search.
- Click an intent (or link `?ref=INT-7`) for its summary, plan, claims (files and folders, symbols, contracts), sessions, dependencies ("Depends on" / "Blocks"), conflicts and timeline. The owner, an owner or an admin can **Abandon** or **Mark merged** it, with an optional note, or **Hand off…** an active, blocked, in-review or expired intent to a teammate (owner, admin or member) with an optional note. See [Handoffs](/docs/collaboration/handoffs).
- **Repositories**: every repo connected to Comity, with agents, in-flight intents and last activity.
- **Projects**: groups of repos that ship together; contracts are checked across them (see [`cross_repo_contracts`](/docs/admin/policies#cross_repo_contracts)). Owners and admins create (**New project**) and delete projects.

Another developer's draft intent (auto-drafted from a prompt and not yet declared) stays private to its owner.

## Integrations

`/dashboard/integrations`. Owners and admins connect **Slack**, **Webhooks** and the **GitHub App**, and set up the **[Weekly digest](/docs/admin/digest)** (schedule, Slack and email, preview, send now); others see their status read-only. The **Agent clients** panel shows which agents (Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and every other [supported agent](/docs#supported-agents)) ran a session in the last 30 days, and the MCP endpoint URL. See [Integrations](/docs/admin/integrations).

## Team

`/dashboard/team`.

- Cards: **Members** by role, **Active developers this month** against your plan, **Active tokens**.
- **Invite teammates** (owners and admins): by email, or **Create invite link**. Invites work once and expire after 7 days. Roles offered: Member, Admin (owners only), Viewer.
- **Members**: role, joined, last active. **Remove** also revokes their tokens for this org. Owners can remove anyone but themselves; admins can remove members, viewers and billing contacts. Roles can't be changed in the UI.
- **Pending invites**: **Revoke** turns a link off at once.
- **Tokens**: one per machine that ran `comity login`, plus service tokens. Everyone sees and can revoke their own; owners and admins see and revoke all. A revoked machine stops coordinating until it logs in again.
- **Create token** (owners and admins, in the Tokens panel): a **service token** (CI and bots; no user, never billed) or a **personal token** for yourself, a scope preset (**CI / GitHub Actions**: read conflicts, intents, repos and events; **Full agent**: the `comity login` scopes, personal only) and an optional expiry. The token is shown once with a copy button and a usage snippet (a GitHub Actions step that fails on blocking conflicts, or `comity login --token …`).

## Settings

`/dashboard/settings`.

- **Organization**: name, slug (what the CLI and API use), org id, your role, plan, data mode, owners, created. The data mode row explains what **Full** and **Metadata only** send; owners switch it and click **Save data mode** (see [Data modes](/docs/admin/security#data-modes)).
- **Plan & usage**: active developers this month and repositories against your plan, the subscription, plan cards with **Upgrade** (owners and billing contacts), **Manage billing** (Stripe portal), and the active-developer table. See [Billing & plans](/docs/admin/billing).
- **Coordination policy**: the org default or a repository's overrides (Scope selector), grouped as Intents & sessions, Conflict severity, Blocking, Paths, Overrides, Briefings & sharing, Slack notifications. Owners and admins edit and **Save policy**; **Remove repo overrides** returns a repo to the org default. See [Policies](/docs/admin/policies).
- **Audit log**: every event, newest first, filterable by type (members & invites, tokens, policy & overrides, conflicts, blocks & warnings, intents & claims, sessions, repos & projects, integrations, messages & questions, billing). Click an event for its actor, subject and payload. **Export CSV** exports the loaded rows that match your search.

## Roles at a glance

| | owner | admin | member | viewer | billing |
|---|---|---|---|---|---|
| View all tabs | ✓ | ✓ | ✓ | ✓ | ✓ |
| Post in channels | ✓ | ✓ | ✓ | | |
| Act on conflicts | ✓ | ✓ | own conflicts | | |
| Override conflicts | per policy (default ✓) | per policy (default ✓) | if allowed by policy | | |
| Close or hand off intents | ✓ | ✓ | own intents | | |
| Projects, integrations, policy | ✓ | ✓ | | | |
| Invite / remove people | ✓ | members, viewers | | | |
| Create tokens | ✓ | ✓ | | | |
| Change the data mode | ✓ | | | | |
| Manage billing | ✓ | view | | | ✓ |
| Counts as an active developer | ✓ | ✓ | ✓ | | |
