diff --git a/docs-mintlify/guides/apps/emails/overview.mdx b/docs-mintlify/guides/apps/emails/overview.mdx
index 497c2bad9..3db2cc778 100644
--- a/docs-mintlify/guides/apps/emails/overview.mdx
+++ b/docs-mintlify/guides/apps/emails/overview.mdx
@@ -21,11 +21,6 @@ Every email - whether it comes from a built-in auth flow, your server code, a dr
You can monitor every email's status in the dashboard under **Emails → Sent**.
-## Enabling the Emails app
-
-Like every Hexclave app, Emails has to be enabled before its dashboard tabs show up in your project. Open the **Apps** picker in the dashboard sidebar and toggle on **Emails**.
-
-If a feature in the docs assumes the Emails app is enabled and you don't see the corresponding UI, this is the first thing to check.
## Email types
diff --git a/docs-mintlify/guides/dashboard-references/analytics/queries.mdx b/docs-mintlify/guides/dashboard-references/analytics/queries.mdx
index 553467b95..0759f6249 100644
--- a/docs-mintlify/guides/dashboard-references/analytics/queries.mdx
+++ b/docs-mintlify/guides/dashboard-references/analytics/queries.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Queries"
-description: "Queries in the Analytics app"
+description: "Saved ClickHouse queries and SQL editor."
sidebarTitle: "Queries"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Sidebar
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Folder tree of saved queries (`config` analytics query folders). Create/rename/delete folders and queries; drag-free hierarchy with expand/collapse.
+
+## Editor
+
+SQL textarea, **Run** executes against ClickHouse, results in `VirtualizedFlatTable`. States: empty prompt, loading, no rows, error display. **Save** persists SQL into the selected folder; **Save as** creates a new entry.
+
+Row click opens `RowDetailDialog` for JSON inspection. `AnalyticsEventLimitBanner` at top when limits apply.
diff --git a/docs-mintlify/guides/dashboard-references/analytics/replays.mdx b/docs-mintlify/guides/dashboard-references/analytics/replays.mdx
index e1687fa02..b4e8112f9 100644
--- a/docs-mintlify/guides/dashboard-references/analytics/replays.mdx
+++ b/docs-mintlify/guides/dashboard-references/analytics/replays.mdx
@@ -1,12 +1,22 @@
---
hidden: true
title: "Replays"
-description: "Replays in the Analytics app"
+description: "Watch rrweb session recordings tied to users and teams."
sidebarTitle: "Replays"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Layout
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Split view: session list (left) + player (right). Standalone `/session-replays/[id]` deep-links one replay with back link.
+
+## Session list
+
+Infinite scroll (`PAGE_SIZE` 50), filters for user, team, duration, last active, click count. Each row shows user, duration, event/chunk counts, relative time.
+
+## Player
+
+rrweb replayer with play/pause, speed, skip inactive, timeline scrubber, multi-tab streams, and event inspector. Settings persist in `localStorage`.
+
+Embedded mode hides chrome when opened from a user profile. `SessionReplayLimitBanner` when replay quota applies.
diff --git a/docs-mintlify/guides/dashboard-references/analytics/tables.mdx b/docs-mintlify/guides/dashboard-references/analytics/tables.mdx
index 3c9fc823a..930be1ac7 100644
--- a/docs-mintlify/guides/dashboard-references/analytics/tables.mdx
+++ b/docs-mintlify/guides/dashboard-references/analytics/tables.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Tables"
-description: "Tables in the Analytics app"
+description: "Browse ClickHouse analytics tables with optional AI SQL."
sidebarTitle: "Tables"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Sidebar
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Fixed table list (desktop): Events, Users, Contact Channels, Teams, Team Member Profiles, Team Permissions, Team Invitations, Email Outboxes, Project Permissions, Notification Preferences, Refresh Tokens, Connected Accounts. Link to **Queries** for ad-hoc SQL.
+
+## Table view
+
+Per table: `QueryDataGrid` runs the default `SELECT * FROM default.
` with pagination, quick search, sort, export, and refresh. **AI query bar** can replace the query with a natural-language-generated ClickHouse statement (one-shot mode disables default sort/search).
+
+`AnalyticsEventLimitBanner` warns when event ingestion limits apply.
diff --git a/docs-mintlify/guides/dashboard-references/api-keys/api-keys.mdx b/docs-mintlify/guides/dashboard-references/api-keys/api-keys.mdx
index be91310be..244976226 100644
--- a/docs-mintlify/guides/dashboard-references/api-keys/api-keys.mdx
+++ b/docs-mintlify/guides/dashboard-references/api-keys/api-keys.mdx
@@ -1,25 +1,29 @@
---
hidden: true
title: "API Keys"
-description: "Configure whether users and teams can create their own API keys."
+description: "Configure whether end users and teams may create their own API keys."
sidebarTitle: "API Keys"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-The **API Keys** app controls whether your end users may create API keys scoped to their own account or to teams they belong to.
+## Not project keys
-## About this page
+This page does **not** manage Hexclave **project keys** (publishable client key / secret server key for calling the Hexclave API). Use **Project Settings → Project Keys** for that.
-This page is **not** where you manage Hexclave **project keys** (publishable client keys and secret server keys for calling the Stack API). Use **Project Keys** in project settings for that.
+## Info alert
-The info alert at the top links to the public [API Keys guide](https://docs.hexclave.com/docs/apps/api-keys) for SDK integration details.
+Explains the end-user API Keys product and links to the public [API Keys guide](https://docs.hexclave.com/docs/apps/api-keys) for SDK integration (`createApiKey`, validation, UI components).
-## API Key Settings
+## API Key Settings card
-Two toggles sit in a deferred-save grid (edit, then **Save** or **Discard**):
+Glassmorphic card with a **deferred-save** editable grid — toggle switches, then **Save** or **Discard** (only changed rows highlight).
-- **User API Keys** — sets `apiKeys.enabled.user`. When enabled, users can create API keys for their accounts and the user-api-keys backend routes are available.
-- **Team API Keys** — sets `apiKeys.enabled.team`. When enabled, users can create API keys for teams they belong to and the team-api-keys backend routes are available.
+| Toggle | Config | Effect |
+| --- | --- | --- |
+| **User API Keys** | `apiKeys.enabled.user` | Users can create keys for their account; enables user-api-keys routes; shows API Keys tab in `` |
+| **Team API Keys** | `apiKeys.enabled.team` | Users with `$manage_api_keys` can create team keys; enables team-api-keys routes; shows API Keys section on team settings |
-Both can be on at the same time. Turning one off does not delete existing keys; it prevents new key creation through those scopes.
+Both can be enabled together. Disabling a toggle does **not** revoke existing keys — it blocks new creation through that scope.
+
+Tooltips on each row summarize backend route and UI behavior.
diff --git a/docs-mintlify/guides/dashboard-references/authentication/auth-methods.mdx b/docs-mintlify/guides/dashboard-references/authentication/auth-methods.mdx
index d5df7bc6a..0dda1e652 100644
--- a/docs-mintlify/guides/dashboard-references/authentication/auth-methods.mdx
+++ b/docs-mintlify/guides/dashboard-references/authentication/auth-methods.mdx
@@ -1,12 +1,39 @@
---
hidden: true
title: "Auth Methods"
-description: "Auth Methods in the Authentication app"
+description: "Configure sign-in methods, OAuth SSO, sign-up, and account deletion."
sidebarTitle: "Auth Methods"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+Four stacked configuration areas. Most cards use **Save** / **Discard** after local edits.
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+## Sign-in methods + SSO (left card, wide)
+
+**Sign-in methods** toggles (`auth.password.allowSignIn`, `auth.otp.allowSignIn`, `auth.passkey.allowSignIn`):
+
+- Email/password authentication
+- Magic link (Email OTP)
+- Passkey
+
+**SSO Providers** list — one row per enabled provider (icon, name). **Shared keys** badge (orange) = dev credentials; replace before production. Row **⋮** menu: **Configure** (client ID/secret, callback URL), **Turn off**.
+
+- **Add SSO providers** — searchable dialog **Add New Auth Method**; pick providers to enable/configure
+- Empty state alert when none enabled
+
+## Live preview (right card, large screens)
+
+Browser-frame mock of the hosted **sign-in** page reflecting current toggles and enabled providers (non-interactive).
+
+## Sign-up card
+
+- **Allow new user sign-ups** (`auth.allowSignUp`) — confirm dialogs when enabling/disabling
+- **Require email verification** (`onboarding.requireEmailVerification`) — may preview affected users before enable (same as Onboarding app)
+- **Same-email social login policy** dropdown (`auth.oauth.accountMergeStrategy`): Link accounts / Create new account / Block sign-up
+
+## User deletion card
+
+- **Allow users to delete their own accounts on the client-side** (`users.allowClientUserDeletion`) — adds delete control to account settings
+
+Production hardening: **Launch Checklist** for domains, custom OAuth keys, email. Guide: [Auth providers](https://docs.hexclave.com/docs/apps/authentication/auth-providers).
diff --git a/docs-mintlify/guides/dashboard-references/authentication/sign-up-rules.mdx b/docs-mintlify/guides/dashboard-references/authentication/sign-up-rules.mdx
index b01be12a8..51b556d4d 100644
--- a/docs-mintlify/guides/dashboard-references/authentication/sign-up-rules.mdx
+++ b/docs-mintlify/guides/dashboard-references/authentication/sign-up-rules.mdx
@@ -1,12 +1,30 @@
---
hidden: true
title: "Sign-up Rules"
-description: "Sign-up Rules in the Authentication app"
+description: "Fraud-protection sign-up rules (CEL conditions, ordered evaluation)."
sidebarTitle: "Sign-up Rules"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Rule list
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Rules stored in `auth.signUpRules`, sorted by **priority** (top = first match). Drag-and-drop reorder with **Save order** / **Discard** when `pendingOrder` is set. Each row: enable toggle, action badge (Allow / Reject / Restrict / Log), sparkline + trigger counts, menu **Edit** / **Delete**.
+
+## Default outcome
+
+**If no rules match** → configurable **Allow** or **Reject** (`auth.signUpRulesDefaultAction`).
+
+## Rule editor (inline)
+
+Three steps: name, **When** (visual CEL condition builder), **Then** (action + message). Conditions can reference email domain, country, auth method, OAuth provider, Turnstile, risk scores.
+
+## Trigger history
+
+Per-rule dialog queries ClickHouse `$sign-up-rule-trigger` events (paginated).
+
+## Test rules
+
+**Test rules** card simulates a sign-up payload against current rules without affecting production (email, auth method, overrides for country/Turnstile/risk).
+
+Also available as the **Fraud Protection** sub-app (same page, `sign-up-rules` route).
diff --git a/docs-mintlify/guides/dashboard-references/catalyst/catalyst.mdx b/docs-mintlify/guides/dashboard-references/catalyst/catalyst.mdx
index 5482895ac..7a8b4fab2 100644
--- a/docs-mintlify/guides/dashboard-references/catalyst/catalyst.mdx
+++ b/docs-mintlify/guides/dashboard-references/catalyst/catalyst.mdx
@@ -1,12 +1,14 @@
---
hidden: true
title: "Catalyst"
-description: "Catalyst in the Catalyst app"
+description: "Hexclave Catalyst — AI-assisted project setup (app store entry)."
sidebarTitle: "Catalyst"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Dashboard entry
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+**Catalyst** is listed in the app store. Enabling it routes operators to Catalyst-powered onboarding flows (experimental). There is no separate project-scoped configuration screen in the dashboard today.
+
+Use the app store card to enable/disable the app for the project (`apps.installed.catalyst`).
diff --git a/docs-mintlify/guides/dashboard-references/convex/convex-integration.mdx b/docs-mintlify/guides/dashboard-references/convex/convex-integration.mdx
index 82587388d..20d13006c 100644
--- a/docs-mintlify/guides/dashboard-references/convex/convex-integration.mdx
+++ b/docs-mintlify/guides/dashboard-references/convex/convex-integration.mdx
@@ -1,12 +1,16 @@
---
hidden: true
title: "Convex Integration"
-description: "Convex Integration in the Convex Integration app"
+description: "Hexclave + Convex integration (dashboard entry redirects to docs)."
sidebarTitle: "Convex Integration"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Behavior
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Opening **Convex Integration** in the project sidebar immediately redirects to the public [Convex integration guide](https://docs.hexclave.com/guides/integrations/convex/overview). There is no in-dashboard configuration UI on this route.
+
+## Setup (off-dashboard)
+
+Follow the linked docs to install the Convex component, wire auth, and sync users/teams. Enable the **Convex** app in the app store so the sidebar entry stays available.
diff --git a/docs-mintlify/guides/dashboard-references/data-vault/data-vault.mdx b/docs-mintlify/guides/dashboard-references/data-vault/data-vault.mdx
index 042c08771..cf975ee5a 100644
--- a/docs-mintlify/guides/dashboard-references/data-vault/data-vault.mdx
+++ b/docs-mintlify/guides/dashboard-references/data-vault/data-vault.mdx
@@ -1,12 +1,37 @@
---
hidden: true
title: "Data Vault"
-description: "Data Vault in the Data Vault app"
+description: "List and create Data Vault stores."
sidebarTitle: "Data Vault"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+Encrypted key-value namespaces for secrets your app stores via the SDK. Keys are hashed — you cannot list keys, only get/set by known key.
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+## Header
+
+- **Create Store** (page action) — same dialog as empty state CTA
+
+## Empty state
+
+When no stores: icon, copy, **Create Your First Store** button.
+
+## Store list
+
+Each **DesignListItemRow**: store ID (title), display name (subtitle). Click row → store detail (`/projects/…/data-vault/stores/[storeId]`).
+
+## Create Store dialog
+
+- **Store ID** (required) — sanitized live; immutable after create; `dataVault.stores.` in config
+- **Display Name** (optional) — defaults to `Store ` if blank
+- Validation alerts for invalid ID format or duplicate ID
+
+## Store detail page (separate route)
+
+- **Store ID** with copy button
+- **Display Name** — deferred save grid
+- **Delete Store** — must type store ID to confirm; irreversible
+- Info alert + code sample for `getDataVaultStore`, `getValue` / `setValue` with `STACK_DATA_VAULT_SECRET` / `HEXCLAVE_DATA_VAULT_SECRET`
+
+[Data Vault](https://docs.hexclave.com/docs/apps/data-vault)
diff --git a/docs-mintlify/guides/dashboard-references/email-api/email-api.mdx b/docs-mintlify/guides/dashboard-references/email-api/email-api.mdx
index b4ef76cfe..7605f0490 100644
--- a/docs-mintlify/guides/dashboard-references/email-api/email-api.mdx
+++ b/docs-mintlify/guides/dashboard-references/email-api/email-api.mdx
@@ -1,12 +1,20 @@
---
hidden: true
title: "Email API"
-description: "Email API in the Email API app"
+description: "Programmatic email sending via the Hexclave server SDK."
sidebarTitle: "Email API"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Dashboard entry
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+The **Email API** app documents how to send transactional email from server code using templates and themes configured in the **Emails** app. The sidebar entry points at the Email API overview; delivery logs live under **Emails → Sent**.
+
+## Typical workflow
+
+1. Configure SMTP or managed delivery in **Emails → Email Settings**
+2. Author templates in **Emails → Templates** (and themes in Email Settings)
+3. Call the Email API from your backend with the secret server key
+
+Public guide: [Email API](https://docs.hexclave.com/docs/apps/email-api).
diff --git a/docs-mintlify/guides/dashboard-references/emails/drafts.mdx b/docs-mintlify/guides/dashboard-references/emails/drafts.mdx
index 692975e13..2b24a61dd 100644
--- a/docs-mintlify/guides/dashboard-references/emails/drafts.mdx
+++ b/docs-mintlify/guides/dashboard-references/emails/drafts.mdx
@@ -1,12 +1,19 @@
---
hidden: true
title: "Drafts"
-description: "Drafts in the Emails app"
+description: "Compose one-off emails and send them from the dashboard."
sidebarTitle: "Drafts"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Sections
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+- **Active drafts** — cards with open/delete; click opens `email-drafts/[draftId]` editor
+- **History** — drafts that were sent (`sentAt` set); opens editor in read-only **sent** stage
+
+## Header actions
+
+**New draft** dropdown: create blank draft or start from an existing **template** (blocked with warning dialog when using shared SMTP).
+
+Draft editor supports HTML preview, recipients, schedule/send, and duplicate-from-template flows on the child route.
diff --git a/docs-mintlify/guides/dashboard-references/emails/email-settings.mdx b/docs-mintlify/guides/dashboard-references/emails/email-settings.mdx
index 0d2bba0c4..e1548703a 100644
--- a/docs-mintlify/guides/dashboard-references/emails/email-settings.mdx
+++ b/docs-mintlify/guides/dashboard-references/emails/email-settings.mdx
@@ -1,12 +1,22 @@
---
hidden: true
title: "Email Settings"
-description: "Email Settings in the Emails app"
+description: "SMTP delivery, managed domains, and email themes."
sidebarTitle: "Email Settings"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Theme settings (`ThemeSettings`)
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Pick the active email theme, preview rendered HTML at miniature scale, and open **email-themes** to edit layouts. Themes apply to templates and programmatic sends.
+
+## Domain settings (`DomainSettings`)
+
+Configure delivery backend:
+
+- **Shared** / **Managed** / **Resend** / **Custom SMTP**
+- Managed domains: DNS records, verification status, sender local part
+- Test send, copy DNS records, download zone file helpers
+
+Saving updates `config.emails.server` via deferred dialogs and config push.
diff --git a/docs-mintlify/guides/dashboard-references/emails/sent.mdx b/docs-mintlify/guides/dashboard-references/emails/sent.mdx
index fcd123be9..f7226c234 100644
--- a/docs-mintlify/guides/dashboard-references/emails/sent.mdx
+++ b/docs-mintlify/guides/dashboard-references/emails/sent.mdx
@@ -1,12 +1,21 @@
---
hidden: true
title: "Sent"
-description: "Sent in the Emails app"
+description: "Outbox delivery log and sending-domain reputation."
sidebarTitle: "Sent"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Email log card
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+**DesignPillToggle** switches views:
+
+- **List all** — paginated `DataGrid` (recipient, subject, time, status badge). Row click opens **email-viewer/[emailId]**
+- **Group by template/draft** — `GroupedEmailTable` clusters sends by source template or draft
+
+Status labels cover scheduled, sent, failed, etc. (`email-status-utils`).
+
+## Domain reputation
+
+Right column (`DomainReputationCard`) shows DNS/SPF/DKIM health for configured sending domains.
diff --git a/docs-mintlify/guides/dashboard-references/emails/templates.mdx b/docs-mintlify/guides/dashboard-references/emails/templates.mdx
index 695baf49b..46ab286fa 100644
--- a/docs-mintlify/guides/dashboard-references/emails/templates.mdx
+++ b/docs-mintlify/guides/dashboard-references/emails/templates.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Templates"
-description: "Templates in the Emails app"
+description: "Transactional email templates (HTML + variables)."
sidebarTitle: "Templates"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Template list
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Card per template with display name. **Open** navigates to `email-templates/[templateId]` editor. Row menu: **Delete** (blocked with error if template is in use).
+
+## Warnings
+
+Orange alert when `emails.server` uses the **shared** SMTP server — custom templates require your own SMTP (**Email Settings**).
+
+**New Template** creates a template via dialog (requires non-shared SMTP).
diff --git a/docs-mintlify/guides/dashboard-references/launch-checklist/launch-checklist.mdx b/docs-mintlify/guides/dashboard-references/launch-checklist/launch-checklist.mdx
index 0add05adc..58f31209f 100644
--- a/docs-mintlify/guides/dashboard-references/launch-checklist/launch-checklist.mdx
+++ b/docs-mintlify/guides/dashboard-references/launch-checklist/launch-checklist.mdx
@@ -1,12 +1,44 @@
---
hidden: true
title: "Launch Checklist"
-description: "Launch Checklist in the Launch Checklist app"
+description: "Pre-launch checklist before enabling production mode."
sidebarTitle: "Launch Checklist"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Progress card (top)
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+- Title shows `N/M Checks Completed` or **Everything is ready to launch.**
+- Progress bar (animated) across all sub-checks
+- **Up next** + rainbow **Go to {section}** button when work remains (jumps to that section’s primary CTA)
+- When all checks pass, message to enable production mode below
+
+Incomplete task sections are sorted **above** completed ones. Only one section expanded at a time (auto-opens the “up next” section).
+
+## Task sections (expandable cards)
+
+Each card: title, subtitle, checklist rows (green check / empty circle), footer CTA, optional extra content. Click header to expand/collapse.
+
+### 1. Domains & callbacks → **Open domain settings** (Domains)
+
+- Production domain saved (shows up to three `InlineCode` domains)
+- **Localhost callbacks disabled** (`allowLocalhost` off)
+
+### 2. OAuth providers → **Configure providers** (Auth Methods)
+
+- **Custom client IDs and secrets** — no providers on shared dev keys (orange badges list offenders)
+- Expand **View guides**: provider tabs (Google, GitHub, …), external docs link, **Callback URL** `https://api.hexclave.com/api/v1/auth/oauth/callback/{provider}`
+
+### 3. Email server → **Configure email server** (Emails)
+
+- **Custom SMTP or Resend in use** (not shared `sent-with-hexclave` sender)
+- Expand **View steps**: verify domain, switch SMTP/Resend, send test email
+
+### 4. Production mode
+
+- **Automated checks passing** — lists `productionModeErrors` with **open setting** links if blocked
+- **Production mode enabled** — inline **Enable production mode** switch (disabled until checks pass); confetti when turned on
+- Footer **Open project settings** / **Review settings**
+
+Enable production mode only after domains, OAuth, and email sections are green. See [Launch checklist](https://docs.hexclave.com/docs/apps/launch-checklist).
diff --git a/docs-mintlify/guides/dashboard-references/neon/neon-integration.mdx b/docs-mintlify/guides/dashboard-references/neon/neon-integration.mdx
index 8668772ea..12b6abd8e 100644
--- a/docs-mintlify/guides/dashboard-references/neon/neon-integration.mdx
+++ b/docs-mintlify/guides/dashboard-references/neon/neon-integration.mdx
@@ -1,12 +1,23 @@
---
hidden: true
title: "Neon Integration"
-description: "Neon Integration in the Neon Integration app"
+description: "Connect a Neon Postgres project to Hexclave (OAuth + API key provisioning)."
sidebarTitle: "Neon Integration"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Dashboard entry
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Enabling the **Neon** app in the app store opens the Neon OAuth flow. After authorization, Hexclave creates a project API key scoped to your selected Stack project and links it to the Neon database.
+
+## In-product flow
+
+- **OAuth confirm** (`/integrations/neon/confirm`) — pick or create the Hexclave project to link
+- **Transfer confirm** (`/integrations/neon/projects/transfer/confirm`) — approve moving an existing Neon-linked project
+
+## Operator notes
+
+The integration grants Neon read/write access to users, teams, and permissions for the linked project. Revoke keys under **Project Settings → Project Keys** if you disconnect Neon.
+
+Public guide: [Neon integration](https://docs.hexclave.com/guides/integrations/neon/overview).
diff --git a/docs-mintlify/guides/dashboard-references/onboarding/onboarding.mdx b/docs-mintlify/guides/dashboard-references/onboarding/onboarding.mdx
index 5690b3c0e..9c9af56db 100644
--- a/docs-mintlify/guides/dashboard-references/onboarding/onboarding.mdx
+++ b/docs-mintlify/guides/dashboard-references/onboarding/onboarding.mdx
@@ -1,12 +1,30 @@
---
hidden: true
title: "Onboarding"
-description: "Onboarding in the Onboarding app"
+description: "Gate app access until users verify their email."
sidebarTitle: "Onboarding"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+Single-setting page for the **Onboarding** app (separate from Auth Methods, though Auth Methods also exposes the same config toggle).
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+## Require email verification
+
+Compact settings row:
+
+- Label **Require email verification**
+- Description: verified primary email required before users continue after sign-up
+- **Switch** — maps to `onboarding.requireEmailVerification` (immediate save, loading state on toggle)
+
+## Enabling (on → true)
+
+If existing unverified users would be affected, a confirmation dialog opens first:
+
+- Title **Enable email verification?**
+- Count + sample list of affected accounts (Unverified / Anonymous badges)
+- **Cancel** or **Enable** — then config updates
+
+Turning **off** applies immediately with no preview.
+
+Restricted users are filtered from normal API responses until they complete verification. Same field also appears under **Auth Methods → Sign-up** card.
diff --git a/docs-mintlify/guides/dashboard-references/payments/customers.mdx b/docs-mintlify/guides/dashboard-references/payments/customers.mdx
index 76e75795c..02fa0d273 100644
--- a/docs-mintlify/guides/dashboard-references/payments/customers.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/customers.mdx
@@ -1,12 +1,23 @@
---
hidden: true
title: "Customers"
-description: "Customers in the Payments app"
+description: "Grant products to users or teams and inspect entitlements."
sidebarTitle: "Customers"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Customer picker
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Toggle **User** vs **Team**, then search and select a customer. Until selected, grant actions are disabled.
+
+## Entitlements table
+
+`DataGrid` of active product grants for the selected customer: product, item/price, status, period end. Row actions can revoke or adjust grants (via config updates).
+
+## Actions
+
+- **Grant product** — pick product + item, optional trial/discount fields
+- **Add item** — shortcut to create a new price in config (`ItemDialog`)
+
+URL state tracks customer type and selection for shareable support links.
diff --git a/docs-mintlify/guides/dashboard-references/payments/payouts.mdx b/docs-mintlify/guides/dashboard-references/payments/payouts.mdx
index 5f1a290f9..27d5ee6cf 100644
--- a/docs-mintlify/guides/dashboard-references/payments/payouts.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/payouts.mdx
@@ -1,12 +1,14 @@
---
hidden: true
title: "Payouts"
-description: "Payouts in the Payments app"
+description: "Stripe Connect payouts for connected accounts."
sidebarTitle: "Payouts"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Availability
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Hidden in **development environments** and **preview deployments** (alert explains why). In production, renders Stripe **ConnectPayouts** inside `StripeConnectProvider` after Stripe is linked on **Settings**.
+
+Operators manage payout schedules and balances here; connect Stripe first under **Payments → Settings**.
diff --git a/docs-mintlify/guides/dashboard-references/payments/product-lines.mdx b/docs-mintlify/guides/dashboard-references/payments/product-lines.mdx
index 89b0716e3..21a25a4a7 100644
--- a/docs-mintlify/guides/dashboard-references/payments/product-lines.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/product-lines.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Product Lines"
-description: "Product Lines in the Payments app"
+description: "Group products into mutually exclusive product lines."
sidebarTitle: "Product Lines"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Empty state
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+If the project has no products or items yet, shows an onboarding slideshow ending with **Create Your First Product** (links to `payments/products/new`).
+
+## Product lines view
+
+When catalog exists, lists product lines from config. Each line is a set of products where a customer may hold at most one active product from that line. Create, rename, and assign products via `PageClientProductLinesView`.
+
+Configure lines before scaling the catalog — they enforce exclusivity at checkout and grant time.
diff --git a/docs-mintlify/guides/dashboard-references/payments/products-and-items.mdx b/docs-mintlify/guides/dashboard-references/payments/products-and-items.mdx
index 2f3c4a42d..d90cd0917 100644
--- a/docs-mintlify/guides/dashboard-references/payments/products-and-items.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/products-and-items.mdx
@@ -1,12 +1,25 @@
---
hidden: true
title: "Products & Items"
-description: "Products & Items in the Payments app"
+description: "Manage products, prices (items), and checkout URLs."
sidebarTitle: "Products & Items"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Layout
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Two-column list: **Products** (left) and **Items / prices** (right). Selecting a product filters its items.
+
+## Product actions
+
+- **Create product** — dialog (display name, customer type user/team, product line)
+- Row menu: **Edit**, **Copy checkout URL**, **Delete**
+- Row click opens product detail (`payments/products/[productId]`)
+
+## Item actions
+
+- **Create item** — price, billing interval, entitlements
+- **Edit** / **Delete** per item; checkout URL validation surfaces config errors inline
+
+Revenue sparklines may appear on product rows when analytics data exists.
diff --git a/docs-mintlify/guides/dashboard-references/payments/settings.mdx b/docs-mintlify/guides/dashboard-references/payments/settings.mdx
index 87bfb6fae..7fe1f66d2 100644
--- a/docs-mintlify/guides/dashboard-references/payments/settings.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/settings.mdx
@@ -1,12 +1,17 @@
---
hidden: true
title: "Settings"
-description: "Settings in the Payments app"
+description: "Stripe connection, test mode, payment methods, and checkout guardrails."
sidebarTitle: "Settings"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Sections (top to bottom)
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+- **Stripe connection** — link or view Connect account status (`StripeConnectionCheck`)
+- **Test mode** — toggle sandbox vs live charges (`TestModeToggle`)
+- **Payment methods** — enable/disable card and other methods (`PaymentMethods`)
+- **Checkout controls** — **Block new purchases** toggle (`payments.blockNewPurchases`); stops new checkouts while keeping existing subscriptions
+
+All toggles save to project config with optimistic UI on the block-purchases switch.
diff --git a/docs-mintlify/guides/dashboard-references/payments/transactions.mdx b/docs-mintlify/guides/dashboard-references/payments/transactions.mdx
index aba99825c..e68417c9c 100644
--- a/docs-mintlify/guides/dashboard-references/payments/transactions.mdx
+++ b/docs-mintlify/guides/dashboard-references/payments/transactions.mdx
@@ -1,12 +1,14 @@
---
hidden: true
title: "Transactions"
-description: "Transactions in the Payments app"
+description: "Browse payment and subscription transactions for this project."
sidebarTitle: "Transactions"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Transactions table
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Uses the shared `TransactionTable` component: paginated `DataGrid` of purchases, refunds, and subscription events with filters and row detail. Sort and search state sync to the URL.
+
+Use **Customers** to grant products; this page is read-only history for reconciliation and support.
diff --git a/docs-mintlify/guides/dashboard-references/rbac/project-permissions.mdx b/docs-mintlify/guides/dashboard-references/rbac/project-permissions.mdx
index 5c7dd0208..41b67a895 100644
--- a/docs-mintlify/guides/dashboard-references/rbac/project-permissions.mdx
+++ b/docs-mintlify/guides/dashboard-references/rbac/project-permissions.mdx
@@ -1,12 +1,23 @@
---
hidden: true
title: "Project Permissions"
-description: "Project Permissions in the RBAC app"
+description: "Define project-scoped permission IDs and compose them into roles."
sidebarTitle: "Project Permissions"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Header
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+**Create Permission** opens a dialog with **ID** (lowercase, numbers, `_`, `:`), **Description**, and **Contained permissions** (inherit other project permissions).
+
+## Permissions table (`DataGrid`)
+
+Paginated, searchable list of project permission definitions. Row actions:
+
+- **Edit** — update description and contained permissions (ID is read-only)
+- **Delete** — remove the permission definition
+
+Permission IDs map directly to `$permission_id` checks in the SDK (`user.hasPermission`, etc.).
+
+Public guide: [RBAC](https://docs.hexclave.com/docs/apps/rbac).
diff --git a/docs-mintlify/guides/dashboard-references/rbac/team-permissions.mdx b/docs-mintlify/guides/dashboard-references/rbac/team-permissions.mdx
index f24d913dd..7d9913abf 100644
--- a/docs-mintlify/guides/dashboard-references/rbac/team-permissions.mdx
+++ b/docs-mintlify/guides/dashboard-references/rbac/team-permissions.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Team Permissions"
-description: "Team Permissions in the RBAC app"
+description: "Define team-scoped permission IDs used in team membership checks."
sidebarTitle: "Team Permissions"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Header
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+**Create Permission** — same shape as project permissions: unique **ID**, **Description**, optional **Contained permissions** from existing team permissions.
+
+## Permissions table (`DataGrid`)
+
+Lists team permission definitions with search, pagination, **Edit**, and **Delete**. Team permission IDs are referenced in team settings defaults and in SDK team-scoped authorization.
+
+Pair with **Teams → Team Settings** for default creator/member grants.
diff --git a/docs-mintlify/guides/dashboard-references/support/conversations.mdx b/docs-mintlify/guides/dashboard-references/support/conversations.mdx
index 654d951ca..e27ed287f 100644
--- a/docs-mintlify/guides/dashboard-references/support/conversations.mdx
+++ b/docs-mintlify/guides/dashboard-references/support/conversations.mdx
@@ -1,12 +1,18 @@
---
hidden: true
title: "Conversations"
-description: "Conversations in the Support app"
+description: "Support inbox: threads, replies, internal notes, and SLA hints."
sidebarTitle: "Conversations"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Inbox (no thread selected)
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Search by subject/message/email, **status tabs** (All / Open / Pending / Closed), optional **userId** filter from URL. **New Conversation** picks a user and opens a thread.
+
+## Thread view
+
+Message timeline (customer vs team), composer for public replies, **internal notes** (team-only). Sidebar/sheet: assignee, priority, status, tags, SLA urgency badge, link to user profile.
+
+URL params: `conversationId` (or legacy `threadId`), `userId`. Refreshes via `listConversations` / `getConversation` API helpers.
diff --git a/docs-mintlify/guides/dashboard-references/teams/team-settings.mdx b/docs-mintlify/guides/dashboard-references/teams/team-settings.mdx
index 4afbf13f4..e120602f5 100644
--- a/docs-mintlify/guides/dashboard-references/teams/team-settings.mdx
+++ b/docs-mintlify/guides/dashboard-references/teams/team-settings.mdx
@@ -1,12 +1,23 @@
---
hidden: true
title: "Team Settings"
-description: "Team Settings in the Teams app"
+description: "Control team creation behavior and default RBAC grants."
sidebarTitle: "Team Settings"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Team Creation card
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Deferred-save editable grid (toggle → **Save** / **Discard**):
+
+| Toggle | Config | Effect |
+| --- | --- | --- |
+| **Client Team Creation** | `teams.allowClientTeamCreation` | Users can create teams from account settings / team switcher |
+| **Personal Team on Sign-up** | `teams.createPersonalTeamOnSignUp` | Auto-creates a personal team for each new user (not retroactive) |
+
+## Default permissions cards
+
+Two cards — **Team Creator** and **Team Member** — show badges for permissions in `rbac.defaultPermissions.teamCreator` / `teamMember`. **Edit** opens a checkbox dialog over the team permission graph (inheritance shown inline).
+
+Changes push to project config immediately on save.
diff --git a/docs-mintlify/guides/dashboard-references/teams/teams.mdx b/docs-mintlify/guides/dashboard-references/teams/teams.mdx
index 3241cff19..c6d82a964 100644
--- a/docs-mintlify/guides/dashboard-references/teams/teams.mdx
+++ b/docs-mintlify/guides/dashboard-references/teams/teams.mdx
@@ -1,12 +1,51 @@
---
hidden: true
title: "Teams"
-description: "Teams in the Teams app"
+description: "List, search, and manage teams for this project."
sidebarTitle: "Teams"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Header
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+- **Create Team** (top right) — opens a dialog with **Display Name** only; Hexclave assigns the team ID on create.
+
+## Info banner
+
+When the project has **no teams yet**, an alert may link to **project membership** invites (`/projects?team_settings=…`) — that is for inviting dashboard collaborators, not the customer teams in this table.
+
+## KPI cards (four)
+
+Sparkline metric cards above the table (from project analytics):
+
+- **New Active Teams** — recently active teams (new in the activity window)
+- **Daily Active Teams** (DAT)
+- **Returning Team Rate**
+- **Total Teams** — all-time count
+
+## Teams table (`DataGrid`)
+
+Paginated list (infinite scroll, 25 per page). Default sort: **Created At** descending. Toolbar **quick search** filters by team (server-side `listTeams` query). State syncs to URL (`teams` prefix).
+
+| Column | Notes |
+| --- | --- |
+| **ID** | Team UUID (monospace) |
+| **Display Name** | Editable via row actions |
+| **Created At** | Sortable |
+| **Actions** | Row menu (see below) |
+
+**Row click** navigates to the team detail page (`/projects/…/teams/[teamId]`).
+
+### Row action menu
+
+- **View Members** — same destination as row click
+- **Edit** — change display name (ID shown read-only in dialog)
+- **Create Checkout** — opens payments checkout dialog for this team (when Payments is in use)
+- **Delete** — destructive; requires typing that removal cannot be undone (members are removed from the team)
+
+## Team detail page (after row click)
+
+Separate route: edit display name inline, **Members** tab (invite by email, member table), **Metadata**, and sections for enabled apps (e.g. analytics, payments). Not rendered on this list page.
+
+Public integration guide: [Teams](https://docs.hexclave.com/docs/apps/teams).
diff --git a/docs-mintlify/guides/dashboard-references/tv-mode/tv-mode.mdx b/docs-mintlify/guides/dashboard-references/tv-mode/tv-mode.mdx
index d5b175421..27f38baea 100644
--- a/docs-mintlify/guides/dashboard-references/tv-mode/tv-mode.mdx
+++ b/docs-mintlify/guides/dashboard-references/tv-mode/tv-mode.mdx
@@ -1,12 +1,14 @@
---
hidden: true
title: "TV mode"
-description: "TV mode in the TV mode app"
+description: "Full-screen dashboard display for office TVs and status walls."
sidebarTitle: "TV mode"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Dashboard entry
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+**TV mode** is a navigable app with a dedicated route (`tv-mode`). It is intended for read-only, large-format views of project metrics and health — not day-to-day configuration.
+
+Enable the app from the app store, then open **TV mode** from the sidebar to launch the display UI.
diff --git a/docs-mintlify/guides/dashboard-references/vercel/setup.mdx b/docs-mintlify/guides/dashboard-references/vercel/setup.mdx
index 37d947fb1..1f4296604 100644
--- a/docs-mintlify/guides/dashboard-references/vercel/setup.mdx
+++ b/docs-mintlify/guides/dashboard-references/vercel/setup.mdx
@@ -1,12 +1,22 @@
---
hidden: true
title: "Setup"
-description: "Setup in the Vercel Integration app"
+description: "Step-by-step checklist to deploy Hexclave on Vercel."
sidebarTitle: "Setup"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+## Progress card
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+Accordion steps with manual checkboxes (stored in local UI state). Progress bar and confetti when all items are marked done.
+
+| Step | Tasks |
+| --- | --- |
+| **Project** | Confirm Hexclave project |
+| **Keys** | Generate publishable + secret keys (`createInternalApiKey`) |
+| **Env vars** | Copy `EnvKeys` snippet into Vercel |
+| **Deploy** | Trigger redeploy on preview + production |
+| **Verify** | Test `/handler/signup` on deployed URL |
+
+Keys display once — copy before navigating away. Requires **Vercel** app enabled.
diff --git a/docs-mintlify/guides/dashboard-references/webhooks/webhooks.mdx b/docs-mintlify/guides/dashboard-references/webhooks/webhooks.mdx
index 9936d2db6..347e80d38 100644
--- a/docs-mintlify/guides/dashboard-references/webhooks/webhooks.mdx
+++ b/docs-mintlify/guides/dashboard-references/webhooks/webhooks.mdx
@@ -1,12 +1,39 @@
---
hidden: true
title: "Webhooks"
-description: "Webhooks in the Webhooks app"
+description: "Manage Svix webhook endpoints for user and team events."
sidebarTitle: "Webhooks"
---
{/* This file is auto-generated by scripts/generate-dashboard-reference-docs.ts. Do not edit it manually; update the @dashboardReference JSDoc on the dashboard page component. */}
-No dashboard reference documentation is available for this page yet.
+Syncs user/team lifecycle events to your servers. Page subtitle explains purpose.
-To document this screen, add a `@dashboardReference` JSDoc block on the dashboard `page-client.tsx` for this route (see `api-keys-app/page-client.tsx` for an example).
+## Modes
+
+- **Preview deployments** — info alert only; webhooks unavailable
+- **AppPortal URL** — full embedded Svix UI (replaces inline grid)
+- **Default** — inline **Endpoints** card below (Svix React SDK)
+
+## Endpoints card
+
+Subtitle warns endpoints receive sensitive data — must be URLs you control.
+
+- **Add new endpoint** — dialog: URL (validated), optional description, HTTP warning for `http://`; on success offers **Test endpoint** or close
+- **DataGrid** (client-side list, quick search, URL state prefix `webhooks`)
+
+| Column | Notes |
+| --- | --- |
+| **Endpoint URL** | Destination |
+| **Description** | Optional label |
+| **Status** | Active / Disabled badge |
+| **Actions** | Row menu |
+
+### Row menu
+
+- **View Details** → `/projects/…/webhooks/[endpointId]` (secrets, delivery attempt history)
+- **Test** — sends sample test event; dialog shows payload preview and delivery result
+- **Edit** — update description only (URL fixed)
+- **Delete** — confirm removal from Svix
+
+Verify payloads server-side with your webhook secret — [Webhooks](https://docs.hexclave.com/docs/apps/webhooks).