# Find onboarding checklist drop-off

> Analyze checklist and setup-step completion so product and CS can see exactly where new users or accounts stall.

## Agent adaptation contract

- Canonical human page: https://agentry.sh/workflows/onboarding-checklist-dropoff
- Execution mode: on_demand
- Immutable automation template: none
- Applies to: b2c-saas, b2b-saas, devtools-api, enterprise-sales
- Required example events: onboarding_step_started, onboarding_step_completed
- Required Agentry resources: none declared
- Do not use when:
  - Do not use until the example events are mapped to observed project signals, the current onboarding state is verified, and live event/property reads prove the required data is present.
- Ask before using:
  - Which observed events map to onboarding_step_started, onboarding_step_completed? Is the current onboarding state verified, and do live event/property reads show non-synthetic traffic for them?
  - Which live properties provide onboarding_step_started.account_id, onboarding_step_started.step, onboarding_step_completed.account_id, onboarding_step_completed.step, and which stable user or account identifier joins the signals?

This is an adaptable workflow example, not an API recipe. Map event and property names to the project's saved signal map, require status: "verified" from GET /v1/projects/:project_id/onboarding, and confirm the required signals through live event/property metadata and rows. Fetch current OpenAPI or query-blueprint details before making calls. Do not infer unattended authority from this page.

## Why this matters

Signup funnels stop at account creation. Onboarding checklists reveal the harder question: did the customer reach useful value?

## What you get

- Completion by checklist step
- Median time between steps
- Accounts stuck at each step
- A protected metric report for product or CS

## Walk through it

**You:**
> Where do accounts stall in onboarding?

**Agent:**
> I'll compute completion and stuck accounts by step.

```text
Endpoint: POST /v1/projects/:project_id/analytics/query
Exact shape: /v1/openapi.json?path=%2Fv1%2Fprojects%2F%7Bproject_id%7D%2Fanalytics%2Fquery&method=post
Custom HogQL goes in the OpenAPI-defined `query` field.
Concept fields:
  query: "SELECT properties.step AS step, countIf(event = 'onboarding_step_started') AS started, countIf(event = 'onboarding_step_completed') AS completed, completed / nullIf(started, 0) AS completion_rate FROM events WHERE event IN ('onboarding_step_started','onboarding_step_completed') AND timestamp > now() - INTERVAL 30 DAY GROUP BY step ORDER BY started DESC"
```

## The output

The agent returns a step table and identifies where intervention matters most. For B2B accounts, it should list stalled accounts for CS follow-up.

## Setting it up

Emit started/completed events from each checklist item or setup milestone. Keep `step` stable and human-readable.

## Variations

- *"Only show enterprise accounts created this month."*
- *"After this metric is backed by a real query blueprint, publish it as a weekly onboarding report."*
- *"Compare checklist drop-off before and after the new setup wizard."*
