DateTimeDiff returning unexpected results in Architect Data Action triggers

I’m trying to set up a Data Action trigger in Architect that fires only if an interaction happened more than 24 hours ago. The goal is to feed this into my OpenTelemetry span context so I can trace stale interaction processing.

Here is the expression I’m using in the trigger condition:

DateTimeDiff(CurrentDateTime(), InteractionAttributes.CalledDateTime) > 86400

The logic seems sound. 86400 seconds equals one day. But the trigger isn’t firing for records that are clearly 30 hours old. I checked the raw JSON payload from the Data Action input, and the CalledDateTime is coming through as an ISO 8601 string like 2023-10-27T10:00:00Z.

I suspect DateTimeDiff might be handling the timezone conversion weirdly or treating the string input differently than I expect. I tried switching to GetDayOfWeek just to see if date parsing was broken entirely, but that returned the correct integer for the day, so the date string itself isn’t null or malformed.

Does DateTimeDiff expect a specific format? Or am I missing a conversion step before doing the subtraction? I’ve checked the docs but they don’t specify the return unit clearly.

Here’s the relevant part of the Data Action JSON mapping:

{
 "trigger": {
 "condition": "DateTimeDiff(CurrentDateTime(), InteractionAttributes.CalledDateTime) > 86400"
 }
}