Introducing Sign Up with AgentOnboard
On this page
Saturday morning. You want to vibe code a side project.
You tell your agent: “Build it with a real database. Use Neon.”
Your agent goes to Neon. You have no Neon account. It stops and waits for you.
You open the tab. You fill the form. You verify email. You make a key. You paste it back. Then the agent starts.
You did the setup. The agent watched.
If Stripe, Linear, and Notion are connected, your agent is autonomous in those three. Only those three. Ask for a fourth service and it is helpless again. That is not autonomous across the internet. That is autonomous inside a small box you built by hand.
MCP earned that box#
One way to talk to tools instead of fifteen custom setups. Connect it, see the tools, get work done inside. For services you already use, it feels like magic. Fair.
The price is pre-connection. Every service must be added before the job. Clients cap how many can stay on — Cursor holds 40, the rest quietly vanish. So you flip: kill one to use the next, then flip back. No work happened. You just moved tools around to start work.
Makers pay the mirror price. They run a whole new server in front of the API they already had. Then a real agent shows up for a human with no account, and they still have to turn it away. They shipped the future and still lost the new user at the door.
The idea underneath is this: an agent can only work where you already connected it and where you already have an account.
No human works that way. You don't pre-connect the internet. You go somewhere new, prove who you are, make what is missing, do the job, leave.
Not another server to host. Not a key to paste into chat. Not sign-in only.
One job: Sign Up with AgentOnboard.
Until now agents could only sign in for you. If you had an account, they entered. If you didn't, they waited. Now they can make the account for you too, then do the job. Same proof. Same email. No browser. No wake-up.
Saturday looks like this now:
- Agent tries Neon. Neon says: no account for this email. To fix: call the signup door with the same proof, then try again once.
- Agent calls that one signup door. Same 5-minute proof. Good for Neon only. Dead everywhere else.
- Neon makes the account, or signs in if it already exists. Agent retries the first job once. Database ready. Code ships.
Your API key never left your machine. The agent never saw it. Neon checked the proof in under a millisecond and matched the email to its own user. Secure entry, not open entry.
For builders, one door that can create. Every other door still says no to strangers.
// POST /api/signup - the only place that can create
import { createAgentAccount } from "@agentonboard/sdk";
const out = await createAgentAccount({
token: authHeader,
audience: "neon.com",
resolveAccount: ({ email }) => findUser(email),
createAccount: ({ email }) => createUser(email),
});
Made new? You get created: true. Had one? Sign-in, no double. Call it twice, still one account.
Why we built it: account creation was the last manual step. Everything after it was already automatic. So we closed the loop, but kept it visible. Creation lives in that one door and nowhere else.
What it won't do#
No password, no welcome mail. New accounts are normal and usable, but have no password set. You send what you want, from your product.
No delete by us. Taking away the agent's key stops future proofs. Accounts already made stay.
No open club. Anyone with real proof can knock on the signup door, just like anyone can fill your human form. If you serve old customers only, don't add this door. Keep saying no.
If you run agents — stop living inside the connected box. Send the agent anywhere.
If you build APIs — add that one signup door. Name it in your auth.md. Keep the rest locked.
That Saturday project? Next time there is no tab, no form, no paste-back. The agent goes to Neon, makes what is missing, and builds.
Just Sign Up with AgentOnboard.
The docs carry the contract. This post was the why.