Cron Trigger Executes in UTC Despite IST Configuration | Community
Skip to main content
Level 3
August 6, 2025
Solved

Cron Trigger Executes in UTC Despite IST Configuration

  • August 6, 2025
  • 2 replies
  • 331 views

I have set up a cron-based alarm trigger for my action as follows:
category-erp:
license: Apache-2.0
actions:
$include: ./actions/category/erp/actions.config.yaml
triggers:
eachMidNight:
feed: /whisk.system/alarms/alarm
inputs:
cron: 0 0 * * *
timezone: IST
rules:
nscategorysync:
trigger: eachMidNight
action: categorysync

 

I’ve explicitly set the timezone to IST, but after deploying the app, the function is still triggering at UTC midnight instead of IST midnight. The logs written to my SFTP confirm this, with timestamps like:

{"message": "Body Parts, Bar, Bars All level Matched", "syncTime": "2025-08-06 00:00:31"}

Additionally, even when I update the cron expression (e.g., '*/2 1-4 * * *') from (* * * * *), it continues to run at the same UTC-based schedule.

Does Adobe App Builder only support UTC-based cron triggers despite the inputs specifying a timezone like IST? If not, is there a way to configure the timezone so the action can be executed in IST?

 

Best answer by rxraj

@shubhamag2 

 

Additionally, even when I update the cron expression (e.g., '*/2 1-4 * * *') from (* * * * *), it continues to run at the same UTC-based schedule.

There are two ways to handle this:

  1. Rename the trigger identifier (name) and deploy the application. Here’s how you can do it:
application: runtimeManifest: packages: stock-commerce-sync: triggers: every2MinuteNEW: feed: /whisk.system/alarms/alarm inputs: cron: 0-30/2 * * * * timezone: IST rules: fetchInvFiles: trigger: every2MinuteNEW action: {action-name}​
  • Alternatively, you can delete the existing trigger and deploy the application with the updated frequency.
aio rt:trigger:delete {trigger-name}​


Choose the method that best suits your needs.

2 replies

Adobe Employee
August 7, 2025

Triggers only support UTC at this time. In order to trigger at IST midnight, you will need to update your trigger to fire at 18:30 UTC: 

 

"30 18 * * *"

 

rxraj
rxrajAccepted solution
Level 3
August 19, 2025

@shubhamag2 

 

Additionally, even when I update the cron expression (e.g., '*/2 1-4 * * *') from (* * * * *), it continues to run at the same UTC-based schedule.

There are two ways to handle this:

  1. Rename the trigger identifier (name) and deploy the application. Here’s how you can do it:
application: runtimeManifest: packages: stock-commerce-sync: triggers: every2MinuteNEW: feed: /whisk.system/alarms/alarm inputs: cron: 0-30/2 * * * * timezone: IST rules: fetchInvFiles: trigger: every2MinuteNEW action: {action-name}​
  • Alternatively, you can delete the existing trigger and deploy the application with the updated frequency.
aio rt:trigger:delete {trigger-name}​


Choose the method that best suits your needs.

Level 3
August 19, 2025

Thanks a lot @rxraj  for sharing this information. It is very insightful and saved me a lot of time.