Appearance
Onboarding Stalls Triage
/admin/onboarding-stalls — end-customers who started post-purchase onboarding but haven't finished after 7 days (hard-coded threshold), surfaced for staff to nudge.
Why this matters
A stalled onboarding means revenue without work — the agency can't start their service because they don't have the info they need. The longer it sits, the higher the refund risk and the worse the customer experience.
The list view
The endpoint returns one row per stuck onboarding, with these fields per row:
caseId— the Case opened by the purchase.caseServiceType— what service this is for.caseStatus— current status of the Case.caseTitle— Case title for quick scanning.contactEmail— the customer's email.remindersSent— count of magic-link reminders already sent.createdAt— when the onboarding started.
PurchaseOnboarding records track status: 'in_progress' as a single state — there's no per-step tracking, so the list shows "stalled" but not "stuck at step N".
Why a customer stalls
In order of likelihood:
- Magic-link email went to spam. Re-send and check the org's sender identity reputation.
- The form is too long. Long forms hurt completion. Suggest the agency split the form.
- A required field is confusing (often Google access instructions).
- The customer is busy / forgot. A nudge typically works.
- Buyer's remorse. They've decided to cancel but haven't asked.
Actions available today
Re-send magic link
One-click button per row. Sends a fresh magic-link email using the existing subject template. The reminder count increments on success.
🚧 Coming Soon — vote at /roadmap
Stuck-at-step tracking: see which onboarding step the customer last completed, so support knows whether to nudge or rewrite the form.
🚧 Coming Soon — vote at /roadmap
Configurable stall thresholds (filters for > 3, > 7, > 14, > 30 days) instead of the hard-coded 7-day cutoff.
🚧 Coming Soon — vote at /roadmap
Re-send magic link with a custom subject line for deliverability and engagement testing.
🚧 Coming Soon — vote at /roadmap
Open intake on the customer's behalf: generate a special staff URL that loads the customer's in-progress form for support calls where the customer is on the phone and stuck.
🚧 Coming Soon — vote at /roadmap
Refund + close action: Stripe refund through the connected account (with the agency's consent), close the Case, send a "we've issued your refund" email.
🚧 Coming Soon — vote at /roadmap
Escalate to agency button: notify the agency owner directly with full context for personal outreach.
🚧 Coming Soon — vote at /roadmap
Per-onboarding telemetry: Mailgun delivery events, click events, per-step time-spent, field-by-field completion rate, and bounce-back patterns to identify intake-form problems.
🚧 Coming Soon — vote at /roadmap
Per-org self-serve stalls view, so each agency can see their own onboarding stalls without going through platform staff.
Back to Admin Guide