New to Kestra?
Use blueprints to kickstart your first workflows.
Invert schedule conditions in Kestra with the Not operator. Run a flow daily at 11am on every day except Monday using a declarative DayWeek check.
id: schedule-condition-not
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: Demo for Not condition
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.Not
conditions:
- type: io.kestra.plugin.core.condition.DayWeek
date: "{{ trigger.date }}"
dayOfWeek: MONDAY
Schedule a flow to run daily while excluding specific days, using the Kestra Not schedule condition to invert a DayWeek check. This blueprint fires every day at 11am and skips Mondays, giving you a clean, declarative way to build "run on all days except X" calendars without writing extra cron expressions or guard logic inside your tasks.
io.kestra.plugin.core.trigger.Schedule trigger uses the cron expression 0 11 * * * to evaluate the flow at 11am every day.io.kestra.plugin.core.condition.Not condition, which negates whatever conditions it wraps.Not, a io.kestra.plugin.core.condition.DayWeek condition checks whether {{ trigger.date }} falls on MONDAY.Not, the schedule fires on every day the inner condition is false. The flow runs Tuesday through Sunday and is skipped on Monday.hello task (io.kestra.plugin.core.log.Log) writes a confirmation message to the execution logs.Cron alone can express "every day at 11am," but it cannot cleanly express "every day except Monday" without awkward multi-line expressions. Kestra solves this declaratively: event triggers evaluate conditions, the Not operator inverts any condition, and the entire schedule is versioned YAML you can review and diff. You also get automatic retries, full execution lineage, and visibility into both runs and skipped evaluations, capabilities a raw scheduler does not provide.
This blueprint references no secrets.
DayWeek inside Not for other conditions to exclude weekends, specific dates, or time windows.Not to invert a combined rule.Log task with your real workload (ingestion, transformation, notifications).Not condition to a io.kestra.plugin.core.trigger.Flow trigger to skip downstream runs on matching days.