Schedule (Cron) Integration

Overview

The Schedule trigger allows you to run workflows automatically at specific times or intervals using cron expressions. Perfect for recurring tasks, periodic data syncs, and time-based automation.


What It Enables

Common Use Cases

  1. Daily Reports: Generate and send reports every morning at 9 AM
  2. Data Synchronization: Sync data between systems every hour
  3. Cleanup Tasks: Delete old records every night at midnight
  4. Monitoring: Check system health every 5 minutes
  5. Batch Processing: Process queued items every 15 minutes
  6. Reminders: Send weekly reminders every Monday morning

Prerequisites


How to Use Schedule Trigger

Step 1: Add Schedule Trigger

  1. Create a new flow or edit existing flow
  2. Click “Select Trigger”
  3. Search for “Schedule”
  4. Select “Schedule” trigger

Step 2: Configure Schedule

Choose your scheduling method:

Option A: Simple Intervals

For basic recurring tasks:

Option B: Cron Expression

For precise control, use cron expressions:

Format: minute hour day month day-of-week

Examples:

0 9 * * *        # Every day at 9:00 AM UTC
0 */2 * * *      # Every 2 hours
*/15 * * * *     # Every 15 minutes
0 0 * * 1        # Every Monday at midnight
0 9 1 * *        # First day of every month at 9 AM
0 18 * * 1-5     # Weekdays at 6 PM

Step 3: Set Timezone (Important!)

  1. Select your timezone from dropdown
  2. Default is UTC
  3. Schedule will run according to selected timezone

Example: If you select “America/New_York” and set “0 9 * * *”, the flow runs at 9 AM Eastern Time.

Step 4: Test Your Schedule

  1. Click “Test Trigger”
  2. Schedule will fire immediately for testing
  3. Verify your flow runs correctly
  4. Check output data

Step 5: Enable Flow

  1. Click “Publish” to enable
  2. Flow will now run on schedule
  3. View upcoming runs in flow details

Cron Expression Guide

Basic Syntax

┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6) (Sunday = 0)
│ │ │ │ │
* * * * *

Special Characters

Common Patterns

Pattern Description Cron Expression
Every minute Runs every minute * * * * *
Every 5 minutes Runs every 5 minutes */5 * * * *
Every 15 minutes Runs every 15 minutes */15 * * * *
Every 30 minutes Runs every 30 minutes */30 * * * *
Every hour Top of every hour 0 * * * *
Every 2 hours Every 2 hours 0 */2 * * *
Every day at 9 AM Daily at 9:00 AM 0 9 * * *
Every day at midnight Daily at 12:00 AM 0 0 * * *
Every Monday at 9 AM Weekly on Monday 0 9 * * 1
Every weekday at 6 PM Mon-Fri at 6 PM 0 18 * * 1-5
First of month at 9 AM Monthly on 1st 0 9 1 * *
Every 1st and 15th Twice monthly 0 9 1,15 * *

Business Hours Examples

0 9-17 * * 1-5    # Every hour from 9 AM to 5 PM, weekdays only
*/30 9-17 * * 1-5 # Every 30 min during business hours, weekdays
0 9,12,15,17 * * 1-5  # 9 AM, noon, 3 PM, 5 PM on weekdays

Available Triggers

Schedule Trigger

Description: Runs flow on a recurring schedule

Configuration:

Output Data:

{
  "scheduledTime": "2026-01-18T09:00:00Z",
  "actualTime": "2026-01-18T09:00:01.234Z",
  "timezone": "America/New_York"
}

Common Errors & Fixes

❌ “Invalid cron expression”

Cause: Cron syntax is incorrect

Fix:

  1. Check cron expression format
  2. Use cron validator tool online
  3. Try a simple interval first
  4. Verify all 5 fields are present

Example Fix:


❌ “Schedule not firing at expected time”

Cause: Timezone mismatch

Fix:

  1. Check selected timezone in trigger settings
  2. Remember: Default is UTC
  3. Convert your local time to selected timezone
  4. Test with immediate run first

Example:


❌ “Flow runs too frequently”

Cause: Cron expression runs more often than intended

Fix:

  1. Review cron expression carefully
  2. Check for * in minute field (runs every minute!)
  3. Use step values: */15 instead of *
  4. Test schedule before enabling

Example Fix:


❌ “Missed scheduled runs”

Cause: Flow was disabled or system maintenance

Fix:

  1. Check flow is enabled (published)
  2. Check run history for errors
  3. Verify no system maintenance during scheduled time
  4. Consider adding retry logic in flow

Note: If a scheduled run is missed, it won’t be retroactively executed. The next scheduled time will be used.


Test Checklist


Tips & Best Practices

Performance Tips

  1. Avoid Very Frequent Schedules: Running every minute can be expensive
  2. Batch Operations: Process multiple items per run instead of running more frequently
  3. Off-Peak Hours: Schedule heavy tasks during low-traffic times
  4. Stagger Schedules: Don’t schedule all flows at the same time

Reliability Tips

  1. Add Error Handling: Use try-catch patterns in your flow
  2. Idempotency: Design flows to handle duplicate runs safely
  3. Monitoring: Check run history regularly
  4. Alerting: Set up notifications for failed runs

Timezone Tips

  1. Be Explicit: Always set timezone, don’t rely on defaults
  2. Daylight Saving: Be aware of DST changes in your timezone
  3. UTC for Global: Use UTC for international teams
  4. Document: Note timezone in flow description

Cron Expression Tips

  1. Start Simple: Use simple intervals first, then optimize
  2. Test First: Always test before enabling
  3. Use Comments: Add flow description explaining schedule
  4. Validate: Use online cron validators to verify expressions

Advanced Patterns

Conditional Execution

Even though schedule runs on time, you can add conditions:

1. Schedule trigger (every hour)
2. Branch step: Check if it's business hours
3. If yes: Run main logic
4. If no: Exit flow

Multiple Schedules

Create separate flows for different schedules:

Dynamic Scheduling

For dynamic schedules, use external schedulers:

  1. Use webhook trigger instead
  2. External cron service calls webhook
  3. More flexibility but more complexity

Limitations



Need Help?