The system
How the system worksThe DirectoryDispatchThe LedgerAI modelsAI agentsYour installationThe appThe research libraryWhat changes for your businessUse it from your softwareEverything it can do
Messaging
iMessageWhatsApp
Ads and leads
AdsCreativeLeads
Devices
Devices
Industries
RealtorsRestaurantsHome services
Explore
How it worksPermissions and limitsCompareSet upQuestionsText me

Ten benefits for a business

What the system changes for a business, and which part does it.

Ten things that change for a business that uses this system. Each card says what changes, explains the part of the system that does it, and links to that part’s page.

1,335actions in this system’s Directory
—entries in this system’s Ledger
—AI models recorded in the Ledger

Live counts, read from this site when this page loaded

  1. 01Missed calls get a text back
  2. 02You keep your phone number
  3. 03One connection for every tool
  4. 04A full record you can check
  5. 05Nothing sent outside your permissions
  6. 06Switch AI models freely
  7. 07AI agents that report back
  8. 08It says it is an AI when asked
  9. 09You keep everything if you leave
  10. 10Research with sources

The ten benefits

Each benefit, and the part of the system that does it.

Under each benefit, the part of the system behind it is explained. Use the switch to read that explanation for you, for your team, or for your developer; it changes every card at once.

Explain each part
01Where actions runPermissions and limits

A missed call gets a text back from your business number.

The phone rings out, the caller gets a text from your number within a minute, and it books the job into the hours you opened.

2:18Missed callnobody picks up
2:19Text from your numberwithin a minute
2:21Job bookedinto the hours you opened

An illustration: a missed call at 2:18, a text from the business number at 2:19, a job booked at 2:21. The business and the call are made up.

The parts of the system that do this

Where actions run

Depending on the action, the work happens on Cloudflare’s servers (always on), on your Mac, on your iPhone, in a web browser signed in to your accounts, or on Android phones rented in a data centre for apps that only run on a phone.

A website or app with no way to connect to it can be recorded once — the steps a person clicks — and saved as a new action in the Directory that can be run again at any time. The browser uses your own signed-in sessions, not fake accounts.

Executors: Cloudflare Workers and containers, a Mac bridge program, iPhone Shortcuts and App Intents, persistent browser profiles, cloud Android phones and Mac virtual machines. Recording steps and compiling them turns any website into a Directory row callable through dispatch.

Permissions and limits

You decide what the assistant may read (your calendar, your messages, your price list), what it may do (reply, book, invoice), and whom it may answer. A refund can be limited to $500, for one customer, for ten minutes. Ads are created paused. When someone asks, the assistant says it is an AI assistant.

Each action carries its limits: an amount, a time window, a channel, an account. A request outside them is refused, and the refusal is written to the Ledger like any other entry.

A scoped permission is issued for one task, with a limit and an expiry, and stops working when the task is done. With no permission, nothing runs; the refusal is a Ledger row.

Where actions run Permissions and limits The iMessage line

02Your existing business number

You keep your existing phone number, including if you leave.

The number you already advertise becomes an iMessage identity. If you stop using the system, the number stays with you.

If we part ways
Rented-number platformsThe number goes with them
Our dedicated lineYou keep it
Your own numberIt was always yours

From the comparison on the iMessage line page.

The part of the system that does this

Your existing business number

Nothing changes on your phone. Your customers keep the thread they already have with you, your caller ID matches your listing and your invoices, and the assistant replies from the same number you have used for years.

We test whether your line can pass Apple's verification. Most mobile carriers can. Hosted VoIP and some ported lines cannot, and we tell you before you pay anything.

Your number is registered as an iMessage identity on hardware we operate for you. Apple sends a one-time code to your line; you read it to us on the call.

Your existing business number

03The DirectoryDispatch

Every tool the business uses runs its actions through one connection.

