GCXONEDocumentation

Scheduled Reports

Updated 19 August 2026ReportingDownload PDFSuggest a changeGet help
On this page
  1. What It Does
  2. Why It Matters
  3. How It Works
  4. Core concepts
  5. Creating a schedule
  6. Email content variables
  7. Recipients: two reports per customer, not one
  8. The generation time banner
  9. The "generation time too close to a send time" warning
  10. The daily lifecycle
  11. Key Capabilities
  12. Automated monitoring and recovery
  13. All Report Schedules table and KPI cards
  14. Failures: where they appear
  15. Best Practices

This manual explains how to set up scheduled System Healthcheck and Customer Success reports, how the system generates and delivers them, how delivery is tracked, and where failures show up.

What It Does

The system can automatically generate a PDF report for each of your customers and sites and email it to the recipients you configure, on a recurring schedule (Daily, Weekly, Bi-Weekly, or Monthly).

Two report types are supported:

  • System Healthcheck. Detailed uptime, connectivity status, and hardware health analysis.
  • Customer Success. Usage statistics, value metrics, and optimization recommendations.

A generated System Healthcheck report opens with a summary page for the customer: the percentage of the facility currently monitored, and totals for cameras scanned, defective, and working, followed by a table listing each site with its own pass rate. Each site then gets its own page listing every device, when it was last checked, and its status — a device marked Failed shows the reason (for example, "Camera Unreachable, Check Not Possible").

A single schedule can target many customers and sites at once. At full scale a schedule may fan out to thousands of individual reports, one per target, each rendered and emailed independently.

Why It Matters

A misconfigured schedule fails silently from the customer's point of view — the report simply never arrives, with no error shown anywhere in the builder afterward. Two settings decide whether that happens: the generation time needs enough margin before the earliest send time (the builder warns you when it doesn't — see below), and every recipient field that should be filled in actually needs an address in it, since Customer Report Active blocks saving without one. Getting both right the first time is the difference between reports customers can rely on and support tickets asking where a report went.

How It Works

Core concepts

TermMeaning
ScheduleA reusable definition: report type; scope (customers and sites); data filters; frequency; and email content.
TargetA single customer or site attached to a schedule. Each target produces its own PDF and its own email.
RecipientAn email address that receives a target's report. A target can have several recipients.
Generation (render)Building the PDF. Happens once per day at the organization-wide generation time.
SendEmailing the already generated PDF. Happens at each schedule's own send time.
Delivery (run)One send attempt for one target at one scheduled time.

The two clocks: generation and send. This is the single most important idea in the system.

  1. Generation time (organization-wide). Once a day, at a fixed time and timezone set for your organization, the system prepares the PDF for everything due to be sent within the next 24 hours.
  2. Send time (per schedule). At each schedule's configured time, the system emails the already prepared PDF. It does not render again at send time.

Generation must finish before a schedule's send time, or that schedule could try to send before its PDF is ready. At full scale, generating every report can take a few hours, so there needs to be a comfortable margin before your earliest send time — see the timing warning further down.

Creating a schedule

Everything lives in one place: Settings → Reports. It shows your schedule KPIs (Active Schedules, Reports Sent This Month, Failed Deliveries), the generation time banner, and the full list of schedules.

Settings > Reports overview, showing the Active Schedules, Reports Sent, and Failed Deliveries KPI cards, the generation-time banner, and the All Report Schedules table.

Click + Create New Schedule. The builder has five steps.

Step 1 — Select Report. Name the schedule and choose the report type: System Healthcheck or Customer Success. This choice determines what you configure in Step 3.

Both report types appear as selectable cards; the example below shows Customer Success chosen.

Select Report step of the schedule builder, showing the System Healthcheck and Customer Success report type cards, with Customer Success selected.

Step 2 — Select Scope. Choose the customers and sites this schedule covers. Selecting a customer expands a Delivery Configuration panel for it, covering the two kinds of report delivery described under Recipients below. You can also copy the scope from an existing schedule.

Select Scope step of the schedule builder, showing customers and sites available to choose for the report.

