Skip to content

AutoReport

Links a SavedView to a scheduled delivery.

Indie mode: created in Desk UI, stored in DB. Users configure via UI
once the system is installed — no files needed.
Enterprise mode: defined in auto_reports/*.toml and version-controlled.
DB record wins over a virtual file.

Source: auto_report.py

Field Type Required Description Validators
name str Unique identifier for the auto report (e.g., ‘weekly_revenue’) minLen: 1, maxLen: 255
saved_view str Name of the SavedView to execute minLen: 1, maxLen: 255
cron_expression str CRON expression for schedule (e.g., ‘0 8 * * 1’) minLen: 1, maxLen: 255
format Literal[“csv”, “pdf”] Output format for the report -
recipients str JSON-encoded list of recipient email addresses -
subject None Optional email subject template maxLen: 255
enabled bool Whether this auto report schedule is currently active -
last_run None Timestamp of the last successful run -
Role Create Delete Read Write
Admin
Manager
Setting Value
Submittable False
Track Changes True

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting