How to let AI agents sign up for your product

AgentMail and Cloudinary hand an agent a working key in one call; copy their flow with a short onboarding API of your own.

The numbers

As of 20 October 2026: from the drives of 147 products, 1 to 20 October 2026. Each one links to its definition and evidence.

By AgentDrivesPublished 20 October 2026147 products, driven 1 Oct to 20 Oct6 min readTopic Agent sign-upFor agents Markdown

92 of 147 products where sign-up itself, before its verification, was the first checkpoint our agent did not pass on its own

As of 20 October 2026, sign-up was the first checkpoint our agent could not clear alone at 92 of 147 products we drove (63%). The fix is a separate way in for agents: a documented API, CLI or protocol route they call directly, while your form stays for people. An email form with no bot check also let our agent in, but browser agents such as Claude in Chrome won’t make an account through a form: Anthropic lists creating accounts as a prohibited action, whatever permissions the user gives it (Claude in Chrome permissions guide1).

Our agent got in on its own at 50 of 147 products we drove

Products our agent got into on its own
Products: 50 of 147.50 of 147Products our agent got into on its own: 50 of 147
Products: 50 of 147.50 of 147Products our agent got into on its own: 50 of 147
Products: 50 of 147.50 of 147Products our agent got into on its own: 50 of 147

As of 20 Oct 2026: our drives of 147 products, 1–20 Oct 2026 · Today's numbers

Data table
ProductsOut ofShare
Products our agent got into on its own5014734%

The group includes a CRM (Attio), a form builder (Tally), a database (Neon, through its no-account route) and a team chat (Zulip); each page has its drive, and how we drive has the checkpoints. At Attio and Tally the email sign-up showed no bot check, and what it asked for next, a temporary password at Attio and a code at Tally, arrived by mail. Both make API keys only in the web app’s settings; the key had to be copied from a dashboard in a browser at 31 of 147 products. Mattermost needed a browser for its sign-up form and emailed code; our agent then made a personal access token over its API with the account’s email and password. Zulip needed a browser only for an invisible ALTCHA proof-of-work that cleared on its own, and its API key came over the API. At 8 of 147 products our agent got in on some recent drives and not on others, Apify among them.

If your product is outside this group, start with sign-up. Our agent signed up on its own at 41 of 147 products, and in a browser at 36 of 147. Sign-up needed a human at 64 of 147 and blocked our agent outright at 28 of 147. The step-by-step counts are in can AI agents sign up, and the bot checks behind them are in which bot checks stop AI agents.

A sign-up call with no browser already works

At 5 of 147 products, AgentMail, Cloudinary, DocuSeal, Penpot and SignWell, our agent ended up with a working account without opening a browser. At AgentMail the route is a sign-up endpoint made for agents, and at Cloudinary it is one unauthenticated API call that returns a working cloud and its keys; at DocuSeal and SignWell it is the product’s public sign-up form, submitted without a browser. Stripe returned a test sandbox with keys from stripe sandboxes create, with no account, and Shopify made a preview store from its CLI the same way. Anchor Browser hands out an API key with no account after a short text puzzle over HTTP, and Vercel gave a temporary deployment and its token through vercel deploy --temporary. Railway gives a project token with no account through an anonymous box it hands out, though its account sign-up shows a visible Cloudflare Turnstile.

Signed up without a browser
Products: 5 of 147.5 of 147Signed up without a browser: 5 of 147
Products: 5 of 147.5 of 147Signed up without a browser: 5 of 147
Products: 5 of 147.5 of 147Signed up without a browser: 5 of 147

As of 20 Oct 2026: our drives of 147 products, 1–20 Oct 2026 · Today's numbers

Data table
ProductsOut ofShare
Signed up without a browser51473%
  • AgentMail: an unauthenticated POST to its agent sign-up endpoint, with a human’s email and a username, returned an organization, an inbox and an API key in a single response. Its llms.txt opens with these steps.
  • Cloudinary: an unauthenticated POST to its provisioning endpoint returned a working cloud, its key and secret, and a claim link a human can open later.
  • DocuSeal: no phone asked and no challenge shown. The account worked straight away, and its API key came after an emailed code.
  • Penpot: an account our agent made in the web form invited a second one. Our agent registered and activated that second account over Penpot’s API, with the token from its verification email.
  • SignWell: a Business trial started with no card.

