docs/plans/2026-06-30-plainspace-super-productivity-connect-flow.md
Date: 2026-06-30 Status: Open plan / design — not started. Scope: plainspace.org only — the landing + token flow for a visitor arriving from Super Productivity's Connect dialog. The Super Productivity side is treated here as an external input/consumer, not part of this plan.
When a user clicks Open Plainspace in SP's Connect dialog, they land on the generic plainspace.org marketing page:
Plainspace — The simplest way to stay aligned with people who don't use your tools. [Create a Space] [Find my Spaces]
Their actual goal at that moment is narrow: get an API token and take it back to Super Productivity. The marketing page ignores that intent, offers no path to a token, and assumes a mental model (Spaces) the visitor may not have. The token UI itself is buried four levels deep (Space → People → Advanced → API tokens). Result: a funnel leak exactly at the handoff.
SP needs an account-level token (pat_…). The Space is chosen later, inside SP's own space picker (create-new vs link-existing). So this flow's only job is: get the visitor to a verified account and a named token. It does not need to make them create a Space first.
External inputs this flow can rely on (owned by the SP side, listed here only for context):
https://plainspace.org/connect/super-productivity (or ?from=super-productivity).Plainspace uses the source marker to show the contextual flow, preserve the intent through signup/verify, and instrument the funnel.
Contextual landing ("Connecting Super Productivity? Get your token →") → sign in / sign up (+ email verify) → one-click "Create token for Super Productivity" → show the token with a copy button and "paste this into Super Productivity."
An authorize endpoint: the user signs in + approves, then Plainspace redirects the token back to SP automatically (SP-provided callback; desktop protocol/loopback, web redirect, PKCE-style).
Recommendation: ship A first (fast win, kills the dead-end), design toward B.
| State on arrival | Flow |
|---|---|
| Signed out | Sign in or sign up — preserve the "from SP" intent through the detour so they return to the token step. |
| Email unverified | Front-load verification here, rather than blocking token creation late and silently. |
| Signed in | Straight to one-click token (A) / approve (B). |
| Already has a "Super Productivity" token | Offer to reuse, or rotate — don't silently create duplicates. |
Keyed on the from=super-productivity marker: land → sign up/in → verify → token created (→ "SP connected" if Model B lands). Use it to find the drop-off step.