Setup dashboard

Onboarding FTUE: Chunk 1 spec (Calendar, Team, Clients)

Contents

Build spec for Nanz (design taste), Leah (front-end), and eng (deep-links + instrumentation). The channel post (FTUE-First-Chunk-Alignment-2026-06-25) is the why for Jamie + David; this is the what and how to measure. Per-feature research/baselines: FTUE-Calendar-2026-06-18, FTUE-Team-2026-06-18, FTUE-Clients-2026-06-18. Live prototype: setup-welcome.carlosmccoy.xyz (flows-real.html?page=calendar|team|clients).


1. TL;DR

We're shipping per-feature first-run experiences in small chunks. Chunk 1 = Calendar, Team, Clients, the three with the clearest single-focus goal and the lowest lift. Each replaces a dead or fake-populated empty state with one modal-on-landing that states the value at the moment of choice and routes to the one real action. AI Scribe + Templates go to discovery first (Chunk 2). The bet: a sharper FTUE lifts first-session activation, and activation is the leading indicator we believe drives trial→paid conversion and retention.

Measurement is a 2-week pre/post read per flow on a clean completion event. Skippable, in-product brand, honest copy only.


2. Goal and hypothesis

Overall goal: more new accounts take the core first-session action on each feature (connect a calendar, invite a teammate, add a real client), in their first session, without us boiling the ocean.

Hypothesis (the bet):

A focused first-run experience on each feature lifts first-session activation. Activation is our leading indicator; we expect that lift to flow through to trial→paid conversion and early retention downstream.

So we optimize and measure activation now. Conversion is the lagging north star we expect to follow, validated on a delay, not the launch gate. If activation rises and conversion later does not, that's a signal the activation→conversion link is weaker than assumed and we re-examine (it does not retroactively fail the activation work).


3. Problem statement

Shared problem: today's first run is a set of dead or fake empty states. A new account lands on each feature page with no prompt, no stated value, and either a blank slate or fake demo data it has to clean up. The one real action (OAuth, invite, add a client) is buried behind a settings gear, a "+ New" button, or an Import control in a corner. The value ("nothing double-books," "your team can share clients," "your clients are private") is never stated at the moment of choice. Result: low first-session activation across all three.

Per-feature:

FlowThe specific problemwk1 baseline (real action)
Calendar Empty grid, no prompt; connect is buried behind the Settings gear; double-booking value never stated. ~11.6% step (noisy); deliberate connect ~0.5%
Team Fake demo member "Wendy Smith" sits in front of the real action; invite is email-only and buried; no first-run nudge. 5.4% (create staff, diluted by solo accounts)
Clients Import/add is a corner button; no value framing; switchers (who need migration most) import least. 21.5% real / 14.3% step

Baselines: PostHog Production 10924, core-market completer cohort (fired track onboarding completion, countryCode IN US/CA/GB/AU/NZ, completed 30 to 100 days ago, test users excluded, n=4,572), verified 2026-06-18.


4. Goals and non-goals (for these experiments)

Goals

Non-goals (explicitly out of this chunk)


5. Activation: definition, metrics and tracking plan

5.1 How we define activation

Primary = three per-flow real-action rates (each on its right denominator), measured wk1:

FlowTick on (verified event)Denominatorwk1 baselineTarget
Calendar connect calendar_oauth_connected (new clean event), not the noisy syncCalendar step all new accounts ~11.6% step / ~0.5% deliberate ~16% (directional, confirm)
Team invite create staff (or a new invite-sent event for the link path), not the skip-inflated inviteTeam step team accounts only 5.4% on full cohort (diluted) ~8% (set in the room)
Client added create client OR import client data all new accounts 21.5% real / 14.3% step ~27% (directional, confirm)

Targets: Team's ~8% was set in the meeting. Calendar (~16%) and Clients (~27%) are directional, carried from June planning; confirm with Jamie before we hold ourselves to them. On a pre/post read (§5.3) the honest framing is "beat baseline by a meaningful margin," not a hard threshold.

Chunk roll-up (secondary, directional): % of new core-market accounts that complete ≥1 of the applicable first-session setup actions in wk1. Tells us whether the chunk moved overall first-session activation, not just one flow. Treat as directional; it's a composite and inherits the confounds below.

