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
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.
- Navigate to Flowguard > Reports
- Click on the Templates tab
- 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
- Fill in all required fields
- Click Save
- Your template is ready to use
Generating a manual report
Want a report right now? Use the Generate tab.
- Go to Flowguard > Reports
- Click the Generate tab
- 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
- Click Generate Now
- The report generates and downloads automatically
- 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.
- Go to Flowguard > Reports
- Click the Schedules tab
- 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
- Toggle Active to enable the schedule
- Click Save
- 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:
- Generate a manual report with your email
- Verify it arrives correctly
- Check that PDF attachment opens properly
- 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:
.htaccessprevents 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 templatesPOST /wp-json/flowguard/v1/reports/templates- Create templatePUT /wp-json/flowguard/v1/reports/templates/{id}- Update templateDELETE /wp-json/flowguard/v1/reports/templates/{id}- Delete templateGET /wp-json/flowguard/v1/reports/schedules- List schedulesPOST /wp-json/flowguard/v1/reports/schedules- Create schedulePOST /wp-json/flowguard/v1/reports/generate- Generate report manuallyGET /wp-json/flowguard/v1/reports/history- View report historyPOST /wp-json/flowguard/v1/reports/download/{id}- Download reportPOST /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:
- Verify Composer dependencies are installed:
composer install - Check write permissions on
wp-content/uploads/directory - Review PHP error log for mPDF errors
- Ensure PHP memory limit is sufficient (128MB+ recommended)
- Check that monitoring data exists for the selected time period
Emails not sending
Issue: Recipients don't receive reports
Solutions:
- Test WordPress email functionality (install WP Mail SMTP plugin)
- Verify email addresses are valid
- Check spam/junk folders
- Confirm PHP
mail()function works on your server - Review WordPress debug log for mail errors
- Consider using an SMTP plugin for reliable delivery
Scheduled reports not running
Issue: Automated reports aren't generating
Solutions:
- Verify schedule is set to "Active"
- Check WordPress Cron is functioning:
wp cron event list(WP-CLI) - Ensure server supports WP-Cron (most hosting does)
- Consider disabling WP-Cron and using system cron for high-reliability
- Check that monitoring is enabled and collecting data
Charts not appearing
Issue: PDF reports show missing or broken charts
Solutions:
- Verify monitoring data exists for the time period
- Check that chart sections are enabled in template
- Ensure sufficient data points exist (minimum 2 checks)
- Review PHP error log for chart generation errors
Large file sizes
Issue: PDF files are too large
Solutions:
- Use compressed logo images (PNG optimized)
- Limit time range for reports with extensive data
- Disable unnecessary sections in template
- Consider monthly reports instead of longer periods
Template changes not reflecting
Issue: Updated templates don't show changes in reports
Solutions:
- Clear WordPress object cache if using caching plugins
- Regenerate the report manually to force fresh generation
- Verify template was saved successfully
- 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_optionscapability 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:
- Create template with client's branding
- Use client's logo and colors
- Customize cover title and text
- Schedule automatic delivery to client's email
- Client receives professionally branded reports without seeing Flowguard branding
Multiple client reports
Manage reports for multiple clients:
- Create separate template for each client
- Use descriptive names (e.g., "Client Name - Weekly")
- Set up individual schedules per client
- Each client receives their branded report automatically
Trend analysis
Use reports for long-term analysis:
- Generate monthly reports with consistent templates
- Compare uptime percentages over time
- Track response time improvements
- Document incident frequency changes
- Share trends with stakeholders
Compliance documentation
Use reports for compliance requirements:
- Schedule monthly reports automatically
- Store in history for audit trail
- Include all incidents for transparency
- 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:
- Monitoring Guide - The data source for reports
- Settings - Configure monitoring and email settings
- Dashboard - View real-time monitoring data
Need help?
If you run into issues with PDF Reports:
- Check this documentation
- Review the History tab for error messages
- Verify monitoring is enabled and collecting data
- Test email functionality separately
- 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.