Guides
Onboarding
OpsDash ships with three layers of onboarding that guide new users from first login to productive use.
Setup wizard
Runs automatically for new users whose org has onboarding_completed = false. Consists of up to 5 steps:
| Step | What it collects | Required |
|---|---|---|
| 1. Profile | Full name, avatar | Yes |
| 2. Organization | Org name, logo | Yes |
| 3. Invite | Team member emails + roles | No |
| 4. Explore | Introduction to key features | No |
| 5. Complete | Redirect to dashboard | — |
To reset the wizard for testing or re-onboarding:
UPDATE public.organizations
SET onboarding_completed = false
WHERE id = 'your-org-uuid';Onboarding checklist
Visible on the Dashboard for new orgs. Tracks setup completion:
| Item | How it's completed |
|---|---|
| Profile filled | users.full_name is not empty |
| Org configured | organizations.name is not the auto-generated default |
| First contact added | contacts count > 0 |
| First deal created | deals count > 0 |
| First project created | projects count > 0 |
| Team member invited | invitations count > 0 OR org_members count > 1 |
Server action: getOnboardingChecklistStatus(orgSlug)
Page-level guided tours
Interactive walkthroughs on specific pages powered by driver.js. Available pages:
- Dashboard — overview of KPIs and activity feed
- CRM Contacts — table, filters, add contact
- CRM Deals — pipeline board, drag-and-drop
- Projects — kanban, task creation
- Forms — builder, lead capture config (8-step tour)
Tours are triggered by clicking the ? help button on each page. Users can restart a tour at any time — tour state is not persisted.
Seeding demo data
For demos and new installations, use the seed server action to populate sample data:
// actions/seed.ts
await seedDemoData(orgSlug);
// Creates: 5 contacts, 3 companies, 5 leads, 3 deals, 2 projects, 5 tasksThe seed action is accessible to org owners via the Platform Admin panel. Remove demo data before handing off to a client using the Admin panel or by truncating the relevant tables.
Private instance customization
For private instance deployments, the onboarding wizard can be pre-configured:
- Skip the wizard entirely by setting
onboarding_completed = truein SQL after seeding the client's org - Pre-populate the org name and logo before the client's first login
- Disable the guided tours in
opsdash.config.tsif the client prefers a clean UI