AgentMail’s exchange suits a product where a new account can reach other people. The key works immediately, but until the code emailed to the attached human comes back, it can send only to that address and cannot create more keys. Cloudinary’s claim link is the other pattern: use first, a human keeps it later.

On recordAgentMailEmail infrastructureL4Runs on its ownGot in; a wall at deleteProduct page

Our AgentMail drive also hit steps an owner can fix:

  • A 403 after verify. The first scoped-key call after a successful verify was refused, with a clear note to wait for permissions to update. Fix: lift restrictions synchronously on verify, or return a distinct status code with Retry-After.
  • No account delete. Our agent found no route to delete the organization. It removed every inbox, webhook and key, and the empty organization stayed. Fix: DELETE /account.

The onboarding API to ship starts with one call that returns a restricted key

Where our agent got as far as the key, it got one on its own at 46 of 54 and could not get one at all at 2 of 54. Put the limits on the unverified account, not on sign-up:

POST   /agent/signup      → 201 { account, credential (never shown again), restrictions[], next[] }
POST   /agent/verify      → the code from the human's email lifts the restrictions
POST   /agent/claims      → a claim link for a human who prefers to sign in
GET    /agent/status      → what is still restricted, why, and how to lift it
POST   /api-keys          → scoped keys, never more than the parent's rights
DELETE /api-keys/{id}     → revoke, effective immediately
DELETE /account           → the agent can always leave

Return the secret only in the typed credential field, never inside free-text instructions. MotherDuck’s how_to_use_motherduck field shows the clean version: instructions for the agent, no secret (MotherDuck’s agent sign-up docs2).

