Skip to content

PDF reports and automated reporting

Flowguard can generate PDF reports from your monitoring data. You can create branded reports, schedule automated delivery, and share them with stakeholders.

What are PDF reports?

PDF Reports turn your monitoring data into branded documents. They can be generated automatically and emailed on a schedule. Reports include uptime statistics, performance charts, incident summaries, and more.

Features

TemplateDesign layout
ScheduleSet interval
GenerateCreate PDF
DeliverEmail report

PDF generation

Generate PDF reports with:

  • Custom Branding - Add your company logo, colors, and name
  • Multiple Layouts - Choose from Corporate, Modern, or Magazine cover styles
  • Modular Content - Select which sections to include
  • White-Label Ready - Good for agencies and consultants

Monitoring data

Reports can include:

  • Summary Statistics - Uptime percentage, average response time, total checks, incidents
  • Uptime Charts - Visual timeline of site availability
  • Response Time Analysis - Performance trends over time
  • HTTP Status Distribution - Breakdown of server responses
  • Incident Details - Downtime event logs with timestamps

Automated scheduling

Set up reports to generate and send automatically:

  • Flexible Intervals - Hourly, daily, weekly, monthly, or custom
  • Multiple Recipients - Send to clients, team members, or stakeholders
  • Scheduled Delivery - Reports arrive in inboxes on schedule
  • Time Period Selection - Last 24 hours, 7 days, 30 days, or custom range

Email delivery

Reports are delivered via email with:

  • HTML Emails - Branded email templates
  • PDF Attachments - Full report attached to email
  • Summary in Body - Metrics visible without opening attachment
  • Multiple Recipients - Send to any number of email addresses

History

Track all generated reports:

  • Chronological List - See all past reports
  • Re-download Anytime - Access historical reports
  • Resend Function - Send existing reports to new recipients
  • Status Tracking - View success/failure status

Getting started

Creating your first report template

A template defines what your reports look like and what content they include.

  1. Navigate to Flowguard > Reports
  2. Click on the Templates tab
  3. Click Create New Template

Template configuration

Basic Information:

  • Template Name - Give your template a descriptive name (e.g., "Monthly Client Report")

