Skip to main content
Routines can generate HTML reports with interactive Plotly charts and markdown content. Reports are viewable in the Condor web dashboard, providing a richer experience than Telegram messages for data visualization.

Why Reports?

When you schedule a routine to run every hour, you may not want 24 Telegram messages per day. Instead, generate reports and check them in the dashboard when convenient.

Viewing Reports

Reports appear in the Condor web dashboard under RoutinesReports. Open one in the full-screen viewer and use the left/right arrow keys to step through a routine’s report history. Each report includes:
  • Title and creation time
  • Source routine name and tags
  • Interactive HTML content (zoomable charts, expandable sections)
Condor keeps a rolling buffer of the most recent reports (default 100, set by the CONDOR_MAX_REPORTS environment variable). Older reports are cleaned up automatically.

Creating Reports

1. Import ReportBuilder

2. Generate Your Data

Create figures and tables as you normally would:

3. Build the Report

ReportBuilder takes a title, and its methods are chainable. Tag the report with its source, add sections, then await save():

Complete Example

ReportBuilder Methods

All methods return the builder, so they can be chained.

Use Cases

Scheduled Market Analysis

Run a routine every hour to analyze market conditions:
Instead of 24 Telegram messages, check the reports dashboard for the latest analysis with interactive charts.

Agent Decision Logging

When an agent runs a routine for analysis, the report captures what the agent “saw” when making decisions:
This helps you understand and debug agent behavior by reviewing the data it analyzed.

Comparing Tokens

Build research routines that compare multiple assets:

Report Storage

Reports are written as HTML files to the reports/ directory in your Condor install (~/condor/reports/), with an index in reports_index.json. The web dashboard reads from this directory.
To clean up reports manually:
Or use the dashboard’s cleanup function under RoutinesReportsClean.