WORLD CATALOGCOMMS & SCHEDULINGVERIFIED AGAINST THE REAL SYSTEM

Twilio logo

Twilio sandbox for AI agents

With Twilio's test credentials nothing is sent, charged or kept. Twilio's documentation says a request made with them does not charge the account, does not update the account's state and does not connect to real phone numbers; only a handful of resources accept them and every other request answers 403; messages and calls made with them trigger no status callbacks (Test credentials). The SIDs they return are fake and cannot be found in the logs. So an agent that texts or calls customers is tested either against nothing at all, with no state and no receipts, or against live numbers with real money and real phones on the line. The Twilio world is a stateful Twilio mock built for testing agents: the same URLs, the same errors and the same state machine as the real API, on your machine, verified against the real system.

Twilio test credentials limits

The thing an agent gets wrong with messaging is not the request, it is the aftermath: the delivery receipt that comes back failed, the callback that arrives after the agent has already moved on, the second send when the first one was merely slow. Test credentials model none of it, because nothing they do is kept. A world keeps all of it. A message goes through queued, sent and delivered, or fails with the error a carrier would give; the status callback fires when the world says it does; and the record of every send is there to read at the end of the run.

A stateful Twilio mock: SMS, calls, numbers, delivery receipts

The world keeps phone numbers and messaging services, messages with their status, direction, body and price, calls with their state and duration, and the status callbacks each one produces. It keeps Twilio's rules with them. A message from a number the account does not own is refused with the real error. A message to a landline fails the way it would fail. A call that was never answered has no duration. The delivery receipt is an event with a time, and the agent that does not wait for it is the agent that sends twice. Everything the agent creates stays in the world, so the second request sees what the first one did.

Test your AI agent against Twilio

Point the agent's Twilio client at the world. Nothing in the agent changes. The path is three commands: the first copies the account and writes the worlds folder, the second turns your own queue export into tasks, one per row, with the expected outcome on the rows where you know it, and the third runs the agent three times on fresh copies and writes the report. The three steps take about ten minutes; the GET ACCESS form on this page is where the Twilio world starts.

Grade what the agent did, not what it said

A run starts from a mark and ends with a diff: every message sent, to which number, with which body, and what became of it; every call placed; every number bought or released. The transcript says the customer was notified; the diff shows two identical messages to the same number a second apart. The transcript says the appointment reminder went out; the diff shows a message to the wrong contact, the one with the same name. Where a message carries a promise about money, the payments world beside this one shows whether the money moved, in dollars. The report gives every task a verdict and a reason, and replays the worst run to the byte.

Break it on purpose

Carriers fail, numbers are unreachable and receipts arrive late, and an agent working a queue will meet all three at the worst moment. In the world that moment is on your schedule: a delivery failure on every third message, a callback that arrives twice, an outage mid run, a slow API, a 429. Does the retry logic send the same text three times? Does the agent tell the customer they will get a call when the call failed? Then move the clock, so scheduled messages come due, and read the diff again.

Twilio test environment for agents, in CI

The same command that runs on a laptop is the CI step the first command wrote. No live numbers, no spend, no magic values to remember: the world starts fresh inside the job, the agent runs every task, the report is the artifact, and nothing leaves the machine. Every world in the catalog takes the same path; Gmail, Zendesk and Stripe are three more of them, and the docs are the path in full.

RELATED WORLDS

EVERY WORLD IN THE CATALOG