Unmeshed Logo

Back to Blog

Calendar Scheduling in Unmeshed

Unmeshed has unveiled a new feature: Calendar Scheduling, which lets you define custom calendars that act as intelligent filters, ensuring workflows run only on specific and valid days. We offer our clients multiple methods to set up calendar-based scheduling, tailored to their needs.

5 min read
June 12, 2025

Introduction

Workflow automation is a critical component of many business operations, handling tasks that require minimal human involvement. From generating financial reports and running overnight data jobs to performing system checks during maintenance windows, automation ensures these processes run efficiently and reliably.

These processes often rely on recurring execution. It traditionally handled with cron expressions. While cron is effective for fixed intervals, it quickly becomes limiting when workflows need to align with real-world business calendars.

Unmeshed already offers robust cron-based scheduling for repeatable jobs (e.g., every hour or every day at 5 AM). But for more complex real-world scenarios, we added Calendar Scheduling into Unmeshed platform. This feature lets you define custom calendars that act as intelligent filters ensuring workflows run only on specific and valid days. You can also combine calendars, dynamically generate schedules, and control how jobs respond to skipped or excluded dates. It’s purpose-built for modern automation needs.

Supported Calendar Types in Unmeshed

Unmeshed supports four calendar types, each built to serve different use cases and levels of technical control:

  1. List of Dates Calendar
  2. Code Calendar
  3. Derived Calendar
  4. Reschedule Calendar

1. List of Dates Calendar

The List of Dates Calendar allows users to manually select execution dates via the UI.

list-of-dates

Features

  • Define a date range and select individual days using a visual calendar interface.
  • Apply predefined selectors to quickly select commonly used patterns such as:
    • Weekends
    • Weekdays
    • Specific weekdays (e.g., every Monday)
  • View and manage selected dates using the Calendar View or List View.

Use Cases

  • Non-technical users who prefer visual date selection.
  • Fixed execution schedules (e.g., monthly reviews, quarterly tasks).

2. Code Calendar

The Code Calendar enables users to define execution dates programmatically using scripting.

code-calendar

Features

  • Write custom logic to generate a list of valid dates.
  • Supports templated code snippets to help users get started.
  • Ideal for complex or dynamic schedules, such as:
    • “Every third Friday of the month”
    • “First working day after a public holiday”

Use Cases

  • Developers who require logic-based scheduling.
  • Scenarios where execution dates depend on business rules or data inputs.

3. Derived Calendar

The Derived Calendar is created by applying set operations between two existing calendars: a Source Calendar and a Target Calendar.

derived-calendar

Supported Operations

  • UNION - Combines all dates from both calendars.
  • INTERSECTION - Includes only dates common to both calendars.
  • DIFFERENCE - Includes dates from the source calendar that are not in the target calendar.
  • SYMMETRIC DIFFERENCE - Includes dates that are unique to either calendar.

Key Notes

  • Manual modification of a Derived Calendar is not supported.
  • The calendar is always computed based on the defined operation and input calendars.
  • A preview of the resulting dates is available before saving.

Use Cases

  • Advanced scheduling needs that combine multiple calendar rules.
  • Excluding or combining specific event sets (e.g., "working days minus holidays").

4. Reschedule Calendar

The Reschedule Calendar is designed for cases where scheduled job executions need to be skipped and rescheduled after a specified delay.

reschedule-calendar

Features

  • Define days to skip job execution(e.g., holidays, maintenance periods).
  • Specify a delta (number of days) to reschedule the skipped job.
  • Offers fine-grained control for exception handling.

Use Cases

  • Holiday scheduling.
  • Downtime or blackout window management.
  • Scenarios requiring postponed job execution without cancellation.

Using Calendars in Job Scheduler

Calendars can be attached to schedule definitions to control when jobs are executed.

Each schedule can define:

  • A CRON expression, or
  • A Fixed time of day (e.g., 09:00 AM)

When a calendar is associated with a schedule:

  • The calendar acts as a filter, determining the eligible execution dates.
  • The job will only run on the dates included in the calendar, at the specified time.

Note: Every calendar comes with a snapshot preview so you can visually verify all future execution dates before going live. This helps avoid surprises and speeds up iteration.

Final thought

With Calendar Scheduling, you can now define custom calendars that act as filters over your schedules. Workflows will only execute on the days defined in your calendar thus by giving you fine-grained control over when jobs run and when they don’t. If you’ve been held back by cron complexity, calendar-based scheduling gives you the clarity and control you need to automate with confidence.

Recent Blogs