Recurring Jobs
Recurring Jobs
For customers on a regular service schedule (weekly mowing, biweekly cleaning, monthly maintenance), recurring jobs automate the creation process so you don't have to manually schedule each visit.
Setting up a recurring job
- Navigate to Work → Recurring Jobs and click + New Recurring Job, or check the Recurring box when creating a new job.
- Select the customer and property.
- Choose a scheduling mode (see below).
- Choose the frequency: weekly, every 2 weeks, every 4 weeks, monthly, or custom interval.
- Set the start date and optional end date (or leave open-ended).
- For preferred/fixed modes, pick the day of the week and time.
- Assign a team member or crew.
- Add line items — these will be copied to each generated job.
- Click Create Recurring Job.
Scheduling modes
Each recurring job has a scheduling mode that controls how visits are placed:
Let the system decide (flexible)
The default and recommended mode for most services. Each visit is generated as a pending job with a scheduling window that matches the recurrence cycle. The auto-fill system places it into the best available route slot for maximum efficiency. The customer is notified of their exact arrival time once the route is published.
This is the "set it and forget it" option — you don't need to manually schedule anything.
Preferred day
Visits are generated on the specified day with an optional arrival window (e.g., mornings only). The route optimizer will honor the preference when possible but may adjust for routing efficiency.
Fixed day & time
Visits are locked to the exact day and time you specify. The route optimizer will never move them. Use this only when you've made a specific time promise to the customer.
How generation works
- Flexible mode: visits are generated 4 weeks ahead as pending jobs. New visits are continuously topped up by the background system — no manual action needed.
- Preferred/Fixed modes: visits are generated far in advance with their scheduled date set.
- Each generated job appears on your calendar and can be individually edited.
- If you change the recurring job template (e.g. new price or different assignee), future jobs update but past jobs are untouched.
- If the recurring job template has a duration that exceeds a single workday (~8 hours), each generated instance will be automatically split into multi-day jobs.
Safety nets
The system includes safeguards to ensure flexible recurring jobs don't fall through the cracks:
- A safety net worker runs every 15 minutes, checking for flexible jobs nearing the end of their scheduling window that haven't been placed yet. It automatically invokes auto-fill to schedule them.
- Dashboard alerts notify you when recurring jobs need immediate scheduling attention.
- The pending count on the schedule calendar shows how many unscheduled jobs are waiting for placement.
Zero-touch scheduling automation
For a fully hands-off experience, go to Settings → Scheduling → Automation and set your preferred automation level:
- Manual — you schedule and publish routes yourself using the calendar and route planner.
- Auto-plan — the system automatically places pending jobs and generates route drafts each morning. You review the draft and click Publish when ready.
- Fully automatic — the system places jobs, plans routes, and publishes them to your crew every morning. No daily action required.
This is especially powerful with flexible recurring jobs — visits are created, placed into optimal route slots, and confirmed to customers without anyone clicking a button.
Pausing and resuming the series
From Work → Recurring Jobs, open a series and use Pause to temporarily stop future generation (for seasonal gaps or customer holds). Resume turns generation back on. Pausing does not delete jobs already on the calendar.
Skip next occurrence (template)
From the recurring job detail page, Skip Next advances the series past the upcoming generated date without cancelling the whole recurring schedule — useful when you already know the next visit should not fire.
Skipping a visit on the calendar
Sometimes you need to skip a single occurrence after it already exists (holiday, rain day, customer request):
- Find the specific generated job on your calendar.
- Click Skip instead of cancelling.
- The skip is recorded, and the next occurrence generates normally.
Skipped visits are tracked so you have an accurate history of service delivery.
Ending a recurring job
To stop future generation:
- Open the recurring job from Work → Recurring Jobs.
- Set an end date or click Deactivate.
- Already-generated future jobs remain on the calendar — delete them individually if needed.
Troubleshooting
Future jobs aren't being generated. Check that the recurring job is still Active (not deactivated or past its end date). Also verify that the frequency and day-of-week settings are correct.
I changed the template but existing jobs didn't update. Changes to the recurring job template only apply to future generated jobs. Already-generated jobs on the calendar keep their original details. Edit those individually if needed.
I accidentally cancelled a recurring job instead of skipping one occurrence. If you cancelled a single generated job, the recurring template is unaffected — the next occurrence will generate normally. If you deactivated the recurring job itself, reactivate it from the recurring jobs list.
Tips
- Use recurring jobs for any service you deliver on a regular cadence.
- Review your recurring jobs monthly to make sure pricing and assignments are current.
- Seasonal services can use start/end dates to auto-start and auto-stop (e.g. mowing April through October).
Related
Was this article helpful?