Custom Events
Custom events let one stack arrange for another stack to run later. A program has five custom-event slots. Give each event a distinct name, then select it from the scheduling blocks' dropdowns.
Blocks
Choose slot 1–5 and a name. Put the actions to run later inside this event. Creating the handler alone does not schedule it.
Event variables
Uses the common event variables. No additional event-specific fields.
Choose the event and connect a timestamp in seconds. A past date is skipped and any existing schedule remains unchanged. Accepted runs are at least five seconds in the future.
Choose the event and a duration. Delays below five seconds, including zero or negative values, become five seconds.
Removes the pending occurrence. Keeps the handler so it can be scheduled again.
Returns true while a run is waiting, including when due; false after cancellation or when execution starts. If the handler schedules itself again, the new schedule returns true.
There is one pending occurrence per custom event. Scheduling it again replaces that occurrence; it does not append another job. The extra date/time preset in the toolbox is the same scheduling block prefilled for a relative date.
Example: a replaceable reminder
- Add custom event 1, name it
Reminder, and put send notification inside it. - Add a GUI button named
Remind me later. - In the button, schedule
Reminderafter duration 30 minutes. - Add another button that cancels
Reminder.
Pressing the first button again moves the reminder to 30 minutes after the latest press. Use is scheduled? as the cancel button's visible condition if you only want that control shown while a reminder is pending.
Repeating work
For a regular cadence, prefer the interval or weekly blocks in Events. A custom event can schedule itself again, but long-running chains are subject to server safety limits. Avoid short self-scheduling loops and use a variable or condition to stop deliberate chains.
Inspect the scheduled-events display and execution log when a run seems late or missing. Server execution and device delivery are separate; a scheduled device action still needs its device prerequisites.