Files
hackerspace.sh/content/docs/how-to/configure-onboarding.md
T
Moheeb Zara 8edc9da611 docs: audit corrections, coverage pages, screenshots, and em-dash removal
Finalizes the docs section after an adversarial audit (code review + per-page
fact-check + coherence critic) and two content requests.

- Accuracy: fixed 10 invented cross-link slugs, the admin-vs-board gating claims
  the verifiers caught (permissions matrix, /settings, invites, onboarding,
  connect-payments, proposal withdraw, Stripe reconciliation, member fields,
  door.operate), and 2 issues in the new pages (project area-at-creation, forum
  thread-delete role).
- Coverage: added 5 how-to pages so every module is documented (recurring Stripe
  dues, tasks & chores, projects, comms & forum, ops knowledge base + secrets
  vault). 34 pages total.
- Screenshots: 12 captioned app screenshots under public/docs-media/, embedded
  as figures. Each tutorial now has 2-3 step screenshots.
- Style: removed all em-dashes/en-dashes/ellipses from the docs (natural ASCII
  punctuation).
- Handoff (docs/HANDOFF-audit-cleanup.md) updated with the current state.

typecheck 0 · lint 0 errors · build ok (all 34 /docs pages prerendered)
2026-08-05 03:15:07 -07:00

82 lines
4.1 KiB
Markdown

Onboarding is the short, ordered flow a new member walks through the first time they open the app. You edit it under the **Onboarding** section of [/customize](/customize), in the **New member onboarding** card. This page shows you how to add, reorder, require, disable, and delete steps.
## Who can edit onboarding
Editing onboarding is role-gated:
| Action | Required role |
| --- | --- |
| Add a step (Custom or Form) | admin |
| Edit title, body, config, order, toggles | admin |
| Delete a step | admin (built-in steps can never be deleted) |
Board members can open [/customize](/customize) and see the onboarding steps, but the panel is read-only for them: the **+ Custom step** / **+ Form step** buttons are hidden and every field, toggle, and Delete control is disabled. Members who are neither admin nor board are redirected away from /customize entirely.
## Understand the built-in steps
Every space is seeded with four built-in steps when it is created. They are marked **built-in** and cannot be deleted, only disabled or reordered.
| Step | Type | Seeded as | Notes |
| --- | --- | --- | --- |
| Welcome to *space* | `welcome` | enabled, optional | Info screen, markdown body, never blocking |
| Code of Conduct | `code_of_conduct` | enabled, required | Body plus a required acknowledgement checkbox |
| Complete your profile | `profile` | enabled, optional | Prompts the member for display name, handle, bio, skills |
| Set up your dues | `payment` | enabled, optional | Dues nudge with an optional payment link button |
## The step types
There are six step types. The four above are built-in; the two you can add yourself are `content` and `form`.
| Type | Body editable | Extra config | Deletable |
| --- | --- | --- | --- |
| `welcome` | yes |, | no (built-in) |
| `code_of_conduct` | yes | `require_ack`, `ack_label` | no (built-in) |
| `profile` | no |, | no (built-in) |
| `payment` | yes | `payment_url` (link button) | no (built-in) |
| `content` | yes |, | yes |
| `form` | yes | `form_id` (published form) | yes |
Body fields accept markdown and a safe subset of HTML.
## Add a custom step
1. Go to [/customize](/customize) and open the **Onboarding** section.
2. Click **+ Custom step**. A new `content` step is appended at the bottom, titled "New step".
3. Edit the **title** field and the body textarea inline. Changes save when the field loses focus.
## Add a form or waiver step
Use this to make members sign a waiver or fill out a form as part of joining.
1. First create and **publish** the form under [/forms](/forms) (Forms & waivers). Only published forms can be linked.
2. In the **Onboarding** section, click **+ Form step**.
3. In the new step, use the **Select a form...** dropdown to pick the published form. Waivers are labelled `(waiver)`. The choice is stored as `form_id` on the step.
If there are no published forms yet, the step shows a prompt to create one first instead of a dropdown.
## Reorder steps
Each step row starts with a small number field, its `sort_order`. Type a new number and click away; steps re-sort by ascending order. Lower numbers run first. New steps are added with an order one higher than the current maximum.
## Toggle required and enabled
Each step has two checkboxes:
- **Enabled**, unchecked steps are hidden from the flow entirely.
- **Required**, the member cannot finish onboarding until every *enabled and required* step is completed.
Edge cases worth knowing:
- A member can only **skip** onboarding when no enabled step is required. If any enabled required step exists, skip is refused.
- A required `form` step is satisfied once a submission for the linked form exists for that member. If the linked form is missing or unpublished, the step is treated as non-blocking so a misconfiguration cannot lock members out.
## Delete a step
Only custom (`content`) and `form` steps show a **Delete** button, and only for admins. Built-in steps have no delete control, disable them instead. Deleting asks for confirmation and is permanent.
## Related
- [Onboard members](/docs/tutorials/onboard-members)
- [Invite links](/docs/how-to/invite-links)
- [Import members](/docs/how-to/import-members)