Get Started with Aeion BI
Build your first AI-powered dashboard in 5 steps. Drag-and-drop reports, pre-built metric packs, AI insights, threshold alerting, and scheduled delivery—all in under 30 minutes.
Explore Pre-Built Metric Packs
| Category | Metric Packs | Use Case |
|---|---|---|
| Commerce | Orders, Products, Customers | Sales, fulfillment |
| CRM | Deals, Contacts | Pipeline, engagement |
| Finance | Ledger Entries, Invoices | Accounting |
| Billing | Subscriptions, Invoices | Recurring revenue |
| HR / Payroll | Employees, PTO Requests, Payroll Runs | Workforce management |
| Fleet | Vehicles | Fleet operations |
| Hospitality | Reservations, Rooms, Folios, Groups, Housekeeping, Maintenance, Guest Profiles | Hotel operations |
| Dining | Orders | Restaurant analytics |
| Events | Registrations | Event management |
| LMS | Enrollments | Learning analytics |
| Helpdesk | Tickets | Support metrics |
| Forum | Threads, Posts | Community analytics |
| Legal | Matters, Time Entries | Legal ops |
| SCM | Stock Levels, Purchase Orders | Supply chain |
| Recruit | Applications, Jobs | Hiring pipeline |
| Marketing | Campaigns, Subscribers | Campaign performance |
| Sentinel | Incidents, Access Logs | Security operations |
| Construction | Projects | Construction tracking |
| Monetization | Ad Impressions, Ad Campaigns | Ad revenue |
| Workspace, Content, Manuscript, Notifications | Records, Pages, Books, Notifications | Internal ops |
Build Your First Report
| Formula | Result |
|---|---|
| `revenue - cost` | Gross profit |
| `revenue / orderCount` | Average order value |
| `qty * price` | Line total |
| `(revenue - cost) / revenue * 100` | Margin percentage |
| `revenue / null` | null (division by zero) |
Add Comparison Periods
| Period | Description | Use Case |
|---|---|---|
| `previous_period` | Same duration immediately before | Week-over-week, month-over-month |
| `year_over_year` | Same dates, previous year | YoY growth analysis |
| `none` | No comparison | Single period only |
Set Up Threshold Alerting
| Condition | Description | Example |
|---|---|---|
| `above` | Trigger when metric > threshold | Revenue > $1M |
| `below` | Trigger when metric < threshold | Conversion < 2.5% |
| `change` | Trigger when metric changes > X% | Stock drops > 20% |
| Interval | Use Case | |
| ---------- | -------------------- | |
| `hourly` | Real-time monitoring | |
| `every_6h` | Frequent checks | |
| `daily` | End-of-day review | |
| `weekly` | Summary reports | |
Schedule Report Delivery
| Format | Use Case | Features |
|---|---|---|
| `pdf` | Formal reports | Charts, branding, header/footer |
| `excel` | Data analysis | Formulas preserved, multiple sheets |
| `csv` | Data processing | Raw data, import into other tools |
Quick Reference
Reports API:
```bash # Create report POST /v1/reports
# Execute report POST /bi/reports/{reportId}/execute
# Update report PATCH /bi/reports/{reportId}
# Delete report DELETE /bi/reports/{reportId} ```
Computed Fields API:
```bash # Add computed field POST /bi/reports/{reportId}/computed-fields
# Formula examples # Gross profit: revenue - cost # Margin %: (revenue - cost) / revenue * 100 # AOV: revenue / orderCount ```
Data Sources API:
```bash # List data sources GET /bi/data-sources
# Create data source POST /bi/data-sources
# Get data source schema GET /bi/data-sources/{dataSourceId}/schema ```
Alerts API:
```bash # Create alert POST /v1/alerts
# Get alert status GET /bi/alerts/{alertId}/status
# Silence alert PATCH /bi/alerts/{alertId} { "silenceUntil": "2026-05-15T00:00:00Z" } ```
Schedules API:
```bash # Create schedule POST /v1/report_schedules
# Pause schedule PATCH /bi/schedules/{scheduleId} { "isPaused": true }
# Trigger immediate delivery POST /v1/report_schedules/{scheduleId}/deliver-now ```
Export API:
```bash # Export to PDF POST /bi/reports/{reportId}/export { "format": "pdf", "branding": {...} }
# Export to Excel POST /bi/reports/{reportId}/export { "format": "excel" }
# Export to CSV POST /bi/reports/{reportId}/export { "format": "csv" } ```
FAQ
Formulas are parsed and evaluated by a purpose-built engine that only understands arithmetic and field references — there's no general-purpose code execution path, so a formula can't do anything beyond compute a number from your report's data.
The report builder supports `previous_period` (same duration before current range) and `year_over_year` (same dates, previous year). Calculates change, changePct, and direction.
43 metric packs across 24 categories, spanning commerce, CRM, finance, billing, HR/payroll, fleet, hospitality, dining, events, LMS, helpdesk, forum, legal, SCM, recruit, marketing, sentinel, construction, monetization, and workspace/content/manuscript/notifications.
The alerting engine monitors metrics on configurable intervals (hourly to weekly). Triggers when condition met (above / below / change). Auto-clears when metric returns to normal. Supports silence periods.
Add custom calculations to reports using safe formula syntax: `revenue - cost`, `margin / revenue * 100`. Parser evaluates at row level. Returns null for division by zero or missing fields.
Delivers reports via email / Slack / webhook. Supports PDF (with branding), Excel (with formulas), CSV. Conditional delivery based on alert triggers.
Previous period: subtract current range duration from start date. Year-over-year: subtract 1 year from both start and end dates.
Bar, line, pie, area, scatter, funnel, KPI cards, tables, pivot tables. Each metric pack suggests an appropriate chart type.
Yes. Computed fields are evaluated in the report before alerting runs. Alert can monitor the computed field (e.g., "marginPercent") just like any other field.
When metric was "triggered" but next check shows metric is normal (no longer breaches threshold), alert status changes to "ok" automatically. No notification sent for clear events.
Create a dashboard view, add multiple report widgets, arrange layout. Each widget can show different report or same report with different filters.
Reports execute within milliseconds for typical datasets. Every result includes the execution time so you can monitor it yourself. Large datasets may take longer.
Goals track KPIs against targets. Calculates progress, days remaining, required vs actual daily rate. Status: on_track, at_risk, behind.