Interactive Setup Checklist

Setup

Six things, then you are live

Work through them in any order. Nothing here needs us on a call, and the workspace is usable long before the list is finished.

50%

of setup complete

Most practices finish the list inside a working week, between clinics.

Add your services

Names, durations, and prices. These become the bookable slots your team sees.

Open services

Set opening hours and rooms

Tell the calendar when you are open and what space each service needs.

Open scheduling

Import your members

A spreadsheet or a direct export. We map the fields with you before anything lands.

Start the import

Invite the team

Front desk, clinicians, and finance, each with their own scoped access.

Invite people

Connect billing

Link your payment provider so invoices reconcile themselves from day one.

Connect provider

Turn on reminders

Choose the notice window and the channel, then let the calendar do the chasing.

Open notifications
About this block

Interactive Setup ChecklistPRO

A setup panel pairing a soft progress column, where an oversized percentage and accent bar react to what is ticked, with hairline checklist rows that each carry a description and a jump-in link.

Onboarding33: Interactive Setup Checklist

Setup panel pairing a soft progress column, where an oversized percentage and an accent bar react to whatever is ticked, with checklist rows separated by hairlines, each carrying a description and a link straight into the screen that finishes the step.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/onboarding33?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/onboarding33?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/onboarding33.tsx plus the badge23 component it uses for the eyebrow.

Quick start

The installed file exports onboarding33Demo alongside the block: the exact props behind the preview above. Spread it to get a working checklist in one line.

tsx
import { Onboarding33, onboarding33Demo } from "@/components/beste/block/onboarding33";

export default function SetupPage() {
  return <Onboarding33 {...onboarding33Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Onboarding33 } from "@/components/beste/block/onboarding33";

export default function SetupPage() {
  return (
    <Onboarding33
      badge={{ label: "Setup" }}
      heading="Six things, then you are live"
      description="Work through them in any order."
      progress={{
        label: "of setup complete",
        note: "Most teams finish the list inside a working week.",
      }}
      items={[
        {
          title: "Add your services",
          description: "Names, durations, and prices become the bookable slots.",
          link: { label: "Open services", href: "/settings/services" },
          done: true,
        },
        {
          title: "Invite the team",
          description: "Front desk, clinicians, and finance, each with scoped access.",
          link: { label: "Invite people", href: "/settings/team" },
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Monospace eyebrow above the hairline rule, rendered via Badge23
headingstringSection heading in the left column
descriptionstringSupporting paragraph, right-aligned from md up
progress{ label: string; note: string }Copy under the percentage and under the bar
itemsStep[][]Checklist rows, and the source of the percentage
classNamestringExtra classes for the outer <section>
ts
type ActionLink = { label: string; href: string };

type Step = {
  title: string;
  description: string;
  link: ActionLink;
  done?: boolean;
};

Behavior notes

  • Ticked state is a record keyed by row index, and an untouched key falls back to the step's own done, so the panel opens on the state you pass and every click after that is local.
  • The percentage is derived on each render from how many rows count as done over the total, and the bar's width is that same number, so the figure and the bar can never disagree.
  • The bar is a plain div with an inline width percentage rather than a progress component, which keeps this block free of an extra dependency for one measure.
  • A ticked row strikes its title through and drops it to muted while the description stays put, so the list still reads as a plan rather than as crossed-out noise.
  • Only the circle is a button. The step's link sits outside it, so ticking a step and going to do it are two separate targets and neither swallows the other.
  • Nothing persists: there is no onToggle prop, so the ticks live for the life of the component and the real completion state belongs to your backend.
  • Rows lose the rule on the last one and drop their outer padding at both ends, so the list sits inside the panel's padding instead of drawing a line against it.

More Onboarding blocks

View all Onboarding
PRO

onboarding44

Setup Checklist

A setup checklist with a sticky left column: serif headline that settles in word by word, an intro, a large done count over a hairline progress bar that grows as steps are ticked, and a sliding-marker pill. On the right a ruled list of steps, each with a round check button, a serif title that strikes through when done, a description and an optional link.

PRO

onboarding7

Progress Bar with Task Checklist

Card-based progress tracker showing completion percentage and a checklist of tasks with visual status. Perfect for gamified onboarding that motivates users to finish setup.

PRO

onboarding37

Invite Your Team

A team setup section pairing a soft panel with a working invite row, a role picker, and a plain-language table of what each role can reach, with a bordered list of who is already on the account and whether they have accepted, closing on a seat meter that fills one tick per seat taken.

PRO

onboarding12

Circular Progress with Checklist

Visual progress tracker featuring a circular percentage indicator with completion stats and task list. Perfect for profile setup flows that encourage users to reach 100% completion.

PRO

onboarding35

Tracked Setup Sequence

A setup section listing four numbered steps with who owns each one, against a column that sticks while they scroll and floats a live step tracker on an image tile.

PRO

onboarding5

Horizontal Steps with Progress Line

Multi-step progress indicator with numbered circles connected by a progress line. Perfect for account setup wizards that show users their completion status.