# Agentic Workflow Delays and Time-Based Behavior

{% hint style="success" %}
**Audience:** Administrators, Developers, Solution Architects

**Purpose:** Understand how delay steps function within the <code class="expression">space.vars.automation</code> execution model, how time-based behavior is governed by business calendars and timezones, and what to account for when designing <code class="expression">space.vars.automations</code> where timing is critical.
{% endhint %}

## Overview

Delay steps introduce intentional pauses into <code class="expression">space.vars.automation</code> execution. How long an execution waits is governed by configured delay logic, business calendar settings, and the platform's timezone model. Incorrect assumptions in any of these areas are among the most common causes of unexpected behavior in production <code class="expression">space.vars.automations</code>.

<code class="expression">space.vars.automations</code> are always asynchronous. When a delay expires, the execution is re-queued for processing rather than resuming instantaneously. A brief additional wait after the delay period ends is normal and consistent with the async queue behavior. See more details with [Agentic Workflow Execution and Process Model](/docs/concepts/agentic-workflows/agentic-workflow-execution-and-process-model.md).

***

## Why Delays Matter

<code class="expression">space.vars.automation</code> actions execute sequentially and immediately by default. Without delays, every action in an <code class="expression">space.vars.automation</code> fires as fast as the execution engine processes it, which is appropriate for many <code class="expression">space.vars.workflows</code>, but not all.

<div data-with-frame="true"><figure><img src="/files/7gSP2d22FBN4RGBSnrlt" alt="" width="146"><figcaption></figcaption></figure></div>

Delays give you control over when actions happen, not just whether they happen. This matters in several scenarios:

* **Drip campaigns and nurture sequences:** Spacing communications over days or weeks requires execution to pause between steps. Without delays, all messages in a sequence would send within seconds of each other.
* **Conditional timing:** Waiting a defined period before evaluating a <code class="expression">space.vars.condition\_step</code> or checking a goal gives the <code class="expression">space.vars.entity</code> time to reach the expected state; for example, waiting 24 hours before checking whether a <code class="expression">space.vars.contact</code> has responded.
* **Coordination with external processes:** Some <code class="expression">space.vars.workflows</code> depend on events or actions that take time outside the platform. Delays create the buffer needed to account for that time.
* **Avoiding unintended side effects:** Acting on a <code class="expression">space.vars.entity</code> too quickly after a triggering event can produce incorrect or incomplete results, particularly when related <code class="expression">space.vars.entity</code> or field values are still being updated by other processes.

Understanding how the platform measures and resolves delay time, including business calendar observance and timezone handling, is what separates a delay that behaves as intended from one that silently waits longer or shorter than expected.

***

## Delay Types

<code class="expression">space.vars.Kizen\_company\_name</code> supports two delay types: Static and <code class="expression">space.vars.automation</code> Variable. The right choice depends on whether the wait period is fixed or tied to a date on the <code class="expression">space.vars.entity</code>.

### Static

A static delay pauses execution for a fixed amount of time. The supported timeframes are minutes, hours, and days. The delay is measured from the moment the delay step is reached, not from when the trigger fired or the execution was created.

{% hint style="warning" %}
**Note**: The delay timer starts when a <code class="expression">space.vars.entity</code> reaches the delay step, not when the <code class="expression">space.vars.automation</code> is triggered. In time-sensitive sequences, account for any processing time between trigger and delay.
{% endhint %}

### Agentic Workflow Variable

An <code class="expression">space.vars.automation</code> variable delay pauses execution for a fixed amount of time using a number variable. The supported timeframes are minutes, hours, and days. The delay is measured from the moment the delay step is reached, not from when the trigger fired or the execution was created.

#### Delays and Goals

A delay waits for a fixed period of time. A goal waits for a specific <code class="expression">space.vars.condition\_step</code> or event to occur on the execution's <code class="expression">space.vars.entity</code>. Used together, they create a bounded wait: execution holds for a set period, and if a goal <code class="expression">space.vars.condition\_step</code> is met before the delay expires, execution can advance early.

This pattern is common in drip campaigns where execution should respond to a <code class="expression">space.vars.contact</code> action before deciding what to do next. See Goals **(Topic Coming Soon)** for full detail on goal behavior, completion logic, and timeout handling.

#### Active State During a Delay

While a delay is in progress, the execution is in an active paused state. It has not completed and remains associated with the <code class="expression">space.vars.entity</code>. In practice:

* The execution appears in the <code class="expression">space.vars.entity</code>'s history as active for the full duration of the delay
* It counts against any relevant execution limits while active
* Actions taken on the <code class="expression">space.vars.entity</code> during the delay can affect the execution. Archiving the <code class="expression">space.vars.entity</code> will cancel it.

<code class="expression">space.vars.automations</code> with delays of several days or weeks should be designed with long-lived executions in mind, particularly in high-volume environments.

### Business Calendars & Timezones

Time-based behavior in <code class="expression">space.vars.automations</code> is affected by two platform-level settings: business calendar configuration and timezone. Both influence when delays resolve and how execution timestamps are interpreted.

#### Skip Non-Business Days

Each delay step includes a **Skip Non-Business Days** setting that controls whether non-working days count toward the delay period. By default, this is set to **Inherit from Agentic Workflow**, meaning the step follows the business calendar observance setting configured at the <code class="expression">space.vars.automation</code> level.

A one-day delay with non-business days skipped waits one business day, not one calendar day. This distinction matters most when delays span weekends, holidays, or other non-working periods.

#### Timezones

**Business timezone:** The business's configured timezone is the primary reference for all time-based logic in <code class="expression">space.vars.automations</code>, including delay resolution, scheduled trigger evaluation, and On or Around Date trigger behavior.

**User timezone:** <code class="expression">space.vars.automations</code> run in an <code class="expression">space.vars.automation</code> context, not a user context. User timezone does not govern <code class="expression">space.vars.automation</code> behavior, and user-relative filters such as "owner is me" are ignored during execution. Business timezone takes precedence for all evaluation purposes.

**UTC storage:** All datetime values are stored in UTC. Displayed times reflect the applicable timezone conversion, not the raw UTC value. Keep this in mind when reading execution timestamps or configuring date-based delays.

**DST handling:** When daylight saving time transitions occur, a time configured in one UTC offset may appear to shift when viewed after the transition.

***

## What's Next

Delays and goals both introduce waiting behavior into an <code class="expression">space.vars.automation</code>, but goals add a conditional dimension. A goal is scoped to the running execution and waits for a specific event or <code class="expression">space.vars.condition\_step</code> on the <code class="expression">space.vars.entity</code>, rather than a fixed period of time.&#x20;

The Agentic Workflow Goals **(Topic Coming Soon)** topic covers goal evaluation, completion and timeout behavior, and when to use a goal alongside or instead of a delay, particularly relevant for drip campaigns and follow-up sequences.

<details>

<summary>Related Topics</summary>

* [Execution & Processing Model](/docs/concepts/agentic-workflows/agentic-workflow-execution-and-process-model.md)
* [Agentic Workflow Code Steps](/docs/concepts/agentic-workflows/automation-code-steps.md)
* [Agentic Workflow Core Concepts](/docs/concepts/agentic-workflows/agentic-workflow-core-concepts.md)
* [Agentic Workflow Conditions](/docs/concepts/agentic-workflows/agentic-workflow-conditions.md)

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.kizen.com/docs/concepts/agentic-workflows/agentic-workflow-delays-and-time-based-behavior.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
