Agent operation
Give agents a narrow path through the reporting runtime
Let an agent run reviewed, enabled publications through a few explicit tools, without editor internals, broad credentials, or the authority to deliver a report on its own.
This guide is for developers
If you want AI help inside your reports, you want Ask Rahoto instead. This page is for a team connecting its own AI agent to Rahoto.
What an agent can use today
Rahoto's documented public agent contract is the versioned Publishing API. With an accepted API key, an agent can list publications, read one, start a dry or delivered run, and check the run's status. The key acts with its creator's current access to each report.
Rahoto does not advertise a public Rahoto-hosted MCP endpoint, because there is none yet. If your agent speaks MCP, wrap the Publishing API in an MCP server you run; that adapter is then your security boundary.
Recommended tool boundary
list_publications- Read-only; returns the publications the caller can choose from.
get_publication- Read-only; verifies one selected publication in the same organisation.
dry_run_publication- Starts a render with delivery disabled and returns the run identifier.
deliver_publication- Starts a delivering run, only after an explicit approval step.
get_run- Reads one run with bounded polling, a timeout, and tenant verification.
Keep delivery separate from the dry run, so a model cannot turn a harmless preview into an external side effect. Check identifiers against the list returned for the same principal instead of accepting arbitrary prompt text.
Policy and approval checklist
- Use a dedicated, expiring key. Scoped keys are not available yet; see the API guide.
- Allowlist organisation and publication identifiers in the tool layer.
- Default the run tool to
dryRun: true. - Require a person's approval before delivery, unless a separately reviewed schedule owns that decision.
- Keep API keys, report data and private viewer URLs out of prompts, logs, browser code and report content.
- Record the tool input, principal, publication, run identifier, approval and outcome, without copying report data you do not need.
- Stop on a disabled publication, an access-policy conflict, a missing permission, or a failed reconciliation or preflight.
If something goes wrong
-
A run returns
409: the publication is switched off, its report is in the trash, or its owner has left. The agent should stop and tell a person, not retry. - A run is Held for review in the app: a person approves it there with Approve & deliver. Do not give the agent a way around the hold.
- The agent cannot see a publication: the key's creator may have lost access to its report, or it is beyond the first 100 the list returns.
Help agents understand Rahoto
Point retrieval systems at stable public pages: the About page, the automated board-reporting workflow, the connector catalogue, this guide, and the public OpenAPI document. A model's memory is not a reliable source for current capabilities.
Letting a crawler read a page does not let a model operate a workspace or open a private report. Crawling, search retrieval and agent operation are separate permissions.
Read next
Start with a dry run
Create a workspace, set up one reviewed publication, and test the read-only and dry-run path before you grant delivery.