Texting, booking, ads, reports and the websites you log into are each one action in the Directory, a table with one row per action. Dispatch is one web address that runs any of them: it looks the action up, checks the permissions, runs it on the right computer, returns the result and writes a Ledger entry. For a business that means:

  • One connection instead of a separate integration for every tool.
  • Your staff, your AI models, your spreadsheets and your phone use the same actions with the same permissions.
  • Switching to another AI model or vendor does not mean rebuilding anything.
  • One place to switch any action off.
  • Every action is recorded in the Ledger the same way, whoever or whatever asked for it.
1,335actions in this system’s Directory; dispatch can be reached 26 ways (a text, a link, a spreadsheet cell, an iPhone Shortcut, a command, an AI model’s tool call…)
Check whether a number can get iMessage, SMS or RCS before anything is sentiMessage
Look up one number, or a hundred at onceiMessage
Messages, files and images from the lineiMessage
Replies, reactions, edits and unsendiMessage
The typing indicator and read stateiMessage
Polls, contact cards and group chatsiMessage
Inbox, unread, history and search across threadsiMessage
Each message’s delivery statusiMessage
Attachments loaded from the threadiMessage
New messages arrive through one intake, signature checkediMessage
Scheduled sends queued and listediMessage
Contacts, identities and tagsiMessage
Groups and their membersiMessage
Webhooks created, rotated and replayediMessage
A message to one person, warm follow-up onlyWhatsApp
A message to a groupWhatsApp
The groups on the numberWhatsApp
A group’s recent messages, so a reply has contextWhatsApp
Incoming messages through the same intake as every other channelWhatsApp
Campaigns, ad sets and ads created pausedAds
Creatives, images and videos uploaded and attachedAds
Catalogs, feeds and product setsAds
Audiences from who already boughtAds
Lookalikes made and refreshed by ruleAds
Targeting searched and browsedAds
Delivery estimated before spendAds
Budgets set by ruleAds
A loser paused, a winner duplicatedAds
Every change in the account’s historyAds
Insights by day, sync or asyncAds
Conversion events sent server-sideAds
Pixels and datasets checkedAds
Cost-per-click change and lift, by a written methodAds
Generated from the briefCreative
Edited from a referenceCreative
Stored with a permanent linkCreative
Generated and polled to completionCreative
Stored with a permanent linkCreative
Credits used this month, against a capCreative
Businesses by place, by city, around a point on the mapLeads
Clinicians from the national registryLeads
Organisations and their websitesLeads
One lead or a batchLeads
Sites found and resolvedLeads
Mail servers verified before anything is sentLeads
Scored by rule or by a modelLeads
The first message drafted from the recordLeads
Follow-ups on day 2, 5 and 10Leads
Email sent, or sent with opens and clicks trackedLeads
A human reply becomes a conversion, a bounce a suppressionLeads
Rows pushed to a sheet you ownLeads
Shortcuts run from a textDevices
Apps launched, restarted, listedDevices
Camera, voice notes, location, share sheet inDevices
An approval asked on the phoneDevices
Screenshot and read the screenDevices
Click and type in any appDevices
Run AppleScript, JavaScript for Automation and the shellDevices
Calendar, Contacts, Mail, Notes read in placeDevices
Clipboard, notifications, files, windowsDevices
Your logins, one isolated profile per identityDevices
Fill, click, screenshot with a driverDevices
An agent given a goal, not a scriptDevices
Fetch, scrape, crawl, PDF, from the cloudDevices
Named workspaces that keep their filesDevices
Any command, in the cloudDevices
Jobs started, watched, cancelledDevices
Mac virtual machines cloned and runDevices
Real Android phones, on and off by callDevices
A permission issued for one jobDevices
Check whether a number can get iMessage, SMS or RCS before anything is sentiMessage
Look up one number, or a hundred at onceiMessage
Messages, files and images from the lineiMessage
Replies, reactions, edits and unsendiMessage
The typing indicator and read stateiMessage
Polls, contact cards and group chatsiMessage
Inbox, unread, history and search across threadsiMessage
Each message’s delivery statusiMessage
Attachments loaded from the threadiMessage
New messages arrive through one intake, signature checkediMessage
Scheduled sends queued and listediMessage
Contacts, identities and tagsiMessage
Groups and their membersiMessage
Webhooks created, rotated and replayediMessage
A message to one person, warm follow-up onlyWhatsApp
A message to a groupWhatsApp
The groups on the numberWhatsApp
A group’s recent messages, so a reply has contextWhatsApp
Incoming messages through the same intake as every other channelWhatsApp
Campaigns, ad sets and ads created pausedAds
Creatives, images and videos uploaded and attachedAds
Catalogs, feeds and product setsAds
Audiences from who already boughtAds
Lookalikes made and refreshed by ruleAds
Targeting searched and browsedAds
Delivery estimated before spendAds
Budgets set by ruleAds
A loser paused, a winner duplicatedAds
Every change in the account’s historyAds
Insights by day, sync or asyncAds
Conversion events sent server-sideAds
Pixels and datasets checkedAds
Cost-per-click change and lift, by a written methodAds
Generated from the briefCreative
Edited from a referenceCreative
Stored with a permanent linkCreative
Generated and polled to completionCreative
Stored with a permanent linkCreative
Credits used this month, against a capCreative
Businesses by place, by city, around a point on the mapLeads
Clinicians from the national registryLeads
Organisations and their websitesLeads
One lead or a batchLeads
Sites found and resolvedLeads
Mail servers verified before anything is sentLeads
Scored by rule or by a modelLeads
The first message drafted from the recordLeads
Follow-ups on day 2, 5 and 10Leads
Email sent, or sent with opens and clicks trackedLeads
A human reply becomes a conversion, a bounce a suppressionLeads
Rows pushed to a sheet you ownLeads
Shortcuts run from a textDevices
Apps launched, restarted, listedDevices
Camera, voice notes, location, share sheet inDevices
An approval asked on the phoneDevices
Screenshot and read the screenDevices
Click and type in any appDevices
Run AppleScript, JavaScript for Automation and the shellDevices
Calendar, Contacts, Mail, Notes read in placeDevices
Clipboard, notifications, files, windowsDevices
Your logins, one isolated profile per identityDevices
Fill, click, screenshot with a driverDevices
An agent given a goal, not a scriptDevices
Fetch, scrape, crawl, PDF, from the cloudDevices
Named workspaces that keep their filesDevices
Any command, in the cloudDevices
Jobs started, watched, cancelledDevices
Mac virtual machines cloned and runDevices
Real Android phones, on and off by callDevices
A permission issued for one jobDevices

