AI customers for developers: an email API, a phone number and a browser for your agent
How to give an AI agent an inbox, a phone number and a browser and keep it a customer of thousands of companies for months, the hard parts at scale, what the parts cost at published prices, and how to call it over MCP.
Its own inbox, a UK number and a browser, made for this company at 09:00
- 09:00Signed up by programThe store’s form platform, learned once, 4 seconds
- 09:01Confirmed double opt inOpened the confirmation email and clicked its link
- 09:01AsleepNo process runs and nothing is billed for time
- 09:03Woke: welcome emailRaw email kept with a hash. DKIM pass, key stored
- 09:03Fact: welcome_email.arrived2 minutes after sign up, with code FERN10
An example on an invented store, as an API might return 1 customer agent. Each fact links to its evidence.
An email API for AI agents, such as AgentMail, gives each agent its own inbox, and an AI customer needs that plus a phone number, a browser, a sign up program for each platform, waiting that costs nothing for months, and an evidence store that keeps each email with its DKIM result and a hash. You can build it from services such as AgentMail, Twilio, Browserbase and Cloudflare Durable Objects, or call a hosted system over MCP and an API.
ComparedBuild or buyGo straight to the comparisonOn this page
Engineers who build agents to track rivals, research prospects or test their own sign up flow need the agent to be a customer: to receive the welcome email, the login code by text and the price change 3 weeks later, and to show what arrived in a form anyone can check.
Each part exists as an API. AgentMail gives agents their own inboxes to send, receive and act on email, Twilio leases phone numbers that receive texts, and Browserbase runs browsers that agents drive. The work is in joining them into a customer that lasts months at thousands of companies, at almost no cost while it waits, with evidence that holds up.
$1.15
a month to lease a US long code number for texts and calls
Twilio US SMS pricingtwilio.comWhat you are building
An AI customer is an AI agent that becomes a real customer of a company, with its own inbox, phone number and browser, and keeps what the company sends and shows it as evidence. In an API, each one is returned as a customer agent: 1 company, 1 identity, and the evidence it has kept. The definition and its neighbours are in AI customers.
A customer lasts months where an agent session lasts minutes, so most of the engineering moves from compute to state: an identity that keeps working, waiting that costs nothing, and evidence that still checks out after the sender has replaced its keys. A system that does this has 5 parts.
- Identities: an inbox per company, a phone number per market and a browser.
- Sign up programs: 1 per platform, learned once and replayed as code.
- Durable waiting: state that sleeps until an email, a text or a timer wakes it.
- An evidence store: each email and page as it arrived, with its time, DKIM result and hash.
- Typed facts: 1 sentence each, with a link to its evidence, sent where they are used.
The build, part by part
Identities: an inbox, a phone number and a browser
Give each AI customer its own inbox at each company it joins, so every email belongs to 1 company and 1 watch. An email API for AI agents creates one in a single call. AgentMail’s pricing lists 10 inboxes for $20 a month on Developer, 150 for $200 on Startup, and $2 a month for each extra inbox. Gmail’s tabs are Gmail’s own sorting, so if you need to know whether an email landed in Promotions, that inbox has to be a Gmail mailbox.
A phone number per market receives texts and login codes. Twilio lists a US long code at $1.15 a month and $0.0083 per SMS segment sent or received, plus carrier fees, and says US A2P 10DLC numbers are subject to registration onboarding fees. Take each text by webhook and file it under the company that sent it.
A browser opens pages, fills in forms and reaches checkout. Browserbase describes itself as a platform for agents that browse and interact with the web like humans, and its pricing includes 100 browser hours on the $20 Developer plan, then $0.12 a browser hour.
Every identity is made for the job and belongs to whoever runs it. It never uses a real person’s name, address or card.
Sign up programs, 1 per platform
An AI customer signs up through the forms any customer uses: the pop up, the footer form, the checkout tick box, the trial form. With double opt in, a subscriber clicks a link in a confirmation email or text before being added, so a sign up is finished only when the inbox has received that email and the link has been opened.
Most companies collect sign ups on a few email and form platforms, so treat each platform as 1 program. Work out the first sign up on a platform with an agent, record the steps, and replay them as code at every company built the same way. Keep the agent for forms no program recognises, and version every program, because a page change can break one without raising an error.
Identify your agent, and stop where a site says no. Cloudflare’s Web Bot Auth lets bots and agents sign their requests with HTTP message signatures, and Shopify’s Storefront API gives signed traffic higher rate limits than unsigned bots. An AI customer never gets round a CAPTCHA or a bot wall. The report names the step it couldn’t test.
Durable waiting
Much of what a customer receives arrives late: the reminder the next day, the win back email after 60 days, the renewal notice after 11 months. A process kept running for each customer would bill for every hour of that wait, so keep each AI customer as state that sleeps and wakes on 3 events: an email, a text or a timer.
On Cloudflare, Durable Objects that are idle and eligible for hibernation are not billed for duration. Requests, which include alarm invocations, come with 1 million a month on the Workers Paid plan and then cost $0.15 a million, and that plan has a minimum charge of $5 a month. An AI customer that wakes 30 times a month makes 30 requests.
The evidence store
Store each email exactly as it arrived, in an append only store: the raw message, its headers, the time it landed and a hash of its bytes. Keep each page capture the same way, with its address and time. Verify the DKIM signature on arrival, and keep the public key you verified it with.
Arrival is the moment to check. RFC 6376, the DKIM standard, lists message archiving among the things it is not designed for, and describes how a domain replaces a key by publishing a new selector and then removing the old public key. A genuine email checked a year later can fail only because its key is gone. A result recorded on arrival, kept with the key and the hash, still shows which domain signed the message and that it hasn’t changed since.
Typed facts
Turn each piece of evidence into facts with a type, a company, a time, 1 sentence and a link back: welcome_email.arrived, code.refused, price.changed. Use plain code where the format is fixed, such as a price on a page, and a small model where it isn’t, such as telling a welcome from a reminder. Anthropic lists Claude Haiku 5.5 at $0.10 per million input tokens and $0.50 per million output tokens, so classifying 30 emails of about 4,000 tokens each, with a short answer for each, costs about 2 cents.
Version the rules that turn evidence into facts. When a rule changes, derive the facts again from the stored evidence instead of visiting the company again, because last month’s emails can’t be collected twice.
The hard parts at scale
For 5 companies, a developer can join these parts in a few days. At thousands, most of the work sits in 7 places. The engineering of each, and the durable execution engines that handle the waiting, is in long running AI agents, and 10 systems to build on them are in what to build with AI customers.
- The long tail of forms. A few platforms cover most sign ups. The rest each have their own form, their own confirmation step and their own changes after every release.
- Pages that change. A replayed program can break when a field moves, so each one needs a check that it still works and a fall back to an agent.
- Waiting for months, with timers that survive deploys and wake ups that run once, even when an event arrives twice.
- Evidence that outlives key changes, checked on arrival and stored with its key and hash.
- Telling messages apart. A welcome, a reminder, a price change and an order confirmation look alike to a parser, and the categories differ by sector.
- Countries. Prices, offers and delivery messages differ by market, so each market needs its own number and address.
- History. What a company sent last month can’t be collected today. Sharing 1 AI customer per company across every user who watches it gives a new user that history on day one.
The rules hold at any scale. An AI customer says it is an AI whenever it talks to a person, uses no fake payment details, never gets round a bot wall and never clicks a rival’s paid ads at volume, because Google Ads treats automated clicks as invalid.
Build or buy
Obsession makes AI customers, so every other option is described from its provider’s own pages as of 24 October 2026.
| Option | What it does well | Price | Where it stops | Best for |
|---|---|---|---|---|
| By handa spare inbox, a phone and a script | Any company, today, with nothing new to buy | Free, plus your hours | Hours grow with each companyNo evidence store | A handful of companies |
| InboxesAgentMail | Inboxes by API that send, receive and act on email | Developer: $20 a month, 10 inboxesStartup: $200 a month, 150 inboxesExtra inbox: $2 a month | Its own mail service, so no Gmail tab | An inbox per company |
| Phone numbersTwilio | Numbers for texts and calls, with webhooks | US long code: $1.15 a monthUS SMS: $0.0083 a segment, plus carrier feesUS A2P 10DLC: registration fees | Numbers and messages only | A number per market |
| BrowsersBrowserbase | Cloud browsers that agents drive | Developer: $20 a month, 100 hoursThen $0.12 a browser hour | A browser only, with no inbox or number | Sign ups, pages and checkout |
| WaitingCloudflare Durable Objects | State that hibernates and wakes on requests and alarms | Workers Paid: from $5 a monthRequests: $0.15 a million after 1 million | A runtime, with the logic yours to write | Months of waiting at almost no cost |
| ClassifyingClaude Haiku 5.5 | Turns an email or page into a typed fact | $0.10 in and $0.50 out per million tokens | Needs the evidence to read | Facts from stored evidence |
| ObsessionOurs5 verbs over MCP, an API and an SDK | Customer agents with an inbox, number and browserShared history from day oneEvidence with its DKIM result | Not listedPer call or per company watched, never per token | Keys from a waitlist, a team at a timeStops at bot walls | Agents that need a customer at many companies |
Each service does its part well. You still write the sign up programs, the waiting, the evidence store and the facts. To put a number on the parts, count your companies and multiply: 1 inbox each, 1 number per market, about 10 browser minutes, and 30 wake ups and 30 classified emails a month.
- Inboxes: AgentMail Startup150 included, 50 more at $2
- $300.00
- Number: Twilio US long code1 number for the market
- $1.15
- Texts: 800 segments received$0.0083 each, plus carrier fees
- $6.64
- Browsers: Browserbase Developer33 hours, inside the 100 included
- $20.00
- Waiting: Cloudflare Workers Paid6,800 wake ups, inside 1 million requests
- $5.00
- Facts: Claude Haiku 5.56,000 emails, 24M tokens in, 1.8M out
- $3.30
- Services a monthAbout $1.68 per company, before engineering time
- $336.09
In this example the inboxes are 89% of the bill, and the services come to about $1.68 per company a month. The larger cost is the engineering time to write and keep the sign up programs, the store and the classifier, so set your own hours against a hosted system’s price. The full cost model, against people and mystery shoppers, is in AI customers at scale.
Build it when you watch a handful of companies, need the store in your own systems, or want to run an open source runtime yourself. Buy when you need thousands of companies, history from the first day, or numbers in many countries.
Calling AI customers over MCP and an API
MCP is an open source standard for connecting AI applications to external systems. Ecommerce MCP servers such as Shopify’s act for a buyer: through them, agents search products, build carts, check out and fetch an order’s status. A customer-side server reports what each company sent and showed its customers, with the evidence.
Obsession exposes AI customers as 5 verbs over MCP, an HTTP API and TypeScript and Python SDKs: lookup (which companies the shared record already covers, and since when), facts (what a company did, each with its evidence), evidence (the raw email, page or transcript behind a fact), become_customer (start customer agents, or join ones already there) and notify (new facts pushed to your webhook, Slack or CRM as they land). Its runtime is open source: it fans out to many companies at once, sleeps each customer agent for free and learns each sign up once before running it as code, and Obsession Cloud runs it with inboxes and numbers in many countries and months of shared history. Keys open from a waitlist, priced per call or per company watched with a spending cap you set, and an agent connects to the MCP server at mcp.useobsession.com.
An agent adding 3 rivals a user named, over MCP
- 09:00lookup: 3 domains2 covered since July, 1 not yet
- 09:00facts: since 24 SeptemberThe covered rivals’ facts, each linked to its evidence
- 09:01evidence: 1 price emailThe raw email, its DKIM result and its hash
- 09:01become_customer: 1 domainAn AI customer starts a trial as a new customer
- 11:42notify: fact.createdquillery.example cut Pro from $49 to $39 a month
An example with invented companies. The 5 calls are Obsession’s verbs. What the app shows its user is its own.
Limits
- A bot wall or a CAPTCHA stops it, and the report names the step it couldn’t test.
- A new customer sees what new customers get. Long standing customers may receive other emails and other inbox placement.
- It records outputs. Why a company sent something sits in that company’s own systems.
- Some journeys need a real purchase, on a card its owner funds.
- You may not need it. For a few companies checked now and then, a spare inbox, a phone and a weekly script are enough.
Questions from developers
An email API for AI agents gives each agent its own inbox that it can create, read and send from by API. AgentMail is one, at $20 a month for 10 inboxes on its Developer plan.
Lease a number from a provider such as Twilio, at $1.15 a month for a US long code, and receive each text and call by webhook. Twilio says US A2P 10DLC numbers carry registration onboarding fees.
Yes. Shopify’s developer docs offer MCP servers through which agents search products, build carts, check out and fetch order status for a buyer. What companies send their customers comes from a customer-side server backed by AI customers.
Yes. Keep it as state that sleeps and wakes on an email, a text or a timer. Cloudflare doesn’t bill Durable Objects for duration while they are idle and eligible for hibernation.
Keep the raw message with its headers and a hash, verify its DKIM signature on arrival and keep the public key. Domains remove old keys, so a check made much later can fail on a genuine email.
In an example of 200 companies in 1 market, the services cost about $336 a month, or $1.68 per company, at published prices on 24 October 2026. The engineering to build and keep it running is the larger cost.
Sources
In the order the article cites them. Every link was checked on 24 Oct 2026.
- Welcome
- SMS pricing in the United States
- What is Browserbase?
- Pricing
- Pricing
- About double opt-in
- The age of agents: cryptographically recognizing agent traffic
- Storefront API reference
- Durable Objects pricing
- Workers pricing
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures
- Pricing
- Invalid clicks: definition
- What is the Model Context Protocol (MCP)?
- Build commerce agents with UCP