# 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.

1. **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.
2. **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.
3. **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.                                                                                                                                                                  |
| **Email**           | 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](/en/docs/test-environments). |
| **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](/en/docs/test-environments).

**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)](/en/docs/install-mcp) first. Haven't connected your code? Start with [Connect your code](/en/docs/connect-your-code).

Once you're set, head to [Running Verifications & Reading Results](/en/docs/running-and-results) and run the flow end to end. If sign-in or payment steps keep blocking, [Troubleshooting](/en/docs/troubleshooting) can help.

---

Source: https://specnote.io/en/docs/external-deps
