User guide
Approvals and permissions
A page tool runs in your browser, in your session, as you. So before one runs, XataWorks asks. This is what that question means and what each answer commits you to.
A page tool runs in your browser, in your session, as you. So before one runs, XataWorks asks. This article is what that question means.
Read only, Mutating, Destructive
Every page tool falls into one of three classes, and the class is what decides how hard you are asked.
| Class | What it means |
|---|---|
| Read only | The operation only looks things up. Reached only when the site positively says so. |
| Mutating | It changes something, and the site has said the change is additive — a create, an append, a status set. |
| Destructive | It may make changes that cannot be undone — or the site never said what it does. |
That last clause is the one to absorb. An operation that declares nothing about itself is treated as destructive, not as harmless. So is one whose declaration XataWorks could not read. The burden is on the website to say its action is safe; silence is never taken as reassurance.
A class is not a safety rating. It decides what you are asked, not what the operation does and not what you should allow. A read-only operation on a system holding sensitive data is still reading sensitive data. The class tells you how confident the site was; the decision stays yours.
The question itself
The request names the operation, marks its class, and shows the arguments it is about to be called with — with everything else that site publishes one click away, so you can see the shape of what you are deciding about. Then it offers:
- Allow this call only — this call, these arguments, nothing remembered.
- Always allow this operation here — this one operation runs unasked from now on, in the place named: this page, this chat, or this site, depending on what is being decided.
- Allow a whole class — a rung rather than an operation. See below.
- Deny — nothing runs. The agent is told you declined, which is different from being told the operation failed.
The dialog leads with the narrowest answer and keeps the broader grants behind an arrow beside it. That is deliberate: the safe answer is the easy one, and widening a grant takes an extra motion rather than being the thing your hand does first.
How far a grant reaches
The class rungs are cumulative, and each one is a statement about everything a site publishes rather than about one operation.
A grant is also bounded in place. This page, in this chat and on this site are three different promises, and the dialog says which one it is offering. On some systems the boundary is narrower still: where a site keeps separate customers or properties in its URL, a grant covers the one you are looking at and the next one is asked about separately.
Grants are taken back from the permission shield in the browser toolbar, for the site in the current tab. See The browser panel.
Approving a set in one act
When the agent needs several things at once, you are asked once, for the set, with everything it covers listed — rather than being walked through five dialogs in a row. You are agreeing to what is on the list, and the list is complete.
Wherever the dialog summarises, it can be expanded: the arguments an operation will be called with, the full list a set covers, the scope a grant will apply to. All of it is visible before you answer. If something is summarised and you want the detail, expand it — the detail is the thing you are actually agreeing to.
When nobody is there
If an operation needs approval and there is no window to ask in — a scheduled prompt, a background run — nothing is allowed. The agent is told there was nobody to ask, which it can act on sensibly. It is not a refusal, and it is never a silent yes.
The chat header carries a badge while that is happening, with a Resume button. See Work that continues.
Checking afterwards
Everything above is about deciding before. The call log is how you check after. Open it from the chat header’s ⋮ menu, under Log.
Three questions it answers that nothing else does:
- Did that actually run? — when a result looks too good, or too fast.
- What has this site been asked to do? — after you have granted a broad rung and want to see what it has been used for.
- What happened while I was not watching? — after a scheduled prompt or a long unattended run.
You can clear the log for one site or for every site; both ask for confirmation first, naming what will go. Logging itself can be turned down or off in the WebMCP Log section of Preferences.
If you open the log and find it empty, check there before concluding nothing has happened — a log that was switched off says so rather than pretending the history is empty. An empty log with logging on means exactly what it says.
Back to all user-guide articles.