Corteza’s deferred/interval (cron) triggers run in UTC, not in your browser’s or server’s local timezone. So “0 6 * * *” fires at 06:00 UTC, not 06:00 in your local time. That’s why switching between your local TZ and the server TZ in the UI didn’t help.
Make sure the workflow can actually run:
Workflow is Enabled/Published (not in draft).
Use the correct cron shape: Corteza examples use standard 5-field cron (min hour dom mon dow). For 6:00 (UTC) daily, that is 0 6 * * *.
The trigger is “Deferred (interval)” and attached to this workflow.
A valid “Run as” user is set (has permissions to do what the workflow does).
No failing guards in the first step.
Check server logs for the deferred/interval runner to confirm registration at startup (look for lines about registering deferred triggers).
Create a tiny test workflow with a Deferred (interval) trigger */5 * * * * (every 5 minutes) that just sends yourself a notification or writes a record. If this doesn’t fire, it’s not a timezone problem—your deferred runner isn’t executing (permissions, disabled workflow, or server issue).