Schedule cost reports

Schedule cost reports

1. Configure the mail server (once)

Settings ▸ Mail server → host, port, credentials, and the from address; hit send-test to confirm delivery before relying on it. The password is write-only — it is never read back.

2. Create the report definition

Govern ▸ Reports ▸ New report:

  • Name: "Weekly cost digest".
  • Dataset: spend by model — picked from the typed catalogue, no SQL.
  • Scope: your org. Window: last 7 days, with period-over-period deltas on the KPI tiles.
  • Format: PDF, branded with your org logo and accent colour.

3. Schedule and deliver

  • Schedule: every Monday 08:00.
  • Delivery: attach the file so the PDF rides the email — or leave the default link only, which sends just a dashboard link and keeps the data inside the product. Recipients are whoever your Notifications routing sends the report category to.

4. Protect it (optional)

Set a password: the emailed PDF then requires it to open (a native PDF password — CSV/JSON become .gpg, HTML becomes a self-decrypting page). Independently of this, every stored artifact is always encrypted at rest in the object store.

5. Run it now

Hit Run now. The card shows "Generating…", then "Last generated …" with a Download action.

Command
# The same via the API:
curl -s -u admin:PASSWORD -X POST https://aam.example.com/admin/reports/definitions \
  -H "Content-Type: application/json" --data @report.json
curl -s -u admin:PASSWORD -X POST https://aam.example.com/admin/reports/definitions/{id}/run

Verify

Download the PDF and confirm the branding, the KPI tiles with deltas, and (if set) the password prompt. Check the Notifications ▸ Delivery log for the outbound email.

Why it works

Reports read the same event stream as the dashboards, so the numbers always match Audit & usage. Artifacts render into the object store with a TTL and stream through a gated download, so tenant isolation holds even for shareable files.

Next