Skip to Content
BuildAction StepsDate

Date

Use the Date Step to format, shift, round, extract parts from, or compare dates without writing code. Format it for a person, shift it, pull out one part, measure the gap between two dates, round it, or take the current date.

At a glanceVerified in app · Oct 29, 2026
Use it to
Format, add or subtract time, round, extract date parts, or measure the gap between two dates
Find it
Tools → Data → Transform → Date
Cost
1 Step credit per execution
Limits
7 operations (Format, Add, Subtract, Extract, Between, Round, Now) · Epoch numbers need inline parse_date first
Output
{{ N.result }}, {{ N.resultType }}, plus {{ N.date }} and {{ N.formatted }} (or {{ N.exact }} for Between)
Instead
Inline date pipes ({{ $now | date_add:7:days | format_date:date_iso }})

Dates are unavoidable in operations work: invoice due dates, SLA windows, “anything older than 30 days”. This step handles them without a trip to the Code editor.

Format or shift dates directly inside fields: You can format, shift, or snap dates directly within any variable reference using Data Transformation:

  • Format for reading: {{ 1.created_at | format_date:date_medium:Europe/Prague }}
  • Add 30 days: {{ 1.invoice_date | date_add:30:days }}
  • Start of month: {{ 1.timestamp | date_start_of:month }}

Use the dedicated Date canvas step when you need to calculate gaps between dates (Between) for downstream Conditions. It is also useful when multiple steps reuse the computed date.

Setting it up

Add the step

Open Tools in the dock and choose Date.

Pick what to do

What to do decides which fields appear:

OperationWhat it doesRequired Fields & Behavior
FormatRenders a date as display textDate, Format, Timezone
AddMoves a date forwardsDate, How much, Unit (years through seconds)
SubtractMoves a date backwardsDate, How much, Unit (years through seconds)
ExtractPulls out one part of a dateDate, Part to extract (year, quarter, month number/name, week of year, day of month/year, weekday, hour, minute, second)
BetweenMeasures the gap between two datesDate, Second date, Measure in (counted in whole units, so 36 hours in days answers 1)
RoundSnaps to a unit boundaryDate, Round to (year, month, week, day, hour, minute), Direction (down or up; weeks start on Monday)
NowTakes the current date and timeFormat, Timezone

Give it the date

Date takes a reference such as {{ 1.created_at }}, {{ $now }}, or a date string (2026-08-03, 2026-08-03 14:22, 2026-08-03T14:22:00Z). If the incoming text uses a non-standard shape (such as DD.MM.YYYY), specify Input format so Glow can parse it when automatic parsing fails. A plain number such as a Unix timestamp (1769817600) is rejected directly; convert it inline with {{ 1.timestamp | parse_date:epoch_seconds }} (or epoch_milliseconds) before passing it to Date.

Choose a format and timezone

Set Timezone to the reader’s local timezone whenever a date can cross midnight. Choose a preset Format or select Custom:

  • ISO: 2026-08-03 - Day-first: 03/08/2026 - Month-first: 08/03/2026 - Long date: 3 August 2026 - Date and time: 2026-08-03 14:22 - Long date and time: 3 August 2026 at 14:22

What it passes on

{{ N.result }} holds the operation’s primary answer, and {{ N.resultType }} names its type (date, text, or number). The step also publishes operation and timezone:

Operation{{ N.result }}{{ N.date }} & {{ N.formatted }}Additional Fields
FormatFormatted display textPresent (date = UTC ISO instant, formatted = timezone display)None
Add, Subtract, Round, NowUTC ISO instant (...Z)Present (date = UTC ISO instant, formatted = timezone display)None
ExtractNumber, or text for a month/weekday nameAbsent{{ N.part }}
BetweenWhole-unit gap (number)Absent{{ N.exact }}, {{ N.unit }}, {{ N.direction }}, {{ N.milliseconds }}

Examples to copy

Date (Between: created_at to $now)Conditions (result > 7)Slack Escalation
GoalConfigurationDownstream Reference
Due date 30 days outWhat to do: Add · Date: {{ 1.invoice_date }} · How much: 30 · Unit: daysUse {{ N.formatted }} in emails and {{ N.date }} in API calls.
Ticket age (SLA check)What to do: Between · Date: {{ 2.created_at }} · Second date: {{ $now }} · Measure in: daysBranch on {{ N.result }} in Conditions.
Run on weekdays onlyWhat to do: Extract · Part to extract: Day of the week (number)Monday is 1 and Sunday is 7; check {{ N.result }} is less than 6.
Start of current monthWhat to do: Round · Round to: month · Direction: downPass {{ N.date }} as the report’s start timestamp.
Verify it works
Run
Choose Add (30 days) on {{ $now }} and click Run step in Test & Debug
You should see
The Output tab shows result and date as the UTC ISO timestamp 30 days ahead, alongside formatted in your chosen timezone.

What’s Next?

Last updated on

Search documentation

Start with a guide, or search by Step, task or error.