You can configure modules to run automatically on a defined schedule, e.g., to send automatic email reminders, verify the status of follow-up tasks (e.g., by retrieving the DocuSign eSignature status), or trigger actions when specific criteria are met (e.g., first day of a quarter, a threshold is reached, or a task is overdue).
To run a module on a schedule, create it as a Scheduled module or convert an existing module to the Scheduled type. Scheduled modules are headless, meaning, they run without a user interface, and execute the live-published version of the module at regular intervals, such as daily, weekly, or monthly. For an overview of all module types, see Module Types: Input, Processing, and Scheduled.
How to schedule a module
- Open your Application and create a new module with the Scheduled type, or open an existing module and convert it to Scheduled using the Change module type button in the editor header (the arrows icon )
- Build your module logic. Scheduled modules do not support input nodes, handover actions, or redirect result nodes. They must be able to run without any user interaction.
- Publish the module to the Live environment. Schedules only run against the live version.
- Click the SCHEDULE node at the very top of your build. You can also access the schedule configuration from the module's three-dot menu by clicking Schedule.
- Click Create schedule.
- Configure a recurring schedule for hourly, daily, weekly, or monthly execution.
- Click Save.
You can edit or delete the schedule at any time from the SCHEDULE node. The timezone is displayed below the configuration.
If the module's live version is older than the current draft, you will see a reminder to re-publish so the scheduled run uses your latest changes.
Once a schedule is set, a clock icon appears next to the Live environment to indicate that it runs automatically.
To delete the schedule, follow the above steps to access the scheduling modal where you will be able to select the Delete schedule option.
Example: Creating custom schedules
If a configuration option is not available, for instance, if you want a module to run quarterly, you can schedule it to run on the first day of each month and include a condition within the module to check whether it is, for example, the first day of a quarter.
If the condition is met, the module continues to execute its actions (e.g., sending an automatic email reminder or generating a report). If not, it simply ends. This approach allows you to implement more complex timing logic within your module.
Requirements
To run a module on a schedule, make sure that:
- The module is set to the Scheduled type. You can change a module's type at any time using the Change module type button in the editor header.
- The module does not contain any input nodes, handover actions, or redirect result nodes, so that it can be executed without pausing to wait for user input and run in the background.
- The module is published to the Live environment. This is the only environment schedules can run against.
You can also trigger a scheduled module on-demand via the API, just like a processing module. The schedule is an additional trigger, not the only one.
Testing note: Before scheduling, you can manually trigger the module to verify that it behaves as expected. Once it runs successfully manually, it will also execute correctly on the schedule when published to Live.
Existing modules with a schedule
Modules that had a schedule configured at the application level before module types were introduced are automatically classified as Scheduled when you open them in the editor. The schedule itself is preserved, meaning, you can view and manage it from the SCHEDULE node going forward.