Skip to content

Timer Node

Module ID: ion.action.timer

The Timer node pauses flow execution for a specified duration before continuing.


Use the Timer node when you need to add delays between actions, such as waiting for external systems to process data, implementing retry backoffs, or scheduling timed sequences.


HandleDescription
inputData to pass through after delay
HandleDescription
outputOriginal data + timer metadata
errorInvalid timer configuration

// node.data structure
{
minutes: number, // 0-15
seconds: number // 0-59
}
ConstraintValue
Maximum duration15 minutes (900 seconds)
Minimum duration0 seconds

Wait 30 seconds:

{
"minutes": 0,
"seconds": 30
}

Wait 5 minutes:

{
"minutes": 5,
"seconds": 0
}

Wait 2 minutes and 30 seconds:

{
"minutes": 2,
"seconds": 30
}

After the delay completes, the output includes metadata:

{
"duration": "2m30s",
"completed_at": "2024-01-15T10:30:00Z"
}

  1. Receives input data
  2. Validates timer configuration
  3. Calculates total duration from minutes + seconds
  4. Blocks execution for the duration
  5. After delay, outputs to output handle
sequenceDiagram
participant F as Previous Node
participant T as Timer
participant N as Next Node
F->>T: Data
Note over T: Waiting 30s...
T->>N: Data + metadata

[API Call] → error → [Timer: 30s] → [Retry API Call]
[Iterator] → [API Call] → [Timer: 1s] → [Continue]
[Step 1] → [Timer: 5m] → [Step 2] → [Timer: 5m] → [Step 3]

ErrorCause
”node data is not a map”Configuration format invalid
”minutes must be a number”Minutes value is not numeric
”seconds must be a number”Seconds value is not numeric
”minutes and seconds must be non-negative”Negative values provided
”total delay must not exceed 15 minutes”Duration > 900 seconds