Put an agent where the work is, and keep a record of every run.
Publish any agent as a form, a widget on your own website, a Microsoft Teams app, or a run over a whole spreadsheet. Each publication says who may use it, which sources it may answer from and what it may spend — and every run is logged, including every one it refused.
A form at a linkA widget on your siteMicrosoft TeamsA run over a spreadsheetEvery run recorded, refusals included
Four ways to publish, one set of rules
The same agent, the same limits and the same record, whichever way people reach it.
A form at a public link
A page at /a/your-agent with a form built from the inputs the agent asks for. Share the link, or keep it behind sign-in or a password.
A widget on your website
One script tag on your own site. It runs only on the domains you list for it.
<script src="https://your-deployment/embed.js"
data-sphere-agent="member-questions"></script>A Microsoft Teams app
People ask it in Teams. One Teams tenant maps to one publication, so it answers there under the same rules as everywhere else.
A run over a file
Upload a CSV, choose the column to run on, and see how many rows and the projected cost before anything runs.
Who may use it, and what it may read
Set on each publication, and applied on every run whichever way it arrives.
- Public, signed-in or passwordOpen to anyone with the link, only to people who can sign in, or behind a password you set.
- Chosen teamsLimit a signed-in publication to particular teams. With none chosen, everyone who can sign in may use it.
- Its own sourcesAnswer only from the knowledge sources chosen for this publication. A signed-in user gets the overlap of those and what they may read themselves.
- Never as an administratorA public run passes the same content policy as internal chat, and runs with a user’s scope — never with administrator rights.
What it may spend
Three limits per publication. When one is reached, the run is refused, and says why.
- Per visitor, per hourHow many runs one visitor may start in an hour.
- Per dayA daily cap that counts only runs that actually ran — so a flood of refused requests cannot use up the day for everyone else.
- Per month, in dollarsA monthly cost cap. Past it, the publication stops running until the month turns.
What is recorded
The question a regulated buyer asks about any public-facing AI.
- Every run, refusals includedEach run writes a row: the surface it came through, what was asked, whether it ran, was refused or failed, and what it cost.
- Visitors kept as a hashA visitor’s IP address is stored only as a hash — enough to apply the per-visitor limit, not to identify anyone.
Not built yet
Said here rather than left for a demo to find.
- Not yetAn API option in the deploy panelThe run endpoint already accepts a scoped API token and runs as the token’s owner, under the same audience and source rules. Offering it from the deploy panel — with the token, the snippet and the limits in one place — is not built yet.
- Not yetBranding beyond a title and an introductionA publication has its own title and introduction. A logo, colours and suggested questions are not built yet.
Asked before anything goes public
Can a public form run up our bill?
Can someone put our widget on their own site?
Does a public run see everything the agent can?
What do you keep about a visitor?
Publish one agent, then read its log.
We will publish an agent on a form with you, run it, and show you every row it wrote — including the refusals.