Skip to main content

Scheduled Reports

Automate report generation and delivery on a recurring schedule. Keep stakeholders informed with daily briefings, weekly summaries, and monthly analyses—all generated automatically.

Overview#

Scheduled reports let you automate the generation and delivery of intelligence reports. Instead of manually running reports, you configure a schedule and PromptReports handles the rest—generating fresh reports with the latest data and delivering them to stakeholders via email, webhooks, or cloud storage.

Flexible Scheduling

Daily, weekly, monthly, or custom cron expressions to match any cadence.

Multi-Channel Delivery

Email, Slack, webhooks, S3, Google Drive—deliver reports where they're needed.

Dynamic Content

Reports use the latest data at generation time, always up-to-date.

Smart Alerting

Get notified about schedule failures or anomalies in report data.

Creating a Schedule#

Set up a scheduled report in a few steps:

1

Navigate to Schedules

Go to Automation > Schedules from the main navigation, or access from a specific report template.
2

Click "Create Schedule"

Open the schedule creation wizard.
3

Select the report template

Choose which report template to generate on schedule. The template determines the structure, prompts, and formatting.
4

Configure the schedule

  • Name: A descriptive name (e.g., "Daily Market Briefing")
  • Frequency: How often to run (daily, weekly, etc.)
  • Time: When to generate the report
  • Timezone: Which timezone to use for scheduling
5

Set up delivery

Configure how and where to deliver the generated report (see Delivery Options).
6

Configure parameters

Set any dynamic parameters the report needs (see Dynamic Parameters).
7

Save and activate

Review your configuration and activate the schedule.

Schedule Frequency#

PromptReports supports a variety of scheduling options:

FrequencyOptionsExample Use Case
HourlyEvery N hoursReal-time monitoring dashboards
DailySpecific time, with day exclusionsMorning briefings (skip weekends)
WeeklyDay of week + timeWeekly team summaries
MonthlyDay of month + timeMonthly executive reports
CustomCron expressionComplex schedules (first Monday, quarterly)
Cron Expression Examples
text
# Every weekday at 8:00 AM
0 8 * * 1-5

# Every Monday and Thursday at 9:30 AM
30 9 * * 1,4

# First day of every month at 6:00 AM
0 6 1 * *

# Every quarter (Jan, Apr, Jul, Oct) on the 15th at noon
0 12 15 1,4,7,10 *

# Every 4 hours during business hours on weekdays
0 9,13,17 * * 1-5

Timezone Support

Schedules run in your specified timezone. Perfect for global teams.

Holiday Handling

Configure schedules to skip holidays or run on alternate days.

Delivery Options#

Deliver generated reports to stakeholders through multiple channels:

ChannelFormat OptionsConfiguration
EmailPDF attachment, HTML inline, or linkRecipient list, subject template, custom message
SlackMessage with link or inline previewWebhook URL or Slack app connection
Microsoft TeamsAdaptive card with summaryIncoming webhook URL
WebhookJSON payload with report dataEndpoint URL, headers, authentication
Amazon S3PDF, JSON, or HTML filesBucket, path pattern, credentials
Google DrivePDF or Google DocsFolder ID, sharing settings
1

Choose delivery channels

Select one or more channels. Reports can be delivered to multiple destinations simultaneously.
2

Configure each channel

Set up recipients, format preferences, and authentication for each channel.
3

Customize the message

Use template variables in email subjects and messages:
  • {{report_name}} - Name of the report
  • {{generated_at}} - Timestamp of generation
  • {{period}} - Report period (e.g., "Week of Jan 15")
4

Set fallback options

Configure what happens if primary delivery fails (retry, alternate channel, alert only).
Email Configuration Example
json
{
  "channel": "email",
  "config": {
    "recipients": [
      "team@company.com",
      "{{stakeholder_email}}"
    ],
    "cc": ["manager@company.com"],
    "subject": "{{report_name}} - {{period}}",
    "message": "Hello,\n\nPlease find attached the latest {{report_name}} for {{period}}.\n\nKey highlights:\n{{summary}}\n\nBest regards,\nPromptReports",
    "format": "pdf",
    "attachReport": true
  }
}

Dynamic Parameters#

Scheduled reports can use dynamic parameters that change based on when the report runs:

