Flow trigger timezone if the flow is running daily
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
We have a flow that runs daily at 23:55 and updates a record if date on record is same.
Now, the date on record for an e.g. is 2026-02-02 12:47 PST the flow executed on 2026-02-01 and updated the record. Flow properties says run as user who initates the session, since it is a daily run, how to understand the exact timezone of flow?
Also the first action after trigger is to get the current date which uses script as:
My instance system timezone is also PST, I am not clear why there is a difference of 1 day on some records. In which timezone this flow is executing
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 hours ago
Can you try changing who initiates flow as System User?
This would get the time zone of system user
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
okay, but any idea which timezone it will currently take if is user who initiated session but it is running on its own daily. I need to explain it to business about the time difference.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @gazalagrawa
In ServiceNow, a scheduled flow executes in UTC by default unless a different time zone is explicitly configured. While the flow’s Run As setting determines the security , it does not influence date/time calculations. Since GlideDate() relies on the session time zone and scheduled flows run without an interactive user session, it falls back to the system time zone, which is typically UTC.
Why the Flow Is Updating Records One Day Off
UTC Time Conversion
If your flow is scheduled to run at 23:55 PST, the corresponding UTC time is 07:55 the following day. From the platform’s perspective, the date has already advanced.
GlideDate() Uses UTC in Background Execution
In a scheduled flow, there is no active user session to provide a time zone context. As a result, the statement:
var currentDate = new GlideDate();
returns the current date based on UTC. If it is still the current day in PST but already the next day in UTC, the flow will populate records with the next day's date, leading to date mismatches and incorrect record comparisons.
To prevent this behavior, ensure that date calculations are performed using the intended time zone rather than relying on the default UTC context of the scheduled flow.
Refer:
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti