How should websites expose actions to AI agents?
"Expose actions" sounds like opening the doors. In practice it is the opposite: it is deciding exactly which doors exist, so agents stop improvising through your interface.
Start from journeys, not endpoints
Do not enumerate your database. Enumerate what a customer might ask an assistant to do: check availability, reorder, get an invoice, change a delivery date, cancel. Those are the actions worth declaring.
Make each action self-describing
- A clear name and a one-line description of its effect.
- Explicit inputs with types and required/optional flags.
- A structured result, including a machine-readable failure reason.
- Whether it is read-only or changes something.
Scope and authenticate deliberately
Read-only actions can be broad. Anything that spends money, changes credentials or deletes data should be scoped, rate-limited, attributable to a user, and — where it matters — confirmed by a human. Exposing actions is a permissions design problem before it is an engineering one.
Keep the visual path working anyway
Most agents will still arrive through the browser. A declared action layer is an addition, not a replacement, and both paths need to be tested.
PlateTale