Schedule Trigger: Run Workflows on a Recurring Schedule

The Schedule trigger is a Krom Automation Pro feature that runs a workflow automatically on a fixed schedule, without needing a WordPress event to fire it. Instead of reacting to something that happened (a user registered, an order was placed) scheduled workflows run at a time you define, regardless of user activity on the site.

It’s the right trigger any time your automation is time-based rather than event-based.

When to use the Schedule trigger #

Use it when the automation doesn’t depend on a specific event firing at an unpredictable time, but instead needs to happen at a predictable interval.

Common use cases:

  • Send a daily digest email with the previous day’s new orders, signups, or activity
  • Post a weekly performance summary to a Slack channel every Monday morning
  • Export data to a Google Sheet on a set interval for ongoing reporting
  • Run a monthly re-engagement email campaign on the first of each month
  • Check for expired content, inactive users, or pending tasks periodically
  • Send renewal reminder emails on a fixed schedule relative to a known date
  • Publish scheduled social media posts at a set time each day

Adding the Schedule trigger to a workflow #

  1. Go to Krom Automation > Workflows and click Add New Workflow.
  2. Give the workflow a descriptive name that includes the schedule — for example, Daily Order Digest — 8:00 AM or Weekly Slack Report — Monday 9:00 AM.
  3. Click Add Trigger on the canvas.
  4. Under the Utility category in the trigger panel, select Schedule.
  5. The Schedule trigger configuration panel opens on the right.

Screenshot: Trigger selection panel with the Schedule trigger highlighted under the Utility category.

Configuring the schedule #

The Schedule trigger has one primary setting: the frequency. Select how often the workflow should run.

Frequency options

Once Runs the workflow a single time at a specific date and time you choose. Useful for a one-time campaign, a seasonal send, or a migration task that needs to run at a precise moment. After it runs, the workflow does not fire again.

Every Hour Runs the workflow once per hour. Useful for near-real-time checks or hourly digest emails. Because it fires frequently, make sure the workflow’s actions are appropriate for high-frequency execution.

Every Day Runs once per day at a time you specify. This is the most commonly used schedule option. Set the time in your WordPress timezone. WordPress timezone is configured under Settings > General.

Every Week Runs once per week on a specific day and time. Choose the day of the week and the time.

Every Month Runs once per month on a specific day of the month and time. Choose the day number (1 through 28 is safest — not all months have 29, 30, or 31 days) and the time.

Custom Interval Runs every N minutes, hours, or days. Enter the number and choose the unit. Useful for non-standard cadences like every 6 hours, every 2 days, or every 15 minutes.

Screenshot: Schedule trigger configuration panel showing the frequency dropdown with all options visible.

Screenshot: Daily frequency selected, with the time picker showing 08:00.

What data does the Schedule trigger expose? #

Unlike event-based triggers, the Schedule trigger does not fire because of a specific user, post, or order. It fires because a set time was reached.

This means the trigger itself exposes no entity-specific data. There is no {{user_email}} or {{order.total}} from the trigger — those don’t exist because there’s no event entity.

Instead, scheduled workflows typically use one of two approaches to work with data:

System-level merge tags{{site.name}}, {{site.url}}, {{current_date}}, and {{admin_email}} are available in every workflow. These are often sufficient for digest emails and team notifications.

HTTP Request action to fetch data — Add an HTTP Request action as the first step in the workflow to call an external API or internal WordPress REST endpoint and retrieve the data you need. Store the response under a named key and use it in subsequent actions.

For example, a daily order digest workflow might use an HTTP Request to call the WooCommerce REST API and retrieve yesterday’s orders, then use the response data to populate a summary email.

Run control with the Schedule trigger #

The Schedule trigger fires on a time interval, not per entity. Run Control works differently here than with event-based triggers.

Run every time is the correct setting for most scheduled workflows. Each scheduled run is a genuinely distinct execution — a new day, a new week, a new batch of data.

Run once per entity doesn’t apply meaningfully to scheduled workflows, because there’s no entity in the trigger. Leave it on Run every time unless you have a specific reason to restrict repeated runs.

Timezone considerations #

Krom Automation uses your WordPress timezone for all scheduled times. Your WordPress timezone is set under Settings > General in the WordPress admin.

If your site is set to UTC and you schedule a workflow to run at 8:00 AM, it runs at 8:00 AM UTC, not 8:00 AM in your local time. Confirm your WordPress timezone matches your expectation before setting up scheduled workflows.

How scheduled execution works under the hood #

The Schedule trigger uses Action Scheduler to register and fire scheduled jobs, the same background job library that powers all other Krom Automation delays and executions.

When you activate a workflow with a Schedule trigger, Krom Automation registers the next scheduled run as a pending job in the Action Scheduler queue. When the scheduled time arrives, Action Scheduler runs the job, which fires the workflow. After the workflow completes, Krom Automation registers the next occurrence automatically for recurring schedules.

This means scheduled workflows are reliable as long as WordPress Cron is running on your server. They don’t depend on a user visiting the site at the right time. If your host uses a real server cron to trigger wp-cron.php (common on managed WordPress hosts), scheduled workflows will fire punctually to the minute.

If WordPress Cron is disabled or unreliable on your host, scheduled workflows will be delayed or won’t run. Check Tools > Site Health for any cron-related warnings.

Frequently asked questions #

Can I have more than one Schedule trigger in the same workflow?

No. Each workflow has exactly one trigger. If you need two different schedules, create two separate workflows.

What happens if the scheduled time passes while the workflow is Paused?

If a workflow is Paused when its scheduled time arrives, the execution is skipped. The next occurrence is still scheduled normally. The workflow does not run retroactively when you re-activate it.

Can I run the same scheduled workflow on multiple frequencies?

Not from a single workflow. Create separate workflows with the same actions but different Schedule triggers if you need the same automation to run on different cadences.

The scheduled workflow didn’t run at the expected time. What should I do?

First, check that the workflow is set to Active. Then check Krom Automation > Logs to see if an execution was recorded. If no execution is recorded, the Action Scheduler job may not have fired — check Tools > Scheduled Actions (if you have WP Crontrol or a similar plugin) to see if the job is queued and pending.

What are your feelings

Updated on July 18, 2026