Skip to content

Timer Trigger

Overview

The Timer Trigger allows you to run workflows automatically at specific times or intervals. This is perfect for recurring tasks like daily reports, weekly reminders, monthly invoices, or any time-based automation.

When to use this trigger:

  • Generate and send daily/weekly/monthly reports
  • Process end-of-day transactions
  • Send recurring reminders or follow-ups
  • Sync data between systems at regular intervals
  • Clean up old records periodically
  • Check for updates or changes on a schedule

Quick Start

  1. Create a new workflow
  2. Add a Timer Trigger as the first task
  3. Choose your schedule type (Minute, Hour, Day, Week, Month, or Custom Cron)
  4. Configure the schedule settings
  5. Set your timezone
  6. Save and enable the workflow
  7. The workflow will now run automatically according to your schedule

[SCREENSHOT NEEDED: Timer Trigger task panel showing schedule type dropdown and configuration options]

Schedule Types

Every Minute

Runs the workflow every N minutes (1-59).

Configuration: - Interval: Choose how many minutes between runs (1, 5, 10, 15, 30, etc.)

Example Use Cases: - Real-time data synchronization - Monitoring critical systems - Processing high-volume queues

[SCREENSHOT NEEDED: Every Minute configuration showing interval selector]

Every Hour

Runs the workflow every N hours at a specific minute.

Configuration: - Interval: Choose how many hours between runs (1-23) - Minute: Choose which minute of the hour to run (0-59)

Example: Every 2 hours at 15 minutes past the hour (1:15 PM, 3:15 PM, 5:15 PM, etc.)

Example Use Cases: - Hourly sales reports - Regular data backups - Checking for new orders

[SCREENSHOT NEEDED: Every Hour configuration showing hour interval and minute selector]

Every Day

Runs the workflow once per day at a specific time.

Configuration: - Time: Choose the exact time (hour and minute) to run - Timezone: Select your timezone

Example: Every day at 9:00 AM in your timezone

Example Use Cases: - Daily summary emails - End-of-day processing - Morning reminders

[SCREENSHOT NEEDED: Every Day configuration showing time picker and timezone selector]

Every Week

Runs the workflow on specific days of the week at a specific time.

Configuration: - Days: Select which days to run (Monday, Tuesday, Wednesday, etc.) - Time: Choose the exact time to run - Timezone: Select your timezone

Example: Every Monday and Friday at 2:00 PM

Example Use Cases: - Weekly reports - Bi-weekly reminders - Weekend processing tasks

[SCREENSHOT NEEDED: Every Week configuration showing day checkboxes, time picker, and timezone]

Every Month

Runs the workflow on specific days of each month at a specific time.

Configuration: - Days: Select which day(s) of the month (1-31) - Time: Choose the exact time to run - Timezone: Select your timezone

Example: On the 1st and 15th of every month at 8:00 AM

Example Use Cases: - Monthly invoicing - First-of-month reports - Mid-month reminders

Note: If you select day 31 and the month only has 30 days (or 28/29 for February), the workflow will not run that month.

Custom Cron Expression

For advanced users, you can use cron expressions to create complex schedules.

Configuration: - Cron Expression: Enter a standard cron expression - Timezone: Select your timezone

Cron Format:

* * * * *
│ │ │ │ │
│ │ │ │ └─── Day of week (0-6, Sunday=0)
│ │ │ └───── Month (1-12)
│ │ └─────── Day of month (1-31)
│ └───────── Hour (0-23)
└─────────── Minute (0-59)

Common Cron Patterns:

Pattern Description Example Use
0 9 * * 1-5 9 AM on weekdays Business day reports
0 */6 * * * Every 6 hours Periodic sync
0 0 1 * * First day of month at midnight Monthly processing
0 0 * * 0 Sundays at midnight Weekly cleanup
*/15 * * * * Every 15 minutes Frequent checks
0 9-17 * * 1-5 Every hour 9 AM-5 PM on weekdays Business hours only