Branding:

  • Company Name - Your company or client name
  • Logo URL - Upload a logo to WordPress Media Library and paste the URL
  • Primary Color - Choose your brand color (hex code, e.g., #3B82F6)

Cover Layout: Choose from three cover designs:

  • Corporate - Traditional business style with centered content
  • Modern - Clean, minimalist design with bold typography
  • Magazine - Editorial style with dynamic layout

Content Selection: Check which sections to include in your reports:

  • Cover Page - Title page with branding and date range
  • Summary Statistics - Metrics at a glance
  • Uptime Chart - Timeline visualization of availability
  • Response Time Chart - Performance trends
  • HTTP Status Codes - Distribution of server responses
  • Incidents List - Detailed downtime events
  • Footer Text - Custom footer message

Custom Text Fields:

  • Cover Title - Main headline on cover page
  • Cover Subtitle - Secondary text on cover
  • Introduction Text - Opening paragraph in report
  • Footer Text - Footer message on all pages

Saving your template

  1. Fill in all required fields
  2. Click Save
  3. Your template is ready to use

Generating a manual report

Want a report right now? Use the Generate tab.

  1. Go to Flowguard > Reports
  2. Click the Generate tab
  3. Configure your report:
    • Select Template - Choose a template you created
    • Time Period - Select date range (Last 24h, 7d, 30d, or custom)
    • Custom Date Range (optional) - Pick specific start/end dates
    • Email Recipients (optional) - Enter email addresses to send the report
  4. Click Generate Now
  5. The report generates and downloads automatically
  6. If emails were specified, recipients receive the report immediately

TIP

Manual generation is good for on-demand reports before client meetings or when you need specific date ranges.

Setting up automated reports

Schedules automate report generation and delivery.

  1. Go to Flowguard > Reports
  2. Click the Schedules tab
  3. Click Create New Schedule

Schedule configuration

Basic Information:

  • Schedule Name - Descriptive name (e.g., "Weekly Client Update")
  • Status - Active/Inactive toggle

Report Settings:

  • Template - Select which template to use
  • Time Period - How much historical data to include
    • Last 24 hours
    • Last 7 days
    • Last 30 days
    • Custom (specify days)

Timing:

  • Frequency - How often to generate
    • Hourly
    • Daily
    • Weekly
    • Monthly
    • Custom (every X hours)

Recipients:

  • Email Addresses - Enter email addresses (one per line or comma-separated)
  • Reports will be emailed automatically when generated

Activating your schedule

  1. Toggle Active to enable the schedule
  2. Click Save
  3. WordPress Cron will now automatically generate and send reports

WARNING

Make sure WordPress Cron is functioning correctly on your server for scheduled reports to work. Most standard WordPress hosting supports WP-Cron by default.

Understanding the reports interface

Templates tab

Manage all your report templates:

  • Create New - Build a new template from scratch
  • Edit - Modify existing templates
  • Duplicate - Copy a template as starting point
  • Delete - Remove unused templates
  • Preview - See template configuration

Schedules tab

View and manage automated report schedules:

  • Active/Inactive Status - Enable or disable schedules
  • Frequency Display - See how often each runs
  • Last Run - Timestamp of most recent generation
  • Next Run - When the schedule will execute again
  • Edit/Delete - Modify or remove schedules

Generate tab

Create one-time reports on demand:

  • Template Selection - Choose from your templates
  • Date Range Picker - Flexible time period selection
  • Instant Generation - Reports generate immediately
  • Optional Email - Send while generating

History tab

Complete archive of all generated reports:

  • Generated Date - When the report was created
  • Template Used - Which template was applied
  • Time Period - Data range covered
  • Status - Success or failure
  • File Size - Size of PDF file
  • Actions:
    • Download - Get the PDF file
    • Resend - Email to new recipients
    • Delete - Remove from history

Report sections explained

Cover page

The cover page sets the tone for your report:

  • Company Branding - Logo and name displayed prominently
  • Report Title - Customizable headline
  • Date Range - Time period covered by the report
  • Cover Layout - Design matching your style

Summary statistics

Metrics at a glance:

  • Uptime (30 days) - Percentage of time site was available
  • Average Response Time - Mean server response in milliseconds
  • Total Checks - Number of health checks performed
  • Incidents - Count of downtime events

Uptime chart

Visual representation of availability:

  • Timeline - Shows uptime/downtime across the reporting period
  • Green Areas - Site was online and responding
  • Red Areas - Downtime or errors detected

Response time chart

Performance over time:

  • Line Graph - Shows response time trends
  • Measured in Milliseconds - Precise performance tracking
  • Trend Detection - Identify performance degradation

HTTP status codes

Distribution of server responses:

  • Bar Chart - Visual breakdown of status codes
  • 200 (OK) - Successful responses
  • 4xx Codes - Client errors (404, 403, etc.)
  • 5xx Codes - Server errors (500, 503, etc.)

Incidents list

Downtime event log:

  • Chronological Order - Most recent first
  • Start Time - When incident began
  • End Time - When site recovered
  • Duration - How long site was down
  • Error Details - Specific error messages
  • HTTP Status - Response code received

Best practices

Create multiple templates

Create different templates for different audiences:

  • Executive Summary - High-level stats only
  • Technical Report - All details including incidents
  • Client Report - Branded with white-label
  • Internal Report - Full data for the team

Choose appropriate intervals

Match report frequency to needs:

  • Daily - For sites that need constant oversight
  • Weekly - Standard for most production sites
  • Monthly - Executive summaries and trend analysis
  • Custom - Align with client reporting schedules

Use descriptive names

Clear naming helps organization:

  • Good: "Acme Corp - Weekly Performance Report"
  • Good: "Internal - Daily Monitoring Summary"
  • Bad: "Report 1", "Test"

Brand consistently

  • Use high-resolution logos (PNG with transparency recommended)
  • Stick to your brand colors
  • Keep footer text consistent across templates

Test email delivery

Before setting up automated schedules:

  1. Generate a manual report with your email
  2. Verify it arrives correctly
  3. Check that PDF attachment opens properly
  4. Ensure branding displays correctly

Monitor report history

Regularly review the History tab:

  • Ensure scheduled reports are generating successfully
  • Check for failed generations
  • Verify file sizes are reasonable
  • Clean up old reports periodically

Consider your audience

  • Clients - Focus on uptime and reliability, minimize technical jargon
  • Developers - Include all details, especially incidents
  • Management - Summary statistics and trends
  • Stakeholders - Balance between overview and detail

Email template

When reports are emailed, recipients receive an HTML email containing:

Subject Line:

Flowguard Report: [Template Name] - [Date Range]

Email Body:

  • Greeting with company name
  • Brief introduction
  • Metrics summary (uptime, response time, incidents)
  • Formatting with your brand colors
  • Call-to-action to open attached PDF
  • Footer with generation timestamp

Attachment:

  • PDF file with naming: report-YYYY-MM-DD-HHMMSS.pdf
  • Contains full report with all selected sections

Customization options

Cover layouts

Corporate:

  • Traditional business style
  • Centered content
  • Best for: Enterprise clients, formal reporting

Modern:

  • Clean, minimalist design
  • Bold typography
  • Best for: Tech companies, startups, agencies

Magazine:

  • Editorial layout
  • Dynamic design
  • Best for: Creative clients, marketing reports

Color schemes

Choose colors that match your brand:

  • Primary Color - Used for headings, accents, and other elements
  • Neutral Tones - Automatically selected for body text and backgrounds
  • Chart Colors - Automatically coordinated with primary color

Logo placement

Tips for optimal logo display:

  • Recommended Size: 200-400px width
  • Format: PNG with transparent background preferred
  • Aspect Ratio: Logos are scaled proportionally
  • Placement: Centered on cover, smaller in headers

Technical details

PDF generation

Flowguard uses mPDF for PDF generation:

  • HTML/CSS-based rendering
  • Chart image embedding
  • Efficient file sizes

File storage

Generated PDFs are stored in a protected directory:

  • Location: wp-content/uploads/flowguard-reports/
  • Protected: .htaccess prevents direct access
  • Access: Only through WordPress REST API with authentication
  • Naming: report-YYYY-MM-DD-HHMMSS-[random].pdf

WordPress Cron integration

Automated scheduling uses WordPress Cron:

  • Hook: flowguard_report_scheduled
  • Frequency: Checks hourly
  • Execution: Generates reports based on schedule settings
  • Reliability: Works with standard WordPress hosting

REST API endpoints

Reports integrate with Flowguard's REST API:

  • GET /wp-json/flowguard/v1/reports/templates - List templates
  • POST /wp-json/flowguard/v1/reports/templates - Create template
  • PUT /wp-json/flowguard/v1/reports/templates/{id} - Update template
  • DELETE /wp-json/flowguard/v1/reports/templates/{id} - Delete template
  • GET /wp-json/flowguard/v1/reports/schedules - List schedules
  • POST /wp-json/flowguard/v1/reports/schedules - Create schedule
  • POST /wp-json/flowguard/v1/reports/generate - Generate report manually
  • GET /wp-json/flowguard/v1/reports/history - View report history
  • POST /wp-json/flowguard/v1/reports/download/{id} - Download report
  • POST /wp-json/flowguard/v1/reports/resend/{id} - Resend report

Data sources

Reports pull data from:

  • Monitoring Logs - All health check results
  • Incidents Table - Downtime events
  • Statistics API - Calculated metrics (uptime %, avg response time)
  • Time Range Filters - Data filtered by specified date range

Troubleshooting

PDFs not generating

Issue: Reports fail to generate or download

Solutions:

  1. Verify Composer dependencies are installed: composer install
  2. Check write permissions on wp-content/uploads/ directory
  3. Review PHP error log for mPDF errors
  4. Ensure PHP memory limit is sufficient (128MB+ recommended)
  5. Check that monitoring data exists for the selected time period

Emails not sending

Issue: Recipients don't receive reports

Solutions:

  1. Test WordPress email functionality (install WP Mail SMTP plugin)
  2. Verify email addresses are valid
  3. Check spam/junk folders
  4. Confirm PHP mail() function works on your server
  5. Review WordPress debug log for mail errors
  6. Consider using an SMTP plugin for reliable delivery

Scheduled reports not running

Issue: Automated reports aren't generating

Solutions:

  1. Verify schedule is set to "Active"
  2. Check WordPress Cron is functioning: wp cron event list (WP-CLI)
  3. Ensure server supports WP-Cron (most hosting does)
  4. Consider disabling WP-Cron and using system cron for high-reliability
  5. Check that monitoring is enabled and collecting data

Charts not appearing

Issue: PDF reports show missing or broken charts

Solutions:

  1. Verify monitoring data exists for the time period
  2. Check that chart sections are enabled in template
  3. Ensure sufficient data points exist (minimum 2 checks)
  4. Review PHP error log for chart generation errors

Large file sizes

Issue: PDF files are too large

Solutions:

  1. Use compressed logo images (PNG optimized)
  2. Limit time range for reports with extensive data
  3. Disable unnecessary sections in template
  4. Consider monthly reports instead of longer periods

Template changes not reflecting

Issue: Updated templates don't show changes in reports

Solutions:

  1. Clear WordPress object cache if using caching plugins
  2. Regenerate the report manually to force fresh generation
  3. Verify template was saved successfully
  4. Check browser cache (hard refresh: Ctrl+F5 or Cmd+Shift+R)

Security and privacy

Access control

Reports are protected:

  • Admin Only - Only users with manage_options capability can create/view reports
  • Authentication Required - All API endpoints require WordPress authentication
  • Nonce Protection - REST API calls validated with WordPress nonces
  • File Protection - PDFs stored in protected directory

Data privacy

Reports contain only aggregated monitoring data:

  • No Personal Information - No user data or PII included
  • Site Metrics Only - Uptime, response times, HTTP status codes
  • Internal Storage - All data stays on your WordPress server
  • No External Services - No data sent to third parties

Email security

  • Recipient Validation - Email addresses validated before sending
  • No BCC Exposure - Each recipient receives individual email
  • Secure Attachments - PDFs sent as standard email attachments
  • HTML Sanitization - Email content properly escaped

Advanced usage

White-label reports for clients

For agencies:

  1. Create template with client's branding
  2. Use client's logo and colors
  3. Customize cover title and text
  4. Schedule automatic delivery to client's email
  5. Client receives professionally branded reports without seeing Flowguard branding

Multiple client reports

Manage reports for multiple clients:

  1. Create separate template for each client
  2. Use descriptive names (e.g., "Client Name - Weekly")
  3. Set up individual schedules per client
  4. Each client receives their branded report automatically

Trend analysis

Use reports for long-term analysis:

  1. Generate monthly reports with consistent templates
  2. Compare uptime percentages over time
  3. Track response time improvements
  4. Document incident frequency changes
  5. Share trends with stakeholders

Compliance documentation

Use reports for compliance requirements:

  1. Schedule monthly reports automatically
  2. Store in history for audit trail
  3. Include all incidents for transparency
  4. Maintain records of uptime commitments (SLAs)

Report content examples

Example: Executive summary template

Sections Enabled:

  • ✅ Cover Page
  • ✅ Summary Statistics
  • ✅ Uptime Chart
  • ❌ Response Time Chart (excluded)
  • ❌ HTTP Status Codes (excluded)
  • ❌ Incidents List (excluded)

Use Case: Monthly report for executives who need high-level overview

Example: Technical deep dive template

Sections Enabled:

  • ✅ Cover Page
  • ✅ Summary Statistics
  • ✅ Uptime Chart
  • ✅ Response Time Chart
  • ✅ HTTP Status Codes
  • ✅ Incidents List

Use Case: Weekly report for development team with all technical details

Example: Client status report template

Sections Enabled:

  • ✅ Cover Page (with client branding)
  • ✅ Summary Statistics
  • ✅ Uptime Chart
  • ✅ Incidents List (if any occurred)
  • ✅ Footer Text ("Your site is being monitored 24/7 by [Your Company]")

Use Case: Automated weekly report for hosting/maintenance clients

Frequently asked questions

Can I customize the PDF layout beyond templates?

The templates provide three layouts (Corporate, Modern, Magazine). For deeper customization, you can modify the template files in src/Reports/Templates/. They use standard PHP and HTML/CSS.

How many recipients can I add to a schedule?

There's no hard limit, but keep recipient lists under 50 per schedule for reliable email delivery. For larger lists, consider using an email marketing service.

Can reports include data from specific flows?

Currently, reports focus on overall site monitoring data. Flow-specific reporting is planned for a future release.

Do reports work without monitoring enabled?

No. Reports require monitoring data. You must have the Monitoring feature enabled and running to generate reports with actual data.

Can I schedule reports to send on specific days?

Yes. Use the "Weekly" frequency and the report will generate on the same day each week. For more specific scheduling, use the "Custom" option.

Are there any hosting requirements for PDF generation?

Standard WordPress hosting is sufficient. Requirements:

  • PHP 7.4+
  • 128MB+ memory limit recommended
  • Write permissions on wp-content/uploads/
  • Composer dependencies installed (composer install)

Can I preview a report before scheduling it?

Yes. Use the Generate tab to create a manual report first. Review the PDF, then set up the schedule once you're satisfied.

How long are reports stored?

Reports are stored indefinitely in wp-content/uploads/flowguard-reports/. You can manually delete old reports from the History tab to free up space.

Integration with other features

Monitoring + Reports

Reports pull data directly from the Monitoring feature:

  • Enable monitoring first in Settings > Features
  • Set appropriate check interval (5-15 minutes recommended)
  • Let monitoring collect data for at least 24 hours
  • Then generate reports with actual data

Test flows + Reports

While reports currently focus on monitoring data, you can:

  • Use monitoring to track site health
  • Use test flows to verify specific functionality
  • Combine insights from both for overall site management

Next steps

Now that you understand PDF Reports:

Need help?

If you run into issues with PDF Reports:

  1. Check this documentation
  2. Review the History tab for error messages
  3. Verify monitoring is enabled and collecting data
  4. Test email functionality separately
  5. Contact support with:
    • WordPress version
    • PHP version
    • Template configuration
    • Error messages from logs

Ready to create reports? Head to Flowguard > Reports and create your first template.