Preparing external connections (payment, email, login)
This is where you prepare the parts that rely on outside services — payment, email, social login — for development. Sync your code and Specnote finds these connections automatically; hand the setup instructions to your AI and safe stand-ins appear on your dev server, so you can verify the whole flow from sign-in to checkout.
Why verify on a dev server
Verification means a real browser clicking through a real screen to the end. But point it at your production address (where your live service runs) and every gate — sign-in, payment, email verification — is shut. You end up with a shallow check that barely gets past the login screen.
Specnote solves this with a dev server plus dev-only preparation. On a dev server you can add safe stand-ins — a practice payment instead of a real one, a dev inbox instead of real email delivery. That lets you verify the whole flow end to end, from sign-in to a completed checkout.
The place that helps you prepare this is External dependencies, inside the Test Environment tab of your workspace board.
Three steps and you're done
Preparation runs in three steps. Your AI does the hard setup; you just confirm.
- Sync your code, and external connections are found automatically. With your code connected, Specnote notices connections like payment, email, and social login on its own and lists them for you.
- Click "Hand setup to my AI" and give the note to your AI. Copy the instructions on screen and paste them to the AI in your IDE (code editor) — Claude Code, Cursor, and the like. The AI adds dev-only devices to your dev server: a practice payment key, a dev email inbox, a test sign-in path, and so on.
- Sync your code again, and it confirms everything landed. It checks three things together: that the devices are in place, that verification passes through the flow end to end, and that your dev server answers "the connection setup is on."
As a shortcut, the "Check connections active" button lets you see right away whether the setup on your dev server is actually on.
The safety principle — it switches itself off on production
Every device the instructions create carries a double guard:
- the dev-only setup switch is on — and
- it is not a production build.
The device works only when both are true at once. So even if you enter a production address by mistake, the device switches itself off on production and nothing happens — a quiet failure instead of an accident.
One more thing: the instructions never put real secret keys in your code. For things like payment, they use only the practice keys (test keys) the provider hands out officially — values that can't touch real money or data even if leaked.
How each kind is prepared
| External connection | Dev-only preparation |
|---|---|
| Payment | Swapped for the provider's official practice key (test key), so no real money moves. |
| Caught in a dev inbox or on-screen log instead of being really sent, so you can read the message right away. | |
| Social login | A dev-only test sign-in path gets you in quickly. Logins that are hard to stand in for — company accounts (SSO) or one-time codes (OTP) — keep using the sign-in-yourself method from Test Environments & Accounts. |
| SMS | Replaced with a fake response instead of a real send, so the text-message step doesn't block you. |
Frequently asked
I don't have a dev server. That's fine even before you deploy — if your app only runs on your computer, follow "If your app only runs on your computer" in Test Environments & Accounts.
What if I enter a production address? On production the dev-only devices are off, so the "did it land?" check won't pass and your test stays shallow. When this happens, follow the on-screen guide to switch to your dev server address. Production data won't be harmed, but the dev server is where you can see the whole flow through.
Something I don't actually use showed up in the list. An item can appear just because its name is still in your code (for example, a payment provider you once evaluated). Flip its switch off to move it to the Not in use tab. While the name stays in your code the item is kept there instead of being deleted, and you can flip the switch back on whenever you start using it again.
You can ask your AI instead
This preparation can be done on screen — or by asking your connected AI:
Get the setup instructions for the external connections Specnote found, and add the dev-only devices to my dev server. When you're done, sync the code again and confirm everything landed.
Not connected yet? See Connect Your AI (Install MCP) first. Haven't connected your code? Start with Connect your code.
Once you're set, head to Running Verifications & Reading Results and run the flow end to end. If sign-in or payment steps keep blocking, Troubleshooting can help.