Timezone Configuration

All timer triggers use timezone-aware scheduling. This ensures your workflows run at the correct local time, even with daylight saving time changes.

Important: - Always select the timezone relevant to your business or users - The system accounts for daylight saving time automatically - If you work across multiple timezones, create separate workflows for each

Example: If you select "Africa/Johannesburg" and schedule a task for 9:00 AM, it will run at 9:00 AM South African time, regardless of where your server is located.

Output Fields

The Timer Trigger outputs information about the scheduled run that you can use in subsequent tasks:

Field Description Example Value
task_[ID]_timestamp Unix timestamp when triggered 1707379200
task_[ID]_datetime ISO 8601 formatted datetime 2024-02-08T09:00:00+02:00
task_[ID]_date Date in YYYY-MM-DD format 2024-02-08
task_[ID]_time Time in HH:MM:SS format 09:00:00
task_[ID]_timezone Configured timezone Africa/Johannesburg
task_[ID]_status Always "success" for schedule triggers success

Using Output in Subsequent Tasks:

You can reference these fields in emails, webhooks, or other tasks using the flattened notation:

Hi there,

This is your scheduled report for {{task_48123_date}} at {{task_48123_time}}.

Best regards,
Your Team

Real-World Examples

Example 1: Daily Sales Report

Schedule: Every day at 8:00 AM Workflow: 1. Schedule Trigger - Daily at 8:00 AM 2. MySQL Query - Fetch yesterday's sales 3. Email - Send report to management

Example 2: Monthly Invoice Generation

Schedule: First day of every month at 9:00 AM Workflow: 1. Schedule Trigger - Monthly on day 1 at 9:00 AM 2. MySQL Query - Get all clients with active subscriptions 3. Loop - For each client 4. MySQL Query - Generate invoice record 5. Email - Send invoice to client

Example 3: Hourly Data Sync

Schedule: Every hour at 5 minutes past Workflow: 1. Schedule Trigger - Hourly at :05 2. Webhook Out - Fetch data from external API 3. Loop - Process each record 4. MySQL Query - Update local database

Example 4: Weekly Reminder on Multiple Days

Schedule: Monday, Wednesday, Friday at 10:00 AM Workflow: 1. Schedule Trigger - Weekly on Mon/Wed/Fri at 10:00 AM 2. MySQL Query - Get clients with pending tasks 3. Loop - For each client 4. Email - Send reminder

Example 5: Month-End Processing

Schedule: Last day of month at 11:00 PM Cron Expression: 0 23 28-31 * * (with additional logic to check if tomorrow is a new month) Workflow: 1. Schedule Trigger - Custom cron 2. Code Task - Verify it's actually the last day 3. If Task - Check if last day 4. MySQL Query - Run month-end calculations 5. Email - Send summary

Testing Your Schedule

Test Run Feature

You can test your scheduled workflow without waiting for the scheduled time:

  1. Open your workflow
  2. Click the "Run Test" button in the Schedule trigger task
  3. The workflow will execute immediately with the current date/time values
  4. Check the execution history to verify it worked correctly

Checking Execution History

After your workflow runs (scheduled or test), you can view the execution history:

  1. Go to your workflow
  2. Click "Execution History"
  3. View all past runs with timestamps and status
  4. Click any execution to see detailed logs

Best Practices

✅ Do's

  • Use appropriate intervals: Don't schedule workflows more frequently than needed
  • Consider timezones: Always set the correct timezone for your use case
  • Test before enabling: Use "Run Test" to verify your workflow works correctly
  • Monitor execution history: Regularly check that your scheduled workflows are running successfully
  • Use meaningful names: Name your workflows clearly (e.g., "Daily Sales Report - 8 AM")
  • Add error handling: Include If tasks to handle failures gracefully
  • Document your cron expressions: Add comments in your workflow description explaining complex cron patterns

