Skip to content

Enable Scheduled Dashboard Export and Email Delivery #276

Description

@cliftonc

Summary

Allow users to schedule automatic report generation and delivery via email, enabling stakeholders to receive regular updates without logging into the application.

Current State

No scheduling or automated delivery. Reports must be viewed in real-time within the application.

Proposed Features

Schedule Configuration

defineSchedule({
  name: 'Weekly Sales Report',
  dashboard: 'sales-dashboard',
  filters: { region: 'EMEA' },
  schedule: '0 9 * * MON', // Every Monday at 9am
  timezone: 'Europe/London',
  format: 'pdf',
  recipients: ['sales-team@company.com']
})

Scheduling Options:

  • Daily, weekly, monthly schedules
  • Cron expression support for complex schedules
  • Timezone-aware delivery

Format Options

  • PDF: Multi-page dashboard export
  • PNG: Dashboard as single image
  • CSV/Excel: Data tables as attachments
  • Inline HTML: Email body with embedded charts

Email Configuration

  • Recipients: Individual emails and distribution lists
  • Subject Line: Dynamic with date/filter values
  • Custom Message: Configurable body text
  • Reply-to: Configure reply address

Delivery Management

  • Delivery History: Track sent/failed deliveries
  • Retry Logic: Automatic retry on failure
  • Pause/Resume: Temporarily disable schedules
  • On-Demand: Trigger immediate send

Competitor Reference

  • Google Looker Studio: "Regularly send a PDF of your report to stakeholders by setting up a delivery schedule"
  • Power BI + Power Automate: "Export Power BI report as PDF and attach to weekly email"
  • Tableau MailScheduler: "Automatically send published dashboards as PDF to selected users"

Technical Approach

  1. Create ScheduleDefinition schema with cron expression
  2. Implement server-side rendering for PDF generation (Puppeteer)
  3. Add email delivery service integration (SMTP, SendGrid, SES)
  4. Build schedule management UI component
  5. Create scheduler service (node-cron or external job queue)

Server Components

  • SchedulerService: Manages cron jobs
  • RenderService: Generates PDF/PNG from dashboards
  • DeliveryService: Sends emails with attachments

Labels

enhancement feature-request server automation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp3-lowPriority 3 - LowstaleNo recent activity

    Projects

    Status
    Idea

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions