PropFlow · Customer Onboarding

Invite sign-in, before and after

What broke during the CONAM property-manager onboarding on Aug 24, what the redesigned flow does differently, and the measured result of running the new flow end-to-end over the real network.

Incident Aug 24, 2026 Fix PR #6252 (draft) Pilot The Willows Status verified, not enabled

The one-sentence version

The old flow emailed a link that self-destructs after one click into inboxes where security software clicks everything — so a real onboarding collapsed into 40 minutes of "invalid token." The new flow emails nothing that can be used up: the customer types a 6-digit code instead.

Failure modes, side by side

Each pair is one thing that went wrong on Aug 24 and what the redesigned flow does in the same situation.

Before

Single-use link in the email

The magic link dies on its first click, by anyone or anything. Forward it, preview it, or click it twice and the next attempt fails.

After

Nothing in the email can be used up

The invite carries a plain link to a welcome page. Sign-in happens with a typed 6-digit code. Clicks are free — infinite re-clicks, forwards, and scans change nothing.

Before

Corporate mail scanners poison the well

CONAM's Microsoft Defender clicked every link 4× within seconds of delivery and re-scanned hourly all night — 69 machine clicks across 3 emails, drowning out which click was the human's.

After

Scanners are harmless by construction

A scanner can click the welcome link a thousand times. The code arrives separately and only works when a person types it into the page.

Before

Dead links hit a dead end

A used or expired link landed on a blank login form with error=INVALID_TOKEN in the URL and no guidance — which read as "the system is broken."

After

Dead links offer the way out

The login page now explains "that link was already used — links work once," defaults to the emailed-code option, and notes you may already be signed in from the first click.

Before

Success looked like failure

The one click that did work dumped a first-time user into an unannounced security-setup screen. Both people on the call read it as another error and kept resending — burning more links.

After

The security step is announced

The invite email and the welcome page both say it up front: "on your first sign-in you'll set up a verification method — a quick one-time step." Same step, now expected.

Before

A slow network invites double-clicks

The confirm button could be pressed twice; the second press could burn the token and override a successful first sign-in with an error screen.

After

The button disables itself

First press shows "Signing you in…" and locks. There is no second press.

The numbers

Aug 24 incident (measured from SendGrid activity, session records, and request logs) vs. the new flow's real-network test on Aug 25.

MeasureBefore (Aug 24)After (Aug 25 test)
Time from invite to working session~40 min + a day of debugging~2 min
Sign-in emails needed6 (3 links + 3 codes)2 (1 welcome + 1 code)
"Invalid token" dead endsrepeated, for two people0 — none possible
Single-use artifacts in the inbox1 per email0
Machine clicks that could break the flow69 recordedirrelevant by design
Founder time spent as supporttwo daysnone required

The after-flow, as it actually ran

Full end-to-end over the real network — real SendGrid delivery, real inbox, real code — against the preview deployment, Aug 25, 15:11–15:13 UTC.

15:11:27
Test user invited to The Willows; server selects the code-first flow (mode: "code")
15:11:3x
Welcome email delivered — verified to contain zero tokens, nothing single-use
15:12:2x
Welcome page opened; 6-digit code requested and delivered to the real inbox
15:12:38
Code typed → signed in, session created
15:12:4x
Dashboard visit correctly routes to the announced one-time security setup

What the customer now receives

The actual emails and screens, in order. Nothing in any of them is single-use.

1 · Email — the invite

The button is a plain link to the welcome page — no token, no expiry, safe to forward or re-click forever.

2 · Screen — the welcome page
Welcome to PropFlow
We'll email you a 6-digit code to sign in — no links to click.
jaise.sylva@conam.us
Email me a code

Email is pre-filled from the invite link. One button.

3 · Email — the code

The code is in the subject line — visible from the inbox list, nothing to open or click. Scanners can't type.

4 · Screen — type it, you're in
We sent a 6-digit code to jaise.sylva@conam.us.
3 0 8 5 5 7
Sign in
First time here? After signing in you'll set up a verification method — a quick one-time step.

The one-time security setup is announced twice before it appears, so it reads as a step — not a failure.

Nothing is turned on. The new flow ships behind ONBOARDING_V2_PROPERTY_IDS, which is unset everywhere — invites behave exactly as before until the flag names a property. The pilot value is appfolio-45 (The Willows). Two small always-on improvements ride the merge regardless: the dead-link recovery notice and the double-submit guard.

What's deliberately not in this change

PropFlow Docs