Schedulers & Triggers
Control when and how workflows start execution.Available Nodes
| Node | Type | Purpose |
|---|---|---|
| Start | Trigger | Manual workflow start |
| Cron Scheduler | Trigger (also AI tool) | Run on a recurring schedule |
| Timer | Action (also AI tool) | Delay execution |
| Python Executor | Action (also AI tool) | Run Python code |
Start
Manually start a workflow with the Run button.Use Cases
- Testing workflows during development
- On-demand execution
- Entry point for manual processes
Every workflow needs at least one trigger node (Start, Cron Scheduler, a Webhook, or another event trigger) to begin execution.
Cron Scheduler
Run workflows on a recurring schedule. Instead of raw cron expressions, you pick a frequency and then set the matching interval or time-of-day fields. The Cron Scheduler is also a dual-purpose node — it can be connected to an AI Agent’sinput-tools handle so agents can schedule delayed or recurring runs programmatically.
Parameters
How often the schedule fires:
seconds, minutes, hours, days, weeks, months, or once. The other fields below appear based on the frequency you choose.Seconds between fires (5-59). Shown when frequency is
seconds.Minutes between fires (1-59). Shown when frequency is
minutes.Hours between fires (1-23). Shown when frequency is
hours.Time of day (HH:MM). Shown when frequency is
days.Day of week for weekly schedules (0=Sunday … 6=Saturday). Shown when frequency is
weeks.Time of day for weekly schedules. Shown when frequency is
weeks.Day of month (1-28, or
L for the last day). Shown when frequency is months.IANA timezone identifier (UTC, America/New_York, America/Los_Angeles, Europe/London, Europe/Berlin, Asia/Tokyo, Asia/Kolkata).
Frequency Examples
| Frequency | Fields you set | Result |
|---|---|---|
minutes | interval_minutes = 5 | Every 5 minutes |
hours | interval_hours = 1 | Every hour |
days | daily_time = 09:00 | Daily at 9am |
weeks | weekday = 1, weekly_time = 09:00 | Every Monday at 9am |
months | month_day = 1, timezone = UTC | Monthly on the 1st |
once | — | Fires a single time (no repeat) |
Output
Example: Daily Report
Timer
Add a delay between nodes. The Timer is a dual-purpose node — it works both as a workflow delay node and as an AI Agent tool.Parameters
Delay duration (1-86400).
Time unit:
seconds, minutes, or hours.Use Cases
- Rate limiting API calls
- Waiting for external processes
- Scheduling sequential actions
- AI Agent tool — agents can set timers programmatically when connected to
input-tools
As a Workflow Node
As an AI Agent Tool
Connect the Timer to an agent’sinput-tools handle. The agent can then invoke the timer to introduce delays during reasoning:
See AI Tools for the full tool schema and LLM interaction details.
Output
Python Executor
Run custom Python code within workflows.Parameters
Python code to execute
Available Variables
| Variable | Description |
|---|---|
input_data | Data from connected input node |
output | Dictionary to set as node output |
Example: Data Processing
Example: Conditional Logic
Example: API Response Formatting
Available Libraries
The Python executor pre-injects a fixed set of names into the namespace:math- Mathematical functionsjson- JSON parsingdatetime,timedelta- Date/time handlingre- Regular expressionsrandom- Random number generationCounter,defaultdict- Collections helpers
math.sqrt(4)). import statements are not available in the sandbox; for other modules use the Process Manager node instead.
Combining Schedulers
Schedule with Delay
Multiple Schedules
Deploy workflows with different schedules:Workflow States
After deployment, trigger nodes show their state:| State | Color | Description |
|---|---|---|
| Idle | Default | Waiting for next trigger |
| Waiting | Cyan | Actively waiting for event |
| Running | Purple | Workflow executing |
Tips
Troubleshooting
Cron not triggering
Cron not triggering
- Verify workflow is deployed (not just saved)
- Check that the frequency and its interval/time fields are set
- Ensure timezone is correct
- Check server logs for errors
Python code fails
Python code fails
- Check for syntax errors
- Verify
input_datahas expected fields - Use
try/exceptfor error handling - Print debug info with
print()(shows in logs)
Timer not working
Timer not working
- Ensure the duration is at least 1 (max 86400)
- Check the unit (seconds vs minutes vs hours)
- Verify node is connected properly
Related
Webhooks
Trigger workflows via HTTP
Message-triggered workflows