Goal
From a WhatsApp (Green-API) group history I want to keep only messages between two dates (last 30 days / Sep 1–Oct 1, 2025), then route image/document messages to download.
Scenario layout
-
HTTP [17] – Make a request
-
Returns an array of messages (each object has
timestampin epoch seconds,typeMessage,downloadUrl, etc.). -
Response is parsed as JSON.
-
-
Tools – Set multiple variables [20] (before the iterator)
-
fromDate = {{ formatDate(parseDate("2025-09-01 00:00:00";"YYYY-MM-DD HH:mm:ss");"X") * 1 }} -
toDate = {{ formatDate(parseDate("2025-10-01 00:00:00";"YYYY-MM-DD HH:mm:ss");"X") * 1 }} -
Timezone: Asia/Jerusalem. (These evaluate to roughly
1756674000and1759266000.) -
Map is ON.
-
-
Iterator [18] – iterates the root
[]array from HTTP (now each bundle is one message). -
Filter (link after Iterator) – “filter by dates”
Aggregator: All of the following must match.-
Row 1: Left
18.timestamp(token), Operator Numeric → Greater than or equal to, Right20.fromDate(token). -
Row 2: Left
18.timestamp(token), Operator Numeric → Less than, Right20.toDate(token).
-
-
Router [21]
-
Branch 1 filter:
18.typeMessage equals imageMessage. -
Branch 2 filter:
18.typeMessage equals documentMessage. -
(Then I download/aggregate/send, but the issue happens before this.)
-
Data sample (from HTTP / Iterator output)
All timestamp values are epoch seconds (10 digits). Examples from this run:
1758880789 - Sep 26, 2025
1758726879 - Sep 24, 2025
1758725154 - Sep 24, 2025
1758724842 - Sep 24, 2025
1757524986 - Sep 10, 2025
1757236704 - Sep 07, 2025
Question
What could make a date range filter like:
-
18.timestamp >= 20.fromDate -
18.timestamp < 20.toDate
pass only 0/1 bundles when 6–8 are in that range? Any known gotchas with:
-
Variable types (tokens evaluating as strings even in Numeric operators)?
-
Scenario timezone vs. epoch seconds?
-
Filter evaluation quirks on links?




