Back to blog

How an AI agent signs itself up for a phone number

An agent can start its own Bland sign up, but a human checkpoint clears any number or charge before it is final. Two paths exist, link based and headless.

Ethan ClouserUpdated October 21, 20265 min read

An agent can start the sign-up itself, but Bland builds in a human checkpoint before any number or charge is final. There are two documented paths. In the link-based flow, the agent shows its owner a sign-in link and code, and the owner approves in a browser. In the headless flow, an owner with no existing Bland account verifies a texted code, and the agent completes payment using a wallet token. Either way, the plan costs $14.99 for the first month and $29.99 a month after, for one dedicated US number with unlimited US and Canada voice minutes and SMS under fair use.

  1. The agent calls POST /v1/agent/onboarding/start with no API key needed, optionally passing a client_name and some prefill details about the owner.
  2. The agent shows the owner the returned verification link and a short code. The code expires in 15 minutes.
  3. The owner opens the link, signs up or signs in, and chooses either the Agent Phone Plan or the free $2 credit option, then approves in the browser.
  4. The agent polls POST /v1/agent/onboarding/poll and, once approved, receives an api_key and org_id exactly once, plus a phone_number if the plan was selected and provisioning has completed. If polling runs faster than the server's stated interval, it returns a 429 and a new interval to wait for.

Bland's agent-facing spec page is explicit about this flow: the agent should never ask for payment information or approve the purchase on the owner's behalf. The human approves the charge in their own browser session.

The headless flow, for an owner with no Bland account yet#

  1. The agent calls POST /v1/agent/onboarding/headless/start with the owner's phone number and email. Bland texts the owner a six-digit code, valid for 10 minutes.
  2. The owner relays that code back to the agent.
  3. The agent calls POST /v1/agent/onboarding/headless/complete with the code and a payment method: a Stripe Link shared payment token from an agent wallet, or a response to a Machine Payments Protocol 402 challenge. A Link virtual card is refused.
  4. On success, the response includes api_key, org_id, phone_number and the plan purchased. The session starts with a 10-minute window. The first successful code check restarts that window once; requesting another challenge does not restart it again. If the owner already has a Bland account, this flow returns a 409 ACCOUNT_EXISTS error, and the link-based flow must be used instead. A declined payment creates nothing and falls back to a browser link instead.

Unlike the link-based flow, the agent presents payment itself here, through a wallet token it holds, so a human does not enter a card.

What an owner should check after setup#

Whichever flow is used, check that the phone number returned actually belongs to your organization before letting the agent use it to call or text other people, and read what plan was purchased, since the free credit option has no dedicated number and no texting. Only use the resulting number to contact people who have agreed to hear from you. This is not a tool for cold outreach, and you are responsible for your own consent and call recording rules. Bland's terms are at bland.ai/legal/terms; this is not legal advice.

The CLI route#

For an agent running from a terminal, Bland also ships a CLI:

bash
npm install -g bland-cli
bland auth login --device

This wraps the link-based device flow: it displays the link and code, polls for you, and stores the resulting key in the CLI profile once approved.

Limits and the first-month rule#

[@portabletext/react] Unknown block type "table", specify a component for it in the `components.types` prop

AgentCall's signup against Bland's two flows#

This post is published by Bland. AgentCall is a separate phone number API aimed at agents, with a 62-tool MCP server. As of October 2026, its free tier runs a 72-hour live trial that provisions one US local number, but it requires card verification before that trial starts; its Pro plan is $19.99 a month plus usage (source: agentcall.co). AgentCall asks for a card up front and checks it automatically. Bland's two flows instead put a human step, a browser approval or a texted code, between the agent and a live charge, and the agent never handles card details directly in the browser-approval flow.

A worked example#

A small business owner, Felix, asks a coding agent he runs locally to get itself a phone number so it can call suppliers. The agent has no Bland account to work with, so it starts the headless flow with Felix's phone number and email. Felix receives a six-digit code by text, reads it back to the agent, approves the charge in Link, and the agent completes signup using a wallet token it already holds, 1499 US cents for the first month at the time of the request. The agent receives its API key and a new number, 555-0133, and Felix can see the charge on the linked payment method afterward.

The phone number API for AI agents page sums up both flows, and the AI phone number plan covers pricing and fair use. For what comes after signup, what ChatGPT can do once it's connected describes ChatGPT's supported tools, can your AI agent answer its own phone covers inbound, and what unlimited calling means on the plan explains the caps.

FAQ#

Can an agent get its own number without me?#

Not entirely without you. The agent can start the process, but either you approve a request in your browser (link-based flow) or you relay a texted code back to the agent (headless flow) before a number is issued.

Who pays for the plan?#

On the link-based flow, you approve the charge yourself in the browser; the agent never handles your payment details. On the headless flow, the agent completes payment using its own wallet token after you confirm a texted code.

What does the plan cost on either flow?#

$14.99 for the first month, then $29.99 a month, for one dedicated US number with unlimited US and Canada voice minutes and SMS under fair use: one call at a time across your account, 20 calls an hour, 50 a day, 1,000 call minutes a day, 60 minutes max per outbound call, and 20 texts an hour, 100 a day, to US and Canada numbers only.

What if I already have a Bland account?#

Use the link-based flow. The headless flow is for owners with no existing account and returns an error if one is found.

Is there a CLI for this?#

Yes. bland-cli's bland auth login --device command wraps the link-based flow from a terminal.

How is AgentCall's signup different?#

AgentCall's free tier requires card verification up front for a 72-hour trial. Bland's flows instead require a browser approval or a texted code before any number or charge is finalized.

See Bland on your actual call volume.

10 to 15 minutes with the team that ships your first agent. We come prepared with answers, not a pitch deck.

Book a call
Written byEthan ClouserContributor