Some of the actions, scrolling past, with the service each belongs to.

The parts of the system that do this

The Directory

The Directory is a table. Each row is one thing the system can do for your business: send a text from your number, book a slot in your calendar, create an ad, read a web page, take a screenshot of your Mac. If an action is not in the table, the system cannot do it.

Each row stores everything needed to run that action: where it runs, what inputs it needs, what it returns, and every way to call it. Changing a setting is typing in a cell. Files added to the system’s folder are added to the table automatically.

One row per action. Each row has one column per way of calling it, and each of those cells holds the complete request (method, address, headers and body) that runs it, followed by the full response from the last run.

Dispatch

Dispatch is a single web address. You, your staff, a spreadsheet, an iPhone Shortcut or an AI model send it the name of an action and its inputs. It finds the action in the Directory, checks your permissions, runs it on the right computer, sends back the result, and writes an entry in the Ledger.

Because every request goes through the same address, the same permissions apply whether a request comes from a text message, a link, a spreadsheet cell, a Shortcut, the command line or an AI model, and every request is recorded the same way. One action can be switched off in one place.

Every action is invoked as an HTTP POST of {"key": "<action name>", "args": {…}}. REST, MCP, spreadsheet formulas, text tags and webhooks are different ways of making that same request. Actions run on Cloudflare servers, a Mac, an iPhone, a browser, a virtual machine or a phone.