Step 3 — Configuration. The fields on this step change based on which report type you picked in Step 1:

  • If you picked System Healthcheck: Report Language, a toggle to include inactive sensors, a toggle to include excluded sensors, and filters for Status, Camera Technology, Manufacturer, and Tags.
  • If you picked Customer Success: Report Language and a Date Range for the usage data (for example, Last Week). None of the Healthcheck sensor toggles or filters appear.

The screenshot below shows the System Healthcheck version of this step:

Configuration step for a System Healthcheck schedule, showing Report Language, Include Inactive Sensors, Include Excluded Sensors, and All Status/Camera Technology/Manufacturer/Tags filters. The Customer Success version replaces all of this with a single Date Range field.

Step 4 — Schedule. Set the frequency (Daily, Weekly, Bi-Weekly, or Monthly), the time of day, and the timezone. This step is the same for both report types.

Schedule step of the schedule builder, showing the Daily, Weekly, Bi-Weekly, and Monthly frequency options along with time and timezone.

Step 5 — Email & Review. Set the report's branding colors, the sender address, the subject line and body for both the customer-level and site-level email, then review a summary before finishing. This step is also the same for both report types.

From Address is required, and must use your own organization's email domain. A personal address (for example, a Gmail account) is rejected with an on-screen error telling you the address must match your company domain.

Email & Review step of the schedule builder, showing Report Styling colors, the Email Template fields, and the summary panel.

Click Finish & Schedule to save. The schedule appears in the schedules table on Settings → Reports.

Email content variables

Subject lines and body templates support variables you insert from the builder: {customer_name}, {report_frequency}, {date}, and {file_url} are available on both the customer-level and site-level email content; {site_name} is available on the site-level email content only. Each recipient's copy resolves the variables to the customer or site it concerns.

The default body includes {file_url} as the report link. If it's removed from the body text, the builder does not warn you or block saving — the email still sends, it just arrives with no link to the report. Keep {file_url} in the body if recipients need to reach the PDF from the email itself.

Recipients: two reports per customer, not one

Each customer you select in Step 2 can produce two separate kinds of report, each with its own recipient list:

  • Customer Report. One combined report covering every site under that customer. Toggle Customer Report Active on, then add recipients to its own email field.
  • Individual Site Reports. A separate report per site, listed in a table under the customer. Each site row has its own Site Report Active toggle and its own Recipients field. A site can also be marked Include in Customer Report to have it feed into the combined Customer Report in addition to, or instead of, sending its own site-level email.

This is what the Delivery Configuration panel looks like once a customer is selected: Customer Report Active with its own recipient field on the left, and the Individual Site Reports table — Site, Include in Customer Report, Site Report Active, Recipients — on the right.

Delivery Configuration panel for a selected customer, showing Customer Report Active with its recipient field on the left, and the Individual Site Reports table listing each site with Include in Customer Report, Site Report Active, and Recipients columns on the right.

Each of these recipient fields works the same way: type an address and press Enter to add it as its own entry.

Customer Report Active requires at least one recipient. Leaving the email field empty blocks you from moving past Select Scope, with an on-screen error naming the customer that still needs a recipient.

The generation time banner

At the top of Settings → Reports is a banner stating your organization's generation time and timezone, for example: "Reports are generated automatically every day at 06:00 CET for everything due to send within the next 24 hours." The setting applies to all of your organization's schedules. To change the time or timezone, contact NXGEN support.

The "generation time too close to a send time" warning

If the generation time is within the worst case render window (about three hours at full scale) of any active schedule's send time, a yellow warning appears naming the tightest schedule and the gap, for example:

"Daily Healthcheck" sends at 00:30, only 30 minutes after generation starts, so its report may not be ready in time. Set the generation time earlier.

Contact NXGEN support to move the generation time earlier so there is a comfortable margin before the earliest send.

If a schedule is created after today's generation time has already run, attempting to view its report shows a "Report not prepared yet" dialog explaining that today's reports were already prepared and offering Generate Now (render it immediately) or Wait Until Tomorrow (let the next generation cycle pick it up).

The "Report not prepared yet" dialog, shown when a schedule's report has not been rendered yet because today's generation already ran, with Wait Until Tomorrow and Generate Now options.