Downstream (lagging, the bet, read on delay): trial→paid conversion and wk4 retention, activated vs non-activated cohorts. This is the activation→conversion validation. It's correlational and read weeks later; it does not gate launch.

5.2 Tracking plan: what to instrument (the eng ask)

The recurring trap across all three: the event we've been crediting is rarely the real action. Fix before/at launch:

5.3 Measurement design: 2-week pre/post

Read each flow's primary clean event for the 2 weeks before launch vs the 2 weeks after, core-market new-account cohort, test users excluded.

Critical sequencing: a pre/post read is only valid if the same clean event exists in both windows. So instrument the clean events first and let them bake for the pre-window (Phase 0 in §6). Otherwise we'd be comparing the old noisy proxy against a new clean event and the "lift" would be an artifact.

Caveats (state these when reporting):


6. Phasing

Build chunks (roadmap)

ChunkFlowsStatus
1 (now) Calendar, Team, Clients This spec → Nanz → Leah next week
2 AI Scribe, Templates Discovery first (get them right, not rushed). Billing is the lead carry-along candidate; confirm with Jamie/Dylan.
Later Workflows, Branding, Booking After Chunk 2; Inbox + Insurance deprioritised

Per-flow gates (within Chunk 1)

Phase 0: instrument (do first). Land the clean events (§5.2) and let them bake so the pre-window is measured on the clean event. Nothing user-facing.

Phase 1: build and ship. Calendar and Team are quick (low-lift reshapes); Clients last (the full-screen import is the one net-new surface). Ship at 100% rollout, behind nothing fancy.

Phase 2: read and decide. 2-week pre/post per flow (§5.3) → keep / iterate / kill. Downstream conversion + retention read on a longer lag.

People handoff

Carlos prototypes (done) → aligns with Dylan → channel post tags Jamie + DavidNanz design taste (~2026-06-26) → Leah front-end build next week (off Nanz). Danyl owns the Team invite experience (staging). Align on the why in-channel before design, not as an 11th-hour FYI.


7. Per-page spec

All three share one pattern: modal-on-landing over the real (demo-populated, never-blank) feature page. The modal states the value, offers the action(s), is skippable; on dismiss it leaves a reopen prompt and all actions stay on the page. Modal shows the first 3 landings if the action isn't done. In-product brand tokens (Roboto, 673AB7), one primary purple CTA, honest micro-interactions, no fake spinners.

7.1 Calendar: sharpen what we already have

7.2 Team: pop the invite modal on first landing

7.3 Clients: modal-first, with a migration path


8. Constraints

Design

Tech

Scope


9. Dependencies and risks

#ItemOwnerRisk if unresolved
1 Team invite experience in staging (magic link + permissions, Danyl EOD 2026-06-24) Danyl / Carlos confirm Can't build the Team takeover; blocks the highest revenue-lever flow
2 Migration-call booking URL + CX capacity (Clients switcher CTA) Carlos / CX Ship an invented URL or pull the CTA; don't invent
3 Per-seat subscription wording (Team inline note) Julian (billing) Wrong dollar/behaviour claim at point of invite; keep generic until confirmed
4 Calendar sync direction: inbound rendering vs outbound-push only is unconfirmed (an eng question for Dylan, not resolved; earlier "resolved/one-way" note was an over-claim from a doc summary) Dylan / eng Over-claim the value; mitigated today because copy leads only on "nothing double-books"
5 Clean instrumentation (calendar_oauth_connected, invite-link-sent, de-noised steps) eng No clean event = no valid pre/post read; the whole measurement fails
6 Pre/post confound (signup-mix, seasonality, the ~May 23 signup drop) Carlos (analysis) Mis-read a mix shift as an FTUE lift; report as directional + watch the completion guardrail

10. Open decisions

  1. Billing in Chunk 2? Confirm with Jamie/Dylan whether Billing rides along next chunk (it was a June-planning quick win; dropped out of this meeting's chunk).
  2. Confirm Calendar (~16%) and Clients (~27%) targets with Jamie, or hold to "beat baseline meaningfully."
  3. Migration-call URL (dep #2): reuse the live onboarding/setup-call Calendly, or stand up a dedicated one?

Sources