PDF Reports & Automated Reporting β
Flowguard includes a comprehensive reporting system that generates professional PDF reports from your monitoring data. Create branded reports, schedule automated delivery, and keep stakeholders informed about your website's health and performance.
What are PDF Reports? β
PDF Reports transform your monitoring data into professional, branded documents that can be automatically generated and emailed to stakeholders. Reports include uptime statistics, performance charts, incident summaries, and more - all in a polished, ready-to-share format.
Key Features β
π Professional PDF Generation β
Generate polished 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 exactly which sections to include
- White-Label Ready - Perfect for agencies and consultants
π Rich 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 - Complete 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 automatically
- Time Period Selection - Last 24 hours, 7 days, 30 days, or custom range
π§ Professional Email Delivery β
Reports are delivered via email with:
- HTML Emails - Professional, branded email templates
- PDF Attachments - Full report attached to email
- Summary in Body - Key metrics visible without opening attachment
- Multiple Recipients - Send to unlimited email addresses
π Complete 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 professional 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 - Key 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 now 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 perfect 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 prominently displayed
- Report Title - Customizable headline
- Date Range - Time period covered by the report
- Cover Layout - Professional design matching your style
Summary Statistics β
Key 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
These provide an instant overview of site health.
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
- Clear Indicators - Easy to spot patterns and issues
Response Time Chart β
Performance analysis over time:
- Line Graph - Shows response time trends
- Measured in Milliseconds - Precise performance tracking
- Trend Detection - Identify performance degradation
- Baseline Comparison - Compare current vs. historical performance
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.)
- Anomaly Detection - Quickly spot unusual patterns
Incidents List β
Detailed 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 β
1. 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 - Comprehensive data for team
2. Choose Appropriate Intervals β
Match report frequency to needs:
- Daily - For critical sites requiring constant monitoring
- Weekly - Standard for most production sites
- Monthly - Executive summaries and trend analysis
- Custom - Align with client reporting schedules
3. Use Descriptive Names β
Clear naming helps organization:
- β Good: "Acme Corp - Weekly Performance Report"
- β Good: "Internal - Daily Monitoring Summary"
- β Poor: "Report 1", "Test"
4. Brand Consistently β
Maintain professional appearance:
- Use high-resolution logos (PNG with transparency recommended)
- Stick to your brand colors
- Keep footer text consistent across templates
- Use professional language in custom text fields
5. 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
6. 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
7. Optimize for Recipients β
Consider your audience:
- Clients - Focus on uptime and reliability, minimize technical jargon
- Developers - Include all details, especially incidents
- Management - Emphasize summary statistics and trends
- Stakeholders - Balance between overview and detail
Email Template β
When reports are emailed, recipients receive a professional HTML email containing:
Subject Line:
Flowguard Report: [Template Name] - [Date Range]Email Body:
- Greeting with company name
- Brief introduction
- Key metrics summary (uptime, response time, incidents)
- Professional 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
- Formal and professional
- Best for: Enterprise clients, formal reporting
Modern:
- Clean, minimalist design
- Bold typography
- Contemporary feel
- Best for: Tech companies, startups, agencies
Magazine:
- Editorial layout
- Dynamic design
- Eye-catching
- Best for: Creative clients, marketing reports
Color Schemes β
Choose colors that match your brand:
- Primary Color - Used for headings, accents, and key 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
- Professional typography
- Chart image embedding
- Efficient file sizes
File Storage β
Generated PDFs are stored securely:
- 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 & 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 β
Email delivery follows best practices:
- 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 β
Perfect 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 professional 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 we recommend keeping recipient lists under 50 per schedule for optimal 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 meaningful 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 meaningful 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 comprehensive site management
Next Steps β
Now that you understand PDF Reports:
- Monitoring Guide - Learn about the data source for reports
- Settings - Configure monitoring and email settings
- Dashboard - View real-time monitoring data
Need Help? β
If you encounter 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 professional reports? Head to Flowguard > Reports and create your first template!