Parameter TypeExampleDescription
Date Variables{{today}}, {{yesterday}}, {{week_start}}Automatically calculated dates
Period Variables{{period_start}}, {{period_end}}Based on schedule frequency
Environment{{environment}}Production, staging, etc.
Custom Variables{{region}}, {{product_line}}Your defined parameters
Date Variable Examples
json
{
  "parameters": {
    // Automatically calculated based on run time
    "report_date": "{{today}}",          // 2024-01-15
    "data_start": "{{week_start}}",      // 2024-01-08
    "data_end": "{{week_end}}",          // 2024-01-14
    "previous_period": "{{last_week}}", // 2024-01-01 to 2024-01-07

    // Custom date math
    "lookback": "{{today - 30 days}}",   // 2023-12-16
    "quarter_start": "{{quarter_start}}", // 2024-01-01

    // Formatted dates
    "display_date": "{{today | format:'MMMM D, YYYY'}}" // January 15, 2024
  }
}

Parameter Sets

Create multiple parameter sets to generate variations of the same report.

Per-Recipient Parameters

Customize parameters per recipient for personalized reports.

Managing Schedules#

Control your schedules from the Schedules dashboard:

Run Now

Trigger an immediate run outside the regular schedule.

Pause/Resume

Temporarily pause a schedule without deleting it.

Edit Configuration

Modify schedule settings, delivery, or parameters.

View History

See all past runs with status, duration, and delivery results.

StatusMeaningAction
ActiveSchedule is running normallyNo action needed
PausedSchedule is temporarily disabledResume when ready
FailedLast run encountered an errorCheck logs and fix issues
PendingScheduled run is queuedWill run at scheduled time
RunningReport is currently being generatedWait for completion

Monitoring & Alerts#

Stay informed about your scheduled reports:

1

Configure failure alerts

Get notified immediately when a scheduled run fails via email, Slack, or webhook.
2

Set up delivery confirmations

Receive confirmation when reports are successfully delivered.
3

Monitor quality metrics

Track report generation time, delivery success rate, and data freshness.
4

Review run history

Access detailed logs for each run including timing, errors, and delivery status.
Alert TypeTriggerDefault Action
Generation FailedReport generation encounters an errorEmail to schedule owner
Delivery FailedOne or more delivery channels failEmail + retry delivery
Data StaleSource data is older than thresholdWarning in report + email
Anomaly DetectedUnusual values in report metricsFlag in report + alert
Schedule OverdueRun hasn't completed by expected timeEmail to schedule owner

Use Cases#

Daily Intelligence Briefing

Generate a morning summary of overnight developments, market changes, or competitor activity.

Weekly Team Summary

Automated weekly report of team metrics, prompt changes, and evaluation results.

Monthly Executive Report

High-level summary for leadership with KPIs, trends, and strategic insights.

Compliance Reports

Regular compliance documentation with audit trails and approval records.

Example: Daily Market Briefing Schedule
json
{
  "name": "Daily Market Briefing",
  "template": "market-intelligence-brief",
  "schedule": {
    "frequency": "daily",
    "time": "07:00",
    "timezone": "America/New_York",
    "skipDays": ["Saturday", "Sunday"]
  },
  "parameters": {
    "markets": ["US", "EU", "APAC"],
    "lookback_hours": 24,
    "include_sentiment": true
  },
  "delivery": [
    {
      "channel": "email",
      "recipients": ["executives@company.com"],
      "format": "pdf"
    },
    {
      "channel": "slack",
      "webhook": "https://hooks.slack.com/...",
      "format": "summary"
    }
  ],
  "alerts": {
    "onFailure": ["admin@company.com"],
    "onAnomalyDetected": true
  }
}

Best Practices#

Stagger Schedules

Don't schedule all reports at the same time—spread them out to balance load.

Test Thoroughly

Always test with 'Run Now' before activating automated schedules.

Set Up Alerts

Configure failure alerts so issues are caught and addressed quickly.

Use Recipient Groups

Manage distribution lists centrally for easier maintenance.

Scheduling Tips:

  • Schedule reports to arrive before meetings where they'll be discussed
  • Consider timezone differences when scheduling for global teams
  • Use descriptive names that make it clear what the schedule does
  • Document the purpose and audience in the schedule description
  • Review and clean up unused schedules periodically

Performance Considerations:

  • Large reports with many sections take longer to generate—schedule accordingly
  • Peak hours (9 AM in major timezones) have higher load—consider off-peak times
  • Set reasonable timeouts for generation and delivery
  • Monitor generation times and optimize slow reports