The Directory Dispatch

04The Ledger

Every message, action and AI answer is recorded, in full.

The Ledger is a database table that stores every request and every response the system handles, in order and in full. With it you can:

  • See exactly what was sent, to whom, when, and by which AI model.
  • Settle a dispute with the record instead of memory.
  • Check what an AI model did before trusting it with more.
  • Compare AI models on cost and results, from what they actually did.
  • Rely on the record: nothing is silently changed, because each entry includes a fingerprint of the entry before it.
  • See refusals too: a request the system refused is stored like any other.
—entries in this system’s Ledger, live
2:18 PMMissed calld199fcac15…
2:19 PMText sent from your number5be69a324a…
2:21 PMJob booked for 4:3007bab986f5…

An illustration: three example entries. The code on the right of each is a real SHA-256 hash (a fingerprint of the content), computed in your browser from the entry and the fingerprint of the entry before it. Changing an earlier entry would change every code after it.

The part of the system that does this

The Ledger

The Ledger is a record of everything the system does: every message sent and received, every action run, every change, every AI model’s answer, and every request that was refused. Nothing in it is overwritten. To find out what happened, you read it.

Each entry stores the full request and the full response. Each entry also stores a fingerprint of the entry before it, so if anyone changes an entry later, the change shows up. Refused requests are recorded the same way as completed ones.

Every payload in or out is a Ledger row. Each action appends one row containing a SHA-256 hash of the previous row; nothing is updated in place. An action counts as working only when the declared surface itself ran and five things are stored for that run: why it ran, the exact request written before it ran, the confirmation, the exact response, and the record.

The Ledger

05Permissions and limits

Nothing is spent or sent outside the permissions you set.

You set what the assistant may read, what it may do, whom it may reply to, and limits such as an amount or a time window. Ads are created paused. A refund has a maximum amount. A request outside the limits is refused, and the refusal is written to the Ledger like every other entry.

Make 12 ad variants from the brieflimit: 36 renders per runuploaded, paused
Refund $184 to the original cardlimit: ≤ $500 without you$184 refunded
Refund everyone from last monthlimit: ≤ $500 per action, one customer per actionrefused · no permission for this

Example Ledger entries, from the examples used across this site: the action, its limit, and what happened.

The part of the system that does this

Permissions and limits

You decide what the assistant may read (your calendar, your messages, your price list), what it may do (reply, book, invoice), and whom it may answer. A refund can be limited to $500, for one customer, for ten minutes. Ads are created paused. When someone asks, the assistant says it is an AI assistant.

Each action carries its limits: an amount, a time window, a channel, an account. A request outside them is refused, and the refusal is written to the Ledger like any other entry.

A scoped permission is issued for one task, with a limit and an expiry, and stops working when the task is done. With no permission, nothing runs; the refusal is a Ledger row.

Permissions and limits

06AI models

You can switch AI models without rebuilding anything.

Claude, ChatGPT, Grok and Gemini can all run the same actions in the Directory. Choose one and change later: the Directory, the permissions and the Ledger stay exactly as they were.

The Directory1,335 actions
Permissionsthe same limits
The Ledgerthe same record

Changing the AI model changes none of these three. — different AI models appear in this system’s Ledger.

The part of the system that does this

AI models

AI models such as Claude, ChatGPT, Grok and Gemini can all use the same Directory of actions, with the same permissions, and everything they do is written to the same Ledger. Changing which AI model you use does not mean rebuilding anything.

Every AI model sees the same actions and limits. What each one was asked, what it answered, and what it cost are entries in the Ledger, so models can be compared on real use.

The system is an MCP server (MCP, Model Context Protocol, is the standard way AI apps connect to outside tools): every Directory row is an MCP tool, a function call and a REST endpoint at the same time.

AI models

07AI agents

AI agents take a task from a spreadsheet row and write back the result.

