Maintenance schedules: automate recurring maintenance
Maintenance schedules: automate recurring maintenance
Maintenance schedules are automation rules that watch your printers and create maintenance jobs when certain conditions are met. Instead of manually remembering when each printer needs servicing, schedules handle that for you - checking conditions every hour and creating jobs ahead of time so your team can plan.
This article focuses on schedules specifically. For a general overview of the maintenance system, see the Printer maintenance overview. For details on building task templates that schedules reference, see Task templates.
How schedules work
The relationship between the maintenance concepts is important to understand:
- A schedule defines when maintenance should happen (the trigger)
- When the trigger condition is met, the schedule creates a job for the affected printer
- The job contains tasks pulled from your task templates - the actual steps someone needs to complete
The system evaluates all active schedules every hour. For each printer in scope, it checks whether the trigger condition is met (or predicted to be met soon). If so, it creates a job and notifies the assigned team members.
Creating a schedule
To create a new schedule:
- Go to Maintenance in the left menu
- Click the Schedules tab
- Click Create schedule
- Enter a name for the schedule (required) and optionally a description
- Choose a trigger type and configure its threshold (see below for details on each type)
- Set the scope - which printers this schedule applies to
- Choose a task assignment mode to control which tasks are included in auto-created jobs
- Click Save

Trigger types
The trigger type determines what condition causes the schedule to create a maintenance job. This is the most important part of a schedule, so take time to pick the right one for your use case.
Time-based (every X days)
The simplest trigger. It creates a maintenance job every X days since the last maintenance was completed on each printer.
The advance notice days setting controls how far ahead the job is created. For example, if you set the interval to 30 days with 7 days of advance notice, the system creates the job on day 23 - giving your team a full week to plan and complete the maintenance before it is actually due.
If a printer has never been maintained under this schedule, the system treats it as immediately due and creates a job right away.
Good for: Regular calendar-based maintenance like weekly inspections or monthly servicing.
Print hours
A usage-based trigger that tracks cumulative print hours per printer since the last maintenance. When the total reaches your threshold, a job is created.
What makes this trigger smart is its prediction engine. The system tracks a moving average of each printer's daily print activity and uses it to estimate when the threshold will be reached. It then creates the job ahead of time based on your advance notice setting.
For example, say you set the trigger to every 200 print hours. A printer has accumulated 180 hours since its last maintenance and averages about 5 hours of printing per day. The system calculates roughly 4 days remaining, and if your advance notice is set to 7 days, it would have already created the job. If the printer sits idle for a while, the prediction adjusts accordingly.
Good for: Printers with varying usage patterns. A busy printer gets maintained more often than one that only runs occasionally.
Filament consumption (grams)
A threshold-based trigger that fires when cumulative filament usage since the last maintenance exceeds a set amount in grams. The system tracks how much filament each printer extrudes and compares it to your threshold.
Unlike print hours, this trigger does not predict ahead - it creates the job once the threshold is actually reached.
Good for: Tracking extruder wear and filament path maintenance. Printers pushing lots of filament through the system need more frequent nozzle and gear inspections.
Print count
Triggers after a set number of completed prints since the last maintenance. Straightforward and easy to understand.
Like filament consumption, this is a threshold trigger without prediction - the job is created once the count is reached.
Good for: High-volume operations where the number of prints is a good proxy for wear. If each print involves similar setup and teardown stress on the machine, print count is a reliable trigger.
Task threshold
This is the most advanced trigger type. Instead of watching a single metric, it looks at your individual task templates and their own built-in triggers. When enough templates report as "due" for a given printer, the schedule creates a job that bundles those due tasks together.
There are two modes:
- Specific templates - You select which task templates to watch. The schedule triggers when all of the selected templates are due. For example, you pick three templates: "clean bed", "inspect nozzle", and "check belts". The schedule fires only when all three report as due for a printer. The job then includes exactly those due tasks.
- Count - The schedule watches all your task templates (excluding always-on templates). You set a number, and the schedule triggers when at least that many templates are due. For example, "trigger when 3 or more tasks are due" creates a job whenever any combination of 3+ templates report as due.
Good for: Letting individual task triggers drive the overall maintenance schedule. Instead of guessing a single interval, you define when each task should be done, and the schedule groups them into efficient jobs.
Failure count
A reactive trigger that counts print failures - cancelled or failed prints - since the last maintenance. When the count exceeds your threshold, a job is created to investigate and fix the issue.
You can optionally filter by cancel reason type to only count specific kinds of failures, rather than all cancellations.
Good for: Catching printers that are struggling. If a printer fails 5 prints in a row, something is probably wrong and it needs attention.
Scope
Every schedule targets a specific set of printers. The scope determines which printers the schedule monitors:
- Account-wide - All printers in your account. The default.
- Specific printer models - Only printers of certain models (e.g., all Prusa MK4s)
- Specific printer groups - Only printers in certain groups
- Specific individual printers - Hand-picked printers
The schedule evaluates its trigger independently for each printer in scope. One printer might be due for maintenance while another is not - each gets its own tracking.
Task assignment modes
When a schedule creates a job, it needs to decide which tasks to include. The task assignment mode controls this:
Manual
You manually choose which task templates are attached to the schedule. Every job created by this schedule includes exactly those tasks, regardless of whether the individual tasks are "due" by their own triggers.
This is the simplest mode and works well when you want consistent, predictable jobs.
Auto
The system checks all your task templates and includes only the ones whose individual triggers are currently met for that printer. A task template with a 200-hour trigger only appears in the job if the printer has actually accumulated 200+ hours since that task was last completed.
This means two jobs from the same schedule might contain different tasks, depending on each printer's usage.
Hybrid
A combination of manual and auto. You "pin" certain task templates that always appear in jobs, and the system also adds any auto-detected due templates on top. You can optionally restrict the auto-detection to a specific subset of templates rather than checking all of them.
This gives you a guaranteed baseline of tasks plus smart additions when extra work is needed.
Advance notice and snooze
Two settings control the timing around job creation:
- Advance notice days - How many days before a printer is actually due should the job be created? This gives your team time to plan. For time-based and print-hour triggers, the system predicts the due date and subtracts the advance notice to decide when to create the job.
- Snooze days - If a job's scheduled date needs to be pushed back (for example, a minimum usage threshold is not met), the system reschedules it by this many days.
Job limits and staggering
If you have many printers, you probably do not want all of them going into maintenance at the same time. Schedules support several limits to control this:
Per-schedule stagger limit
Set a maximum number of concurrent active jobs for this schedule. If the limit is reached, no new jobs are created until existing ones are completed. The most urgent printers - the ones closest to or past their due date - get jobs first.
Account-wide limits
In your maintenance settings, you can set:
- Max concurrent maintenance jobs - Total active jobs across all schedules
- Max jobs per week - Caps how many auto-created jobs appear in a given week
- Max jobs per month - Monthly cap on auto-created jobs
These limits work together. The system respects all of them, and when capacity is limited, it prioritizes the most urgent printers.
Priority and auto-assignment
Each schedule has a job priority setting (low, normal, high, or urgent) that is applied to every job it creates. Higher-priority schedules are more visible in the maintenance dashboard.
You can also set auto-assign users - team members who are automatically assigned to every job created by this schedule. This is useful for designating a maintenance technician or team responsible for certain types of work.
Job title template
Customize the title of auto-created jobs using placeholders. For example, a template like "Monthly service - {printer_name}" produces job titles like "Monthly service - Prusa MK4 #3".
Enabling and disabling
You can toggle a schedule on or off at any time without deleting it. A disabled schedule stops creating new jobs but does not affect any existing jobs that were already created. This is useful for pausing maintenance during busy production periods or while you adjust the schedule configuration.
Built-in schedule library
If you are not sure where to start, SimplyPrint includes a library of default schedules you can import. These cover common patterns:
- Weekly quick check - Every 7 days, low priority. Bed cleaning, nozzle inspection, belt check.
- Monthly maintenance - Every 30 days, normal priority. Includes lubrication, fan cleaning, and calibration tasks.
- Quarterly deep service - Every 90 days, high priority. Full calibration, hardware inspection, component replacement check.
- Annual overhaul - Every 365 days, high priority. Complete teardown-level inspection with extended downtime expected.
- Every 200 print hours - Usage-based. Lubrication, nozzle, belts, filament path.
- Every 500 print hours - Major usage-based service with full calibration.
- Every 5 kg of filament - Filament-based. Nozzle wear and filament path focus.
- Every 100 prints - Print-count based. Quick inspection after every 100 completed prints.
To import defaults, click Import defaults on the schedules list page. Any task templates referenced by these schedules are automatically created if they do not already exist in your account.
Schedule preview
Before relying on a schedule, you can preview what it would do. The preview shows each printer in scope with:
- Current value vs. threshold (e.g., 142 print hours out of 200)
- Whether the threshold is met
- Last maintenance date
- Predicted due date (for time-based and print-hour triggers)
- Average daily print hours
- Auto-matched tasks (if using auto or hybrid assignment)
This helps you verify the schedule is configured correctly and see which printers are closest to needing maintenance.

Minimum usage threshold
For time-based schedules, there is an optional minimum usage threshold setting. This prevents creating jobs for printers that have barely been used. For example, a monthly schedule with a minimum usage threshold of 10 print hours only creates a job if the printer has actually printed at least 10 hours in the past month. If the threshold is not met, the job is snoozed instead of created.
This avoids unnecessary maintenance on printers sitting idle.
Tips for setting up schedules
- Start with one or two simple schedules (like a weekly check and a monthly service) and add complexity as you learn how your printers behave
- Use the preview feature to validate your configuration before enabling a schedule
- If you have printers with very different usage patterns, consider using print-hour triggers instead of time-based ones so busy printers get maintained more often
- Set advance notice to at least a few days so your team is not surprised by same-day maintenance jobs
- Use stagger limits to avoid pulling too many printers offline at once during peak production
Updated on: 01/04/2026
Thank you!