❌ Don'ts

  • Don't over-schedule: Running workflows every minute when hourly is sufficient wastes resources
  • Don't ignore failures: Set up error notifications so you know when scheduled tasks fail
  • Don't forget daylight saving: Use timezone-aware scheduling instead of UTC offsets
  • Don't schedule overlapping workflows: If a workflow takes 10 minutes, don't schedule it every 5 minutes
  • Don't hardcode dates: Use the schedule trigger's output fields instead of hardcoded values

Troubleshooting

Workflow Not Running at Scheduled Time

Possible Causes: - Workflow is disabled - Schedule configuration is incorrect - Timezone setting is wrong - System maintenance window

Solutions: 1. Check the workflow toggle is ON (enabled) 2. Verify your schedule configuration matches your intention 3. Double-check your timezone selection 4. Review execution history for error messages

Workflow Running at Wrong Time

Cause: Timezone misconfiguration

Solution: Edit your Schedule trigger and select the correct timezone

Cron Expression Not Working

Possible Causes: - Invalid cron syntax - Using 6-field format instead of 5-field

Solutions: 1. Verify your cron expression using an online cron validator 2. Use standard 5-field cron format (minute, hour, day, month, weekday) 3. Test with a simple expression first (e.g., * * * * * for every minute)

Workflow Runs Multiple Times

Cause: Multiple enabled Schedule triggers in the same workflow

Solution: Each workflow should have only ONE Schedule trigger. If you need multiple schedules, create separate workflows.

Advanced Patterns

Conditional Scheduling

You can add logic after a Schedule trigger to run different workflows based on the date:

1. Schedule Trigger - Daily at 9:00 AM
2. Code Task - Check if it's the first day of the month
3. If Task - Is first day?
   - Yes: Run monthly processing
   - No: Run daily processing

Sequential Scheduled Workflows

If you need workflows to run in sequence:

1. Schedule Trigger - Daily at 8:00 AM
2. [Your workflow logic]
3. Delay Task - Wait 30 minutes
4. Webhook Out - Trigger another workflow's webhook

Error Recovery

Add error handling to scheduled workflows:

1. Schedule Trigger - Hourly
2. Try your main logic
3. If Task - Check for errors
   - Has errors: Send alert email
   - No errors: Continue normally

Frequently Asked Questions

Can I have multiple Schedule triggers in one workflow?

No, each workflow should have only one trigger (Schedule, Webhook, Email, etc.). If you need multiple schedules, create separate workflows.

What happens if a scheduled workflow is still running when the next schedule hits?

The system queues the next execution and will run it after the current one completes. However, if you have many overlapping executions, consider increasing your schedule interval.

Can I schedule a workflow to run at different times on different days?

Yes, use the "Every Week" schedule type and select specific days, or use a custom cron expression for more complex patterns.

How do I schedule a workflow for business days only (Monday-Friday)?

Use the "Every Week" schedule type and select Monday through Friday, or use the cron expression: 0 9 * * 1-5 (for 9 AM on weekdays).

Can I schedule a workflow to run every X days (not weekly)?

Not directly with the built-in schedule types. You can use a daily schedule and add a Code task to check if it should run (e.g., check if day number modulo X equals 0).

What's the difference between UTC and my local timezone?

UTC is a universal time standard. If you select your local timezone (e.g., "Africa/Johannesburg"), your workflow will run at the time shown on your local clock, accounting for daylight saving time. This is usually what you want.

Can I temporarily disable a scheduled workflow?

Yes, toggle the workflow OFF at the top of the workflow editor. The schedule trigger will stop running until you enable it again.

How far in advance can I see upcoming scheduled runs?

Currently, the system doesn't show future scheduled runs. However, you can calculate them based on your schedule configuration.

Can I schedule a workflow to run at the end of each month?

Yes, but it's complex because months have different lengths. Use the "Every Month" type and select days 28-31, or use a custom cron expression with additional logic to verify it's actually the last day.


Next Steps: - Webhook In Trigger - Trigger workflows from external systems - Website Form - Trigger from website forms - Inbound Email - Trigger from incoming emails