Wait Automation Action


Published Sep 21, 2026

Pauses the flow until a delay, reply, or condition is satisfied. Identifier: wait.

Automations Action Selectable node JSON import

Wait

Identifier and availability

  • Type: action
  • Stable identifier: wait
  • Status: Selectable — available in the new-node selector and importable.

Purpose

Pauses the flow until a delay, reply, or condition is satisfied.

Prerequisites and context

Required configuration: settings. Reply waits require a contact to resume from an inbound reply; timeout can still provide an escape path.

Parameters

JSON path Type Required Default Allowed values Description
settings object Yes — — Node-specific settings. Unknown keys are rejected.
settings.wait_mode string Yes delay delay, reply, condition Wait strategy.
settings.wait_number integer No 1 0 to 10000 Delay amount for delay mode.
settings.wait_unit string No days minutes, hours, days, weeks, months Delay unit for delay mode.
settings.reply_channel string No any any, sms, email Reply channel for reply mode.
settings.conditions condition[] No — — Contact conditions for condition mode.
settings.wait_until_business_hours boolean No false — Continue only during configured business hours.
settings.resume_timezone_mode string No business business, recipient Timezone used for continuation controls.
settings.resume_day_mon boolean No false — Allow continuation on Monday.
settings.resume_day_tue boolean No false — Allow continuation on Tuesday.
settings.resume_day_wed boolean No false — Allow continuation on Wednesday.
settings.resume_day_thu boolean No false — Allow continuation on Thursday.
settings.resume_day_fri boolean No false — Allow continuation on Friday.
settings.resume_day_sat boolean No false — Allow continuation on Saturday.
settings.resume_day_sun boolean No false — Allow continuation on Sunday.
settings.resume_start_time HH:MM No — — Earliest continuation time.
settings.resume_end_time HH:MM No — — Latest continuation time.
settings.resume_exact_time HH:MM No — — Exact continuation time instead of a range.
settings.timeout_enabled boolean No false — Enable the timeout branch.
settings.timeout_number integer No 1 1 to 10000 Timeout amount.
settings.timeout_unit string No days minutes, hours, days, weeks Timeout unit.

Unknown parameter and settings keys are rejected. Resource references use names, emails, document keys, or endpoints rather than database IDs.

Condition object contract

A conditions value is a non-empty array of at most 50 objects. Every condition in the array uses AND semantics.

Operator family Required object keys Meaning
has_tag, not_has_tag operator, value value is the exact Contact Tag name. Omit field.
empty, not_empty operator, field Tests whether the selected field has a value. Omit value.
equals, not_equals, contains, not_contains operator, field, value Requires a nonblank string or finite number. Use empty/not_empty for blank values. Pipeline/status fields accept these operators with an exact human-readable name.
greater_than, greater_than_or_equal, less_than, less_than_or_equal operator, field, value Requires a finite numeric value and cannot be used with Pipeline or Pipeline Status fields.

Allowed field tokens are: email, phone, first_name, last_name, full_name, source, city, state, pipeline, pipeline_id, pipeline_status, pipeline_status_id, tenant.activated, tenant.activation_step, tenant.plan_id, tenant.plan_name, tenant.plan_free_trial_days, tenant.subscription_status, tenant.subscription_billing_cycle, tenant.subscription_amount, tenant.subscription_trial_days_left, tenant.subscription_trial_end_date, tenant.subscription_has_card_on_file, tenant.subscription_card_brand, tenant.subscription_card_last_four, and tenant.subscription_next_billing_at.

For pipeline, pipeline_id, pipeline_status, and pipeline_status_id, value is still the exact human-readable Pipeline or Pipeline Status name in the target tenant—not a numeric ID. The name must resolve uniquely.

Examples:

[
    {
        "operator": "has_tag",
        "value": "VIP"
    },
    {
        "operator": "not_empty",
        "field": "email"
    },
    {
        "operator": "equals",
        "field": "state",
        "value": "CO"
    }
]

Inputs and available variables

This node declares no additional variable groups. The always-available date group and context inherited from its path still apply.

Templated strings use double braces, for example {{contact.first_name}}. Availability in the editor does not create runtime context; the trigger and preceding branch still need to provide it.

Connections and branches

Connect this action into a root path with branch actions or into an existing branch using that parent’s token. It then terminates its current sequential path and exposes these exact, case-sensitive branch ports: continued, timeout. Put following work inside those branches; do not place a sibling after this action.

Connection fragment:

{
    "from": "action_wait",
    "to": "next_action",
    "branch": "continued",
    "order": 1
}

Valid JSON node example

{
    "key": "action_wait",
    "type": "action",
    "name": "wait",
    "display_name": null,
    "parameters": {
        "settings": {
            "wait_mode": "reply",
            "reply_channel": "sms",
            "wait_until_business_hours": true,
            "resume_timezone_mode": "recipient",
            "resume_day_mon": true,
            "resume_day_tue": true,
            "resume_day_wed": true,
            "resume_day_thu": true,
            "resume_day_fri": true,
            "resume_start_time": "09:00",
            "resume_end_time": "17:00",
            "timeout_enabled": true,
            "timeout_number": 2,
            "timeout_unit": "days"
        }
    }
}

Validation and runtime caveats

Wait is path-terminal. Delay mode requires wait_number and wait_unit; reply mode requires reply_channel; condition mode requires non-empty conditions. A resumed run starts inside continued or timeout and never rejoins the parent path. Enable timeout and provide a positive timeout_number and timeout_unit before connecting the timeout branch. Exact time and a complete start/end window are mutually exclusive, and a window end must be later than its start.

See the Automation JSON import format for the envelope, dependency resolution, graph rules, complete examples, and AI author checklist.

Search

More guidance related to this article.

Need more help?

If this article doesn’t solve it, send us a message and we’ll help directly.

Contact Support