AI agents are separate programs, each running an AI model. You type a task into a row of a shared spreadsheet; an agent does it and writes its answer in the next column. A task closes only when it has a real answer, and the change, the test and the result are in the Ledger.

TaskAI agentAnswerStatus
Fix the text-back timingAgent 2Wait changed to 45 s; a test shows a text goes out within 60 sclosed
Weekly reviews reportAgent 1Written to the sheet, one row per review requestedclosed
Day 5 quote follow-upAny agent—open

An illustration; the tasks are made up. This system has 7 AI agents.

The part of the system that does this

AI agents

AI agents are separate programs, each running an AI model. You give one a task by typing it into a row of a shared spreadsheet; it does the work and writes its answer in the next column. A task is closed only when there is a real answer.

Each agent has its own Directory and its own Ledger, and each of its settings is a spreadsheet cell: type in the cell to change it. When a task fails, a new task is created that says what went wrong.

Each agent is its own Cloudflare Worker with its own storage and keys, connected through a shared workbook. Agents have changed and deployed their own code and added their own tests; work is accepted when its tests pass against the live system.

AI agents

08Permissions and limits

When a customer asks, the assistant says it is an AI assistant.

If a customer asks whether they are texting a person, the AI assistant answers that it is an AI assistant for your business. It passes the conversation to you when a person should take over.

Am I texting a real person?No, I’m the AI assistant for ABC Home Services. I can book you in, or have Tom call you back. Which would you like?Told it is an AI assistant when they ask; passed to a person when they ask for one

An illustration. The business and the people are made up.

The part of the system that does this

Permissions and limits

Customers and leads are told it is an assistant when they ask, and it hands to a person the moment the conversation goes somewhere it shouldn't.

Each action carries its limits: an amount, a time window, a channel, an account. A request outside them is refused, and the refusal is written to the Ledger like any other entry.

A scoped permission is issued for one task, with a limit and an expiry, and stops working when the task is done. With no permission, nothing runs; the refusal is a Ledger row.

Permissions and limits

09Your installation

If you leave, you keep the number, the logins, the settings and the Ledger.

Your business has its own installation: a separate copy of the software with its own servers, database, keys, phone number and assistant. If you stop, the number, the logins, the assistant’s settings, the connections to your other software and the Ledger stay with you.

Your phone number
Your logins
The assistant’s settings
The connections to your other software
The whole Ledger

From Privacy and terms: “We delete our copies of your connected data within 30 days of your request.”

The part of the system that does this

Your installation

Your business gets its own copy of the system: its own Directory, its own Ledger, its own address, your phone number and your AI assistant. If you stop working with us, you keep the number, the logins, the assistant’s settings and the Ledger.

Nothing is shared with another business. Your permissions, your contacts and your records stay in your copy, and every change to it is an entry in your Ledger.

Each client gets a copy of the permissions and the architecture on a new tenant: its own Worker, its own storage, its own keys.

Your installation

10The research library

Every claim in the research library links to a source or says it has none.

The research library is a set of articles on this site. Each claim links to its source, or is marked as having none, so you can check a claim before you rely on it. Every earlier version of an article is kept.

1,211articles
7,282claims
4,803sources
One article from the library, loaded liveHow an AI evidence record keeps a hiring-bias audit current between annual reviews10 claims · 10 sources

The part of the system that does this

The research library

A library of research articles. Every claim in an article links to its source, or is marked as having no source. Every change to an article is kept.

Any claim can be disputed on the page where it appears. An AI model can read the same article as structured data.

Each article is JSON: its claims, their sources and its revisions. The library is stored like everything else in the system.

The research library

By type of business

The same system, set up for one type of business at a time.

Each type of business gets the same ten benefits, configured for its work: which leads the assistant answers, which reviews it asks for, and what the first month of setup covers.

Choose one benefit and send it by text.

Text the number below with the benefit you want first. The reply says which part of the system does it and what its first Ledger entry would show.