Schedule node and scheduled jobs
On this page
Use a normal schedule when timing and inputs are known in advance. Use a Schedule node when another workflow must determine those inputs at runtime.
Choose the right approach#
| Requirement | Approach |
|---|---|
| Refresh a report every hour | Create a job in Workflows → Schedules |
| Refresh a shared service token | Schedule a dedicated refresh workflow |
| Start follow-up work using an ID returned by an earlier node | Add a Schedule node to the initiating workflow |
| Run an existing job immediately | Use the schedule's execution control |
A scheduled worker does not need a Schedule node inside itself. The schedule starts that worker.
Configure a Schedule node#
Select the target action, schedule timing, state, and body. The body can use values from preceding nodes. The target receives that stored body as ${body} when it executes.
{
"orderId": "${CreatedOrderId}"
}The node creates or updates a schedule using the target action, normalized body, and environment. It does not execute the target inline. A one-time active schedule created by the node is queued after the initiating transaction commits.
Review recurring timing#
Choose an interval supported by the schedule editor. Daily, weekly, and monthly settings use a UTC start time; confirm the displayed timezone before translating a business deadline. Review the weekday or day-of-month selection and the schedule's active state.
Make jobs safe to repeat#
Jobs can be retried or manually replayed. Use a stable business identifier and make repeated runs detect already-completed work. Put required data in the schedule body or a database, not only in the original run's session keys.
Inspect schedule state and resulting action logs when a job does not run. Confirm its environment, target action, release availability, and inputs. See the scheduled worker guide for a complete setup.
Need to investigate a problem? Start with troubleshooting
