The Integration Step Is Where Activation Goes to Die: A P0/P1/P2 Teardown of "Connect Your Data Source"
The Integration Step Is Where Activation Goes to Die: A P0/P1/P2 Teardown of "Connect Your Data Source"
Most onboarding teardowns start at the welcome screen. That's the wrong place to look. The welcome screen is cheap to fix and rarely the real problem.
For most B2B SaaS, activation dies one or two steps later — at the moment you ask the user to hand over their data. "Connect your data source." "Link your account." "Authorize access."
That step is a conversion step with its own funnel, its own drop-off, and its own P0s. Here's how to audit it properly, using a realistic flow as the example. We tear down one flow at a time on the /blog if you want more of these.
Why the Connect Step Is an Activation Step, Not a Setup Step
Setup steps are chores the user does for your product. Activation steps are where the user gets their first real output — the report, the dashboard, the insight.
Your connect step sits exactly on that boundary. Nothing downstream happens until it's done:
- No data source → no first report
- No first report → no "aha"
- No "aha" → no reason to come back tomorrow
- No reason to come back → no upgrade, no renewal, no referral
So stop treating it as configuration. Treat it as a funnel with five measurable stages:
- Screen viewed
- Connector chosen
- Authorization started
- Authorization completed
- First report viewed
Most teams instrument stage 1 and stage 5 and then guess about everything in between. That's why the fix always feels like a mystery.
The Flow We're Auditing
A realistic B2B reporting tool. Let's call it Cadence.
- 14-day trial, no credit card required
- Post-signup onboarding checklist with five items
- Step 3 of 5 is "Connect your data source"
- Connector options: Salesforce, HubSpot, Postgres, MySQL, CSV upload
- Target activation event: "first report viewed"
The shape of the problem is always the same. A shallow drop between "signed up" and "saw the connect screen." Then a cliff between "saw the connect screen" and "first report viewed."
The cliff is the whole problem. Everything below is about the cliff.
The P0/P1/P2 Teardown
P0 = blocks the first win. Fix this week, no design debate required. P1 = adds friction or doubt. Fix this month. P2 = polish. Batch it and stop thinking about it.
P0: The step is mandatory
Cadence requires a data source before the checklist unlocks the rest of onboarding. If a user's Salesforce admin hasn't approved the app yet — or they simply don't have admin rights — they are stuck on a screen with no exit.
This is a hard gate on a dependency the user often doesn't control. It's a P0 because it doesn't degrade the experience, it ends it.
The fix isn't better design on this screen. It's a second path: sample data, a CSV, a pre-built demo workspace. Anything that lets the user see the product's output before they connect anything real. You can run a free audit on your onboarding flow and get this scored against your actual screens instead of a hypothetical.
P0: The OAuth screen asks for write access with no explanation
Cadence's Salesforce connector requests read/write scopes. The user sees a permission wall they didn't expect, with no context on the previous screen about what Cadence will do with their CRM data.
This is a trust heuristic failure, and it's the most expensive kind at this step. The user isn't weighing effort anymore — they're weighing risk. Once they're weighing risk, a two-minute setup becomes a two-week decision involving their admin and their IT team.
Fix: say exactly what you read, exactly what you write, and whether you write at all — before the user clicks the button, not after.
P0: The error state is a dead end
"Something went wrong. Please try again." That's the entire recovery path for a failed OAuth. No mention of the likely cause, no alternative route, no way to get help without leaving the flow.
Any error state that ends the session is a P0 by definition. It doesn't matter how rare it is; you're multiplying rarity by zero.
P1: The connector grid is unranked
Five connectors in a flat grid, alphabetical. Salesforce and HubSpot are the two your users actually have. Postgres and MySQL are for a different segment. CSV is the escape hatch nobody notices.
This is a hierarchy problem, not a content problem. The information exists; it's just not prioritized. Order by likelihood for your actual audience, put the top two in the visual hot zone, and demote the rest to "More sources."
P1: Nothing happens for 40 seconds after connecting
The first sync runs silently. The user gets a spinner, then a screen that says "0 records synced" while the sync is still running. They conclude it failed and leave.
Feedback heuristics matter most exactly where the user has handed over control and can't see anything. Replace the spinner with staged text: "Reading your Salesforce objects… 3 of 7." Replace "0 records synced" with "We're pulling your first records now — this usually takes under a minute."
P1: The copy describes the mechanism, not the outcome
"Connect Your Data Source" is a description of a database operation. It's not a reason to do anything. Same for "Authorize Access" and "Sync Now."
Every label on this screen should answer one of two questions: what do I get, or what happens if I click this.
P2: Polish
- Mixed icon styles across connectors (some logos, some generic glyphs)
- "Connect" button on one row, "Authorize" on another, "Add" on a third
- Tooltip text that repeats the button label
- Success state that dumps the user into a generic dashboard instead of the first report
None of these block anything. All of them are worth one afternoon, batched.
Before and After: Rewriting the Connect Screen
Before
Connect Your Data Source To get started, connect a data source. We support Salesforce, HubSpot, Postgres, MySQL, and CSV upload. Additional connectors are available on paid plans.
[Connect] [Skip]
After
See your pipeline in about two minutes Pick where your data lives. We read it once and build your first report. We never write back to your CRM.
[Connect Salesforce] [Connect HubSpot] [Upload a CSV] [Explore with sample data →]
Most people finish this in under two minutes. You can add or swap sources later.
Why each change earns its place:
- The headline sells the outcome, not the operation.
- "We read it once. We never write back" answers the trust question before the OAuth screen raises it.
- The two connectors most of the audience actually uses are first; the rest moved below the fold.
- A fourth path — sample data — converts a hard gate into a soft one.
- Each button names the next screen instead of naming a verb.
- The time expectation kills the "how long is this going to take" hesitation.
Now the error state, which is where the real money is:
Before
Something went wrong. Please try again.
After
Salesforce didn't finish connecting This usually happens when the permission screen gets closed early, or when your Salesforce admin needs to approve the app first.
[Try again] [Upload a CSV instead] [Copy a note for your admin]
Note for your admin: "Can you approve the Cadence connected app in Salesforce Setup? It needs read-only access to Opportunities and Accounts."
The copy-a-note button is the highest-leverage thing on that