Generate Now renders only — it does not send. Clicking it completes right away with a confirmation message; it does not change the Reports Sent (This Month) count or the schedule's Last Delivery timestamp. The email itself still goes out only at the schedule's own configured send time. There is no separate way to preview a report before its send time other than this dialog.

The daily lifecycle

At the organization's generation time, the system prepares a PDF for every target due in the next 24 hours. At each schedule's own send time, the system emails the prepared PDF to that target's recipients, and the schedule's Last Delivery timestamp updates. If a send fails or is missed, it counts toward Failed Deliveries — see Failures below.

The All Report Schedules table shows each schedule's Status (Active or Inactive).

Key Capabilities

Automated monitoring and recovery

Beyond the single daily generation and send described above, a set of automatic checks runs in the background throughout the day to catch anything that did not go as planned and put it right without anyone having to step in:

  • Morning preparation, with follow-up checks. At 06:00 (Berlin time) the system reviews everything due to send within the next 24 hours and prepares it. Because preparing a large number of reports takes time, it checks again at 06:40, 07:40, 08:40, and 12:40 for anything that should have started preparing but has not, and starts it.
  • Generation trigger, every 5 minutes. A check runs every 5 minutes for any schedule that has reached its generation time, and begins building its PDF.
  • Missed-report recovery, twice an hour. At 15 and 45 minutes past each hour, the system looks for any daily report that should already have been sent that day but was not, and tries again the same day.
  • Failed delivery retry, once an hour. At 20 minutes past each hour, deliveries that failed for a temporary technical reason are retried automatically.
  • Overdue schedule correction, twice a day. At 18:00 and 22:00, the system checks for schedules that have fallen behind where they should be and moves them forward instead of leaving them stuck.
  • Daily cleanup, once a day. At 06:00, old delivery records are cleared out and any report that has been waiting too long without completing is marked as failed, so it is counted properly instead of sitting unresolved.

None of this requires action on your part. It explains why an occasional delivery failure often clears itself within the hour, and why a report that looks stuck may simply complete on its own during one of these passes.

All Report Schedules table and KPI cards

All of this lives on Settings → Reports. Per schedule you can see: name, customers, sites, recipient count, status, last delivery, frequency, next run, and report type. Rows can be selected via checkbox.

Each row's Action column has four controls:

  • A toggle to activate or deactivate the schedule.
  • An icon that sends that schedule's report immediately to its configured recipients. This counts as a real send — it updates Reports Sent (This Month) and the Last Delivery timestamp exactly like a scheduled delivery would. Only use it when you actually want the report sent right now.
  • An edit icon, to reopen the schedule in the builder.
  • A delete icon, which asks for confirmation before permanently removing the schedule.

The Settings → Reports header shows Active Schedules, Reports Sent (This Month), and Failed Deliveries counts for your organization.

Failures: where they appear

Failed deliveries are counted in the Failed Deliveries KPI card on Settings → Reports. A detailed breakdown — listing each failure with its schedule, target, recipients, timing, and reason, plus retry actions — is planned but not yet available: the View All link on the schedules table is currently marked "Coming soon." Until that ships, use the KPI count as your signal to investigate, and check the schedule's own Last Delivery timestamp on the All Report Schedules table to narrow down which schedule is affected. The automatic retries described above under Automated Monitoring and Recovery happen before a delivery is finally counted as failed.

The screenshot below shows exactly this: hovering View All, above the All Report Schedules table, pops up a small "Coming soon" label instead of opening anything.

Settings > Reports page with the All Report Schedules table, showing a "Coming soon" tooltip over the View All link.

Best Practices

If the on screen warning shows the generation time is too close to a send time, contact NXGEN support to adjust it.

Set up new schedules with this checklist:

  1. Create the schedules, targets, and recipients.
  2. Check the generation time banner and confirm no "too close" warning is showing for your earliest send.
  3. If a warning is showing, contact NXGEN support to adjust the generation time.
  4. Add yourself as a recipient on one target and let its first scheduled run go out; confirm receipt.
  5. Check the All Report Schedules table and the Failed Deliveries count afterward.

Questions or discrepancies between this manual and observed behaviour should be reported to the team. The manual is the source of truth for expected behaviour and will be updated alongside the system.

Was this page helpful?

Thank you — your feedback goes to the team that owns this page.