Return no key for a repeated sign-up with an email that already has an account: answer with a generic check-your-email response, and rotate keys only from an authenticated session. Keep your bot check on the web form and leave /agent/* out of it; the limits on the unverified account do that job there.

These endpoints are the minimal shape. auth.md, which WorkOS published as an open protocol for agent registration, is the published version of the same restricted-key-then-claim flow: a service puts a Markdown file at /auth.md beside standard OAuth metadata (WorkOS launch post3). A 401 points the agent to /.well-known/oauth-protected-resource (RFC 9728), and the authorization server’s metadata carries an agent_auth block with the identity and claim endpoints. Its anonymous identity type issues a credential with pre-claim scopes at once, and a human can claim the account later.

The spec changed after launch, from /agent/auth to /agent/identity, so read the live agent_auth metadata (the auth.md repo4). Its identity-assertion type rests on ID-JAG, still an IETF draft, not an RFC (the draft5).

Claimable Neon uses the anonymous type (Neon’s Claimable Neon page6). With no account and no human, our agent created a project, ran SQL and deleted it. Branching waits for a human claim, and Neon’s own account sign-up put a Cloudflare challenge in front of our agent, which signs with Web Bot Auth but was on no provider’s verified list during these drives.

On recordNeonDatabasesL3Does the workGot in; payment not reachedProduct page

Where our agent reached verification, it verified on its own at 36 of 41

Verified on its own, where it got that far
Products: 36 of 41.36 of 41Verified on its own, where it got that far: 36 of 41
Products: 36 of 41.36 of 41Verified on its own, where it got that far: 36 of 41
Products: 36 of 41.36 of 41Verified on its own, where it got that far: 36 of 41

As of 20 Oct 2026: our drives of 147 products, 1–20 Oct 2026 · Today's numbers

Data table
ProductsOut ofShare
Verified on its own, where it got that far364188%

Our agent verified without a browser at 10 of 41, and verification stopped it at 5 of 147 products. When the code is resent, send a new code and leave the key as it is.

If you send a link, make a click spend it, not the page load. At Fillout the link opens a page with a Verify email button, and a plain GET does not verify; our agent finished with that click in a browser. At PlanetScale, opening the link with a plain HTTP request verified the account. Put a code beside the link so an agent can finish without the page.

Ask for email before any phone. Help Scout asked for an SMS code before the account existed, and Teamwork.com and Zendesk required a phone number in the sign-up form; our agent had none. Browserbase requires one too, and its API keys exist only behind that account. Keep phone checks for the features that need them, after the account exists.

The free check shows the wall an agent would likely hit at your product

Run the free check on your product.

If the wall it names is your sign-up form, ship the agent sign-up call and the verify-by-code endpoint above.

Where our agent stopped in each.

22 products in this guide, by level.

  • AgentMailEmail infrastructure
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: An agent payment for part of its API, none made yet.
    • Leave: Nothing to cancel; its account stays.
    L4Runs on its ownDriven 14 Oct 2026
  • Anchor BrowserBrowser infrastructure
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Key by API.
    • Use: 90% of the work.
    • Pay: Payment not reached.
    • Leave: Nothing to cancel; what it made stays.
    L4Runs on its ownDriven 5 Oct 2026
  • AttioCRM
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Leaves on its own: Cancels on its own, deletes its account.
    L4Runs on its ownDriven 2 Oct 2026
  • CloudinaryFile storage
    • Learn: Docs with gaps: llms.txt and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Payment not reached.
    • Leave: Nothing to cancel; its account stays.
    L4Runs on its ownDriven 6 Oct 2026
  • DocuSealE-signature
    • Learn: Docs it can act on: llms.txt and an OpenAPI.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its ownDriven 6 Oct 2026
  • FilloutForms
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 90% of the work.
    • Pay: Reaches the checkout: Stopped at the $19 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its ownDriven 22 Oct 2026
  • PenpotDesign
    • Learn: Docs with gaps: llms.txt and an MCP server; no getting-started page.
    • Access: Key by API, sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the $14 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its ownDriven 17 Oct 2026
  • TallyForms
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: MCP sign-in, sign-up in a browser.
    • Use: 90% of the work.
    • Pay: Reaches the checkout: Stopped at the $34.78 a month charge.
    • Leave: Nothing to cancel; deletes its data, but the login stays.
    L4Runs on its ownDriven 17 Oct 2026
The other 14 products
  • ZulipTeam chat
    • Learn: Docs it can act on.
    • Access: Try first, claim later, sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the $8 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its ownDriven 24 Oct 2026
  • MattermostTeam chat
    • Learn: Docs with gaps: An OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 62% of the work.
    • Pay: Needs a person to buy: A sales call.
    • Leave: Nothing to cancel; its account stays.
    L3Does the workDriven 6 Oct 2026
  • NeonDatabases
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Try first, claim later.
    • Use: 50% of the work.
    • Pay: Payment not reached.
    • Leave: Leaves on its own: Nothing to cancel, deletes what it made.
    L3Does the workDriven 19 Oct 2026
  • RailwayHosting and deploys
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Try first, claim later.
    • Use: 60% of the work.
    • Pay: Payment not reached.
    • Leave: Leaves on its own: Nothing to cancel, what it made goes after 24 hours.
    L3Does the workDriven 6 Oct 2026
  • ShopifyE-commerce
    • Learn: Docs it can act on: llms.txt and an MCP server.
    • Access: No key needed, try first, claim later.
    • Use: 56% of the work.
    • Pay: Needs a person to buy: A CAPTCHA before the checkout.
    • Leave: Nothing to cancel; what it made stays.
    L3Does the workDriven 17 Oct 2026
  • SignWellE-signature
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Cancels via support: Cancels only through a retention flow or support.
    L3Does the workDriven 6 Oct 2026
  • StripePayments
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Try first, claim later.
    • Use: 56% of the work.
    • Pay: Payment not tried: Our agent worked without an account, so it had none to buy in.
    • Leave: Leaves on its own: Nothing to cancel, what it made goes after 7 days.
    L3Does the workDriven 17 Oct 2026
  • BrowserbaseBrowser infrastructure
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Pay per call.
    • Use: 20% of the work.
    • Pay: Pays per call for part of it: Paid $0.01 a call (x402), 13 Oct.
    • Leave: Leaves on its own: Nothing to cancel, deletes what it made.
    L2Gets inDriven 13 Oct 2026
  • PlanetScaleDatabases
    • Learn: Docs it can act on: llms.txt and an MCP server.
    • Access: MCP sign-in, sign-up in a browser.
    • Use: Work not reached.
    • Pay: Reaches the checkout: Stopped at the $5 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L2Gets inDriven 22 Oct 2026
  • VercelHosting and deploys
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: No key needed, try first, claim later.
    • Use: 22% of the work.
    • Pay: Reaches the checkout: A billing API, none made yet.
    • Leave: Leaves on its own: Nothing to cancel, what it made goes after 1 hour.
    L2Gets inDriven 19 Oct 2026
  • ApifyWeb scrapingpays per use without an account
    • Learn: Docs it can act on: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Signs up sometimes: partly.
    • Use: 89% of the work: yes.
    • Pay: Pays on its own: yes: Paid $1 for prepaid credit (x402), 16 Oct.
    • Leave: Nothing to cancel: yes: What it made goes after 14 days.
    Gets in 1 of 3 drives; a bot check can stop it
    L1Needs a personDriven 16 Oct 2026
  • Help ScoutCustomer support
    • Learn: Docs it can act on: yes: llms.txt.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its ownPhone SMS verification at sign-up
    L1Needs a personDriven 15 Oct 2026
  • Teamwork.comProject management
    • Learn: Docs with gaps: partly: llms.txt and an MCP server; no getting-started page.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a personDriven 17 Oct 2026
  • ZendeskCustomer support
    • Learn: Docs it can act on: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its ownPhone number required on trial sign-up
    L1Needs a personDriven 6 Oct 2026

See what stops an agent at your sign-up.

Free: what an agent finds, any wall in its way and how many things to fix. An Audit Drive ($499) gives you every fix, and we drive you again after your fixes, within your Audit year.

Where these numbers come from.

Products
147
Driven
1 to 20 October 2026
Numbers
Counted by code from our agent's drives of these products; each links to its definition and the products behind it.

How we drive and score

Written and checked by our agents from these drives. How we write.

Pages this guide cites.

As linked when it was written. ↩ goes back to where the text cites it.

  1. 1support.claude.com · Claude in Chrome permissions guideen/articles/12902446-claude-in-chrome-permissions-guide↩
  2. 2motherduck.com · MotherDuck’s agent sign-up docsdocs/key-tasks/ai-and-motherduck/agent-account-signup↩
  3. 3workos.com · WorkOS launch postblog/agent-registration-with-auth-md↩
  4. 4github.com · the auth.md repoworkos/auth.md↩
  5. 5datatracker.ietf.org · the draftdoc/draft-ietf-oauth-identity-assertion-authz-grant↩
  6. 6neon.com · Neon’s Claimable Neon pageclaimable-neon↩

Asked about this guide.

Is it a CAPTCHA that stops agents at sign-up, or something else like a missing field?

Where sign-up was our agent's first stop, a bot check was the reason at 83 of 92, though our agent signs every request with Web Bot Auth; no bot-check provider listed it as verified during these drives. The others asked for something our agent didn't have, such as a phone number, a Google account or a card.

If an agent can't sign up through an API, is there a smaller fix worth shipping first?

Yes: let the key leave the dashboard. At 30 of 147 products the key had to be copied from a dashboard in a browser, and the first call then worked without one.

Does any product let an agent get its API key with no browser?

Our agent got its key without a browser at 15 of 147 products: AgentMail, Anchor Browser, Apify, Browserbase, Cloudinary, DocuSeal, Mattermost, Neon, Parallel, Penpot, Railway, Shopify, Stripe, Vercel and Zulip.

Cite this

AgentDrives. “How to let AI agents sign up for your product.” 20 October 2026. agentdrives.com/guides/let-ai-agents-sign-up

Drive data is CC BY 4.0. The text as Markdown. Every fact with its evidence.

More from the drives.