SaaS Core Overview

End-to-end path from sign-in to /w/[slug]/… routes, with notes on what each screen is for. Jump to the linked docs when you need implementation detail.

User flow

1. Sign up / Sign in         -> /sign-up or /sign-in
2. (Optional) 2FA challenge  -> /two-factor
3. Create or select workspace -> /create-workspace or /select-workspace
4. Land in workspace          -> /w/[workspaceSlug]/dashboard

After authentication, users are redirected to /select-workspace. If they have only one workspace, the app can redirect them directly. Each workspace has its own set of routes described below.

Workspace routes

Dashboard -- /w/[slug]/dashboard

The landing page for a workspace. Shows KPI cards, a 30-day activity chart, an activity feed, and quick action buttons.

See Dashboard & Analytics for customization details.

Products -- /w/[slug]/products

A full-featured data management module with an advanced data table.

Key features:

  • Server-side pagination, sorting, and filtering
  • Faceted status filter with counts
  • Full-text search, column visibility, and row selection
  • Bulk actions: Delete, Archive, Export CSV
  • Soft delete with Trash tab
  • CSV import wizard
  • Tags, comments, file attachments, and custom fields
  • URL-driven state (shareable links)

Statuses: DRAFT (default) | ACTIVE | ARCHIVED

Permissions: OWNER, ADMIN, and MEMBER can create/edit/archive/soft-delete. VIEWER is read-only. Permanent delete is restricted to OWNER/ADMIN.

Click a product name to open the detail page at /w/[slug]/products/[productId] with full details, edit controls, tags, comments, attachments, and an activity feed.

See Products & Data Management for customization details.

Members -- /w/[slug]/members

Shows all workspace members with their roles and join date.

OWNER / ADMIN actions:

  • Invite new member by email with role assignment
  • Change a member's role
  • Remove a member
  • Revoke or resend pending invitations

All members see a "Leave workspace" panel. The last OWNER cannot leave until they transfer ownership.

See Workspaces & Teams for details on roles, invitations, and ownership transfer.

Billing -- /w/[slug]/billing

Stripe-powered subscription management (OWNER only). Shows current plan, status, renewal date, plan comparison cards, and billing history.

See Billing & Subscriptions for setup and customization.

Audit Log -- /w/[slug]/audit

Append-only log of every action in the workspace. Filterable by actor, action type, and date range. Accessible to OWNER and ADMIN.

See Dashboard & Analytics for details.

Settings -- /w/[slug]/settings

A comprehensive settings page (OWNER only) with these sections:

SectionDescription
ProfileUpdate your name and view email
AccountGDPR data export and account deletion
Two-Factor AuthEnable/disable TOTP-based 2FA
Login HistoryView recent sign-in attempts with IP/device
API KeysGenerate and manage API keys
NotificationsConfigure notification preferences
WebhooksManage outgoing webhook subscriptions
Incoming WebhooksView incoming webhook events
Workspace SettingsRename or delete the workspace
TagsCreate and manage workspace tags
Custom FieldsDefine custom field schemas
Scheduled ActionsCreate and manage scheduled tasks
SSO (Enterprise)Configure Single Sign-On
IP Allowlist (Enterprise)Restrict workspace access by IP
Transfer OwnershipTransfer OWNER role to an ADMIN

See Authentication & Security and Advanced Features for details.

Invitation flow

  1. OWNER/ADMIN sends invite -> row inserted in invitations with a secure random token and 7-day expiry
  2. Resend sends the invite email with a link to /invite/[token]
  3. Recipient clicks link -> if signed in, they're added immediately; if not, they sign up/in first
  4. accepted_at is stamped on the invitation row

Pending invitations can be revoked or resent from the Members page.

See Workspaces & Teams for the full invitation flow.

Feature map

For in-depth documentation on each feature: