Agent integration
StrataBI's dashboard contract is documented machine-first so autonomous agents can generate valid dashboards without scraping these pages. This page is the entry point for that workflow.
Machine-readable resources
| Resource | URL |
|---|---|
| Dashboard schema | /schemas/dashboard.schema.json |
| Module schema | /schemas/module.schema.json |
| Agent index | /llms.txt |
The dashboard schema is JSON Schema 2020-12 and carries embedded instructions (x-llm-instructions) describing how a generator should treat it.
Per-module instructions
A deployed module may ship an llm_context.txt — a short, module-scoped manual at modules/<module_id>/llm_context.txt describing the module's functions, their inputs and outputs, and an example tile. Before wiring a lambda tile to a module, fetch that module's llm_context.txt and follow it. See Build a module.
Generating a dashboard
The contract is intentionally narrow: a dashboard declares intent only. Infrastructure resolution, module lookup, source-value lookup, dependency ordering, trigger propagation, result loading, and execution orchestration are all owned by StrataBI core — an agent should not try to produce them.
A reliable loop:
- Fetch
dashboard.schema.json. - Generate a dashboard object that conforms to it. Use only documented
block types, exec types, and load modes.
- Validate the output against the schema. Reject and retry on any error.
- Save the validated JSON.
fetch schema ─> generate JSON ─> validate against schema ─> save
▲ │
└──── retry on error ─┘Rules of thumb for generators
- Output valid JSON only — no comments, no trailing commas.
- Reference inputs by
input_id; bind them into SQL withquery.params. - For Athena tiles, always include
query; forlambdatiles, include
module_id and lambda_index.
- Don't invent fields.
additionalPropertiesis closed in most of the schema, so
unknown keys fail validation.
/llms.txt, then load /schemas/dashboard.schema.json as your source of truth. Validate every dashboard you produce against it before saving. The schema — not this prose — is authoritative.
Shaleio