A lot of useful automation is boring on purpose: the same digest every morning, the same sync every hour. Until now someone had to press Run. Triggers remove that person from the loop.
Setting one up
Open Triggers, choose a published workflow and say how often it should run: every few minutes, hourly, daily, weekly or monthly, or a cron expression of your own. Pick the timezone and, optionally, a JSON payload the workflow receives as {{ trigger }} on every run.
0 9 * * 1-5 every weekday at 09:00
0 * * * * at the start of every hour
30 7 1 * * 07:30 on the first of each monthBefore you save, the form shows the next three times it will fire. A schedule that is wrong is much easier to spot as three dates than as five fields.
Why a trigger only runs what you published
A trigger always runs the workflow's published version, never the draft. We went back and forth on this, but the alternative is a schedule that quietly changes behaviour every time someone edits a prompt. With the split, you can experiment on the canvas all day and the 9am run still does what you shipped. See Publishing and versions.
Firing once, and only once
A scheduler has two classic bugs: firing twice, and firing a flood after downtime. Due triggers are checked once a minute, and each one is claimed and moved to its next time in the same database transaction, before its run starts. Once that commits, no other worker sees it as due. A scheduler that was down for an hour fires each trigger once when it comes back, not sixty times.
Times are stored in UTC but the expression is read in the trigger's own timezone, so a 9am schedule in Europe/London stays at 9am across daylight saving changes. The shortest schedule is every five minutes, since each run has a real cost.
Nothing fails silently
If a run cannot start, because the workflow was unpublished, no longer validates or the account hit a limit, the trigger's last run shows skipped with the reason. Runs that do start sit in the workflow's run history, marked schedule, where you can replay them like any other. Run now fires a trigger once without touching its schedule, which is the fastest way to check it.
Try it
The report drafting use case is a good first candidate: publish it, add a weekday 8am trigger, and the report is waiting when you start work. The schedules and triggers docs cover every option.
Keep reading
- Schedules and triggers: run workflows automaticallyRun AI agent workflows on a schedule: pick daily, weekly or a cron expression, set a timezone and payload, preview the next runs, and run it now.
- Automated report drafting with ClaudeFetch metrics from an OAuth-protected API and have Claude draft a readable report, run on demand or on a schedule, in a visual Worfilo workflow.
- Schedule trigger nodeThe Schedule trigger runs a Worfilo workflow on a cron schedule you set on the Triggers page, so a report or sync happens without anyone starting it.
Build it on the canvas
Create a free account, describe the workflow or wire it yourself, and run it in the browser.