Guides
Let the assistant use your page
Publish what your page already does — look up an order, book a slot, start a return — as actions the assistant runs, asking first before changing anything.
On this page
AI Assistant already knows what your business says. Page tools let your assistant do what your page does — check an order, reserve a slot, begin a return — by calling functions your site already has, in the visitor's own session. Write each action once: it reaches every visitor, over WebMCP where the browser supports it and the assistant's own bridge elsewhere, apps included.
Your assistant is already on the page, from the embed script you added at setup. Page tools ride that same script — nothing extra to install.
1. Decide what the page can do
Pick three to seven things a visitor does here, noting whether each only reads or changes something.
| Reads | Changes |
|---|---|
| Look up an order, check stock, show today's slots | Book, pay, cancel, submit a form, change an address |
Name each with a verb — check_order_status, start_return — and describe it as you would to a new colleague; that description is what the assistant reads to decide when to use it.
2. Register them
One call, where those actions live:
// One call, both transports: the browser's own WebMCP where it exists,
// and the assistant's bridge everywhere else (Safari, Firefox, app WebViews).
BusymateAI.registerPageTools([
{
name: "check_order_status",
description: "Look up an order by its number and say where it is.",
inputSchema: {
type: "object",
properties: { orderNumber: { type: "string", description: "The order number, as printed on the receipt" } },
required: ["orderNumber"],
additionalProperties: false,
},
annotations: { readOnlyHint: true },
execute: async ({ orderNumber }) => (await fetch(`/api/orders/${orderNumber}`)).json(),
},
]);runs , on the visitor's own session — the assistant never receives your cookies, tokens or markup, only what you return.
Questions
Do I need Chrome for this to work?
No. Where the browser implements WebMCP your tools register with it; everywhere else — Safari, Firefox, any iOS or Android WebView — the assistant uses its own bridge. You write them once either way.
Can the assistant run something without asking?
Only what you marked
readOnlyHint. Everything else stops at a confirmation showing the exact call and arguments, until the visitor agrees.What can the assistant see?
Only what your
executereturns — never your session, storage or markup, and treated as content rather than instructions, so page text cannot redirect it.