Workflow Actions, Conditions, and Wait Steps
This page lists every action, condition, and timing step you can use inside a workflow, including configuration fields, operators, and defaults.
For a general introduction to workflows see Workflows.
Actions
Actions perform an operation when the workflow reaches them. Ten action types are available, grouped into three categories: Communication, Event, and Tags.
Send Email
Send an email to one or more recipients using an email template configured in your workspace.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Email template | Yes | Select an email template | -- | Selects the template used for the email body and subject. |
| Recipient | Yes | Event contact, Assignee, All team members, Custom email, From field | -- | Determines who receives the email. |
| Custom email | Only when Recipient = Custom email | Valid email address | -- | The email address the message is sent to. |
| Field path | Only when Recipient = From field | Field reference (e.g. contact email) | -- | Reads the recipient address from an event field. |
Send Notification
Send an in-app notification to team members. The notification appears in the bell icon at the top of the application.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Title | Yes | Free text | -- | Notification title displayed in the notification list. |
| Message | Yes | Free text | -- | Notification body text. |
| Notify target | Yes | Assignee, All team members | -- | Assignee sends to the event assignee only; All team members sends to every team member. |
Update Event Status -- event-only
Change the status of the event that triggered the workflow.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Target status | Yes | Any status defined in your workspace | -- | The new status to set on the event. |
Update Event Field -- event-only
Set or overwrite a specific field value on the event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Field path | Yes | Event field | -- | The field to update, selected from the event field picker. |
| Value | Yes | Free text | -- | The new value to write into the field. |
Assign Event -- event-only
Assign the event to a specific team member.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Assignee | Yes | Select a team member | -- | The user who becomes the event assignee. |
Add Tag -- event-only
Add one or more tags to the event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Tags | Yes | One or more tags | [] | Tags to add. If a tag already exists on the event it is not duplicated. |
Remove Tag -- event-only
Remove one or more tags from the event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Tags | Yes | One or more tags | [] | Tags to remove. Tags that are not present on the event are silently ignored. |
Create Event
Create an event from normalized workflow payload. Use this action when a request is first captured as free text or another source-neutral payload and the workflow should create the event only after the required facts are available.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Event title | Yes | Free text or prepared value | -- | Sets the title of the new event. |
| Start date | Yes | Date and time | -- | Sets when the event starts. |
| End date | No | Date and time | -- | Sets when the event ends. |
| Attendees | No | Number | -- | Stores the expected guest count. |
| Status | No | New, Qualified, Proposal sent, Booked, Cancelled, Completed | New | Sets the initial event status. |
| Lead source | No | Free text | Workflow payload source | Records where the request came from. |
| Next step | No | Free text | -- | Adds the next action for the team. |
| Next step date | No | Date and time | -- | Adds when the next action is due. |
| Important info | No | Free text or prepared value | Request text | Adds important request notes to the event. |
Create Detail Form -- event or linked event
Create a detail form instance for the event and optionally send the form link to the customer via email. For source-neutral workflow payload, use Create Event first so the detail form can be linked to the created event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Detail form | Yes | Select a detail form | -- | The detail form template to use. Only active detail forms are shown. Whether the form updates the event follows its category: Questionnaires and Customer Hubs update it, Partner briefings and Team checklists don't. If the selected form updates the event and the event already has an active form that updates it, or its products and rooms cannot be matched clearly to the form's fields, the action creates no form. An existing active Customer Hub does not prevent a form that doesn't update the event. |
| Single Submission | No | On / Off | Off | When enabled, the form can only be filled out once. Subsequent editing is not possible. |
| Access method | Yes | Public, Magic Link, Password | Public | How the customer accesses the form. The available methods depend on the Single Submission setting -- Public is only available when Single Submission is enabled. Magic Link sends a time-limited email link (the recipient is automatically the only allowed user). Password generates a one-time password sent via email. |
| Magic link validity (hours) | Only when Access method = Magic Link | 1--168 | 24 | How long the magic link remains valid. |
| Recipient | Yes when Send email = on or Access method = Magic Link | Event contact, Assignee, Custom email, From field | -- | Determines who receives the form link. Also used for magic link allowed emails. |
| Custom email | Only when Recipient = Custom email | Valid email address | -- | The email address the link is sent to. |
| Field path | Only when Recipient = From field | Field reference (e.g. contact.email) | -- | Reads the recipient address from an event field. |
| Send email with form link | No | On / Off | Off | Whether to send a notification email containing the form link. |
| Email template | Only when Send email is on | Select an email template | -- | The email template used for the notification. Use the placeholders {form.form_link}, {form.title}, and {form.password_link} (password access only) in the template. |
Actions marked event-only need an event. If a workflow starts from workflow payload, first create or link the event before using actions that update the event directly.
Conditions
Conditions evaluate a check and branch the flow into an If met path and an If not met path. Ten single-purpose condition types plus one composite type are available.
Event Status -- event-only
Check whether the event currently has one of the specified statuses.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Statuses | Yes | Select statuses (multi-select) | [] | The condition is true if the event status matches any of the listed statuses. |
Event Field (Field Value) -- event-only
Check any event field against a value. The available operators change depending on the detected field type (text, number, or date). For custom fields that cannot be auto-detected, you can manually select the field type.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Field path | Yes | Event field | -- | The event field to evaluate. |
| Operator | Yes | See operator tables below | -- | The comparison to perform. |
| Value | No (hidden for Field exists operator) | Text, number, or date depending on field type | -- | The reference value to compare against. |
When you pick a custom field that Eventyflow cannot auto-detect, an additional Field type selector appears with the values Text, Number, and Date. This determines which operator set is offered.
Selecting an operator determines how the condition is evaluated:
Text operators
| Operator | Meaning |
|---|---|
| Equals | Field value is exactly equal to the comparison value. |
| Not equals | Field value is not equal to the comparison value. |
| Contains | Field value contains the comparison value as a substring. |
| Is empty | Field value is empty or null. No comparison value required. |
| Is not empty | Field value is present and non-empty. No comparison value required. |
| Field exists | The field exists in the event data (regardless of value). |
Number operators
| Operator | Meaning |
|---|---|
> Greater than | Field value is greater than the comparison value. |
>= Greater or equal | Field value is greater than or equal to the comparison value. |
< Less than | Field value is less than the comparison value. |
<= Less or equal | Field value is less than or equal to the comparison value. |
= Equals | Field value equals the comparison value. |
!= Not equal | Field value does not equal the comparison value. |
| Field exists | The field exists in the event data. |
Date operators
| Operator | Meaning |
|---|---|
| Before | Field date is before the comparison date. |
| After | Field date is after the comparison date. |
| On or before | Field date is on or before the comparison date. |
| On or after | Field date is on or after the comparison date. |
| Equals | Field date is exactly the comparison date. |
| Field exists | The field exists in the event data. |
Assignee Is -- event-only
Check who the event is currently assigned to.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Check mode | Yes | Specific users, Any assigned, Unassigned | Specific users | Determines the type of check. |
| Users | Only when Check mode = Specific users | Select team members (multi-select) | (empty) | The condition is true if the event assignee matches any of the listed users. |
Check mode values:
| Mode | Meaning |
|---|---|
| Specific users | True if the event is assigned to one of the selected users. |
| Any assigned | True if the event is assigned to anyone at all. |
| Unassigned | True if the event has no assignee. |
Has Tag -- event-only
Check whether the event carries specific tags.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Tags | Yes | One or more tags | [] | The tags to look for on the event. |
| Field matching | No | At least one, All must match | At least one | At least one = condition is true if at least one tag is present; All must match = condition is true only if every listed tag is present. |
Form Completion -- event-only
Check whether a specific form type has been completed for the event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Form type | Yes | Select a form type (e.g. Event, Contact) | -- | The form type to check for completion. |
Form Completion Ratio -- event-only
Check the percentage of form completion against a threshold.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Form type | Yes | Select a form type | -- | The form type to evaluate. |
| Operator | Yes | >= Greater or equal, > Greater than, <= Less or equal, < Less than, = Equals | -- | The comparison operator. |
| Threshold (%) | Yes | Integer 0--100 | 0 | The percentage value to compare against. |
Response Exists -- event-only
Check whether a form response exists for a specific form instance.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Form instance | Yes | Select a form instance | -- | The condition is true if at least one response exists for this form instance. |
Response Count -- event-only
Check the number of form responses against a threshold.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Operator | Yes | >= Greater or equal, > Greater than, <= Less or equal, < Less than, = Equals, != Not equal | -- | The comparison operator. |
| Value | Yes | Integer >= 0 | 0 | The number to compare against. |
| Form type | Yes | Select a form type | -- | The form type whose responses are counted. |
Time Window -- event-only
Check whether the current time falls within a certain number of days from a reference date on the event.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Within days | Yes | Integer >= 1 | 1 | The number of days that define the window. |
| Reference | Yes | Start date, End date, Created at | -- | The event date field used as the anchor for the window. |
Composite (AND/OR)
Combine multiple conditions using boolean logic. This is the only condition type that is not event-only -- it is available for all workflow subjects.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Logic | Yes | All conditions must be true (AND), At least one condition must be true (OR) | All conditions must be true (AND) | All conditions must be true (AND) = all sub-conditions must be true; At least one condition must be true (OR) = at least one sub-condition must be true. |
| Sub-conditions | Yes | List of conditions | (empty) | Each sub-condition is one of the single-purpose condition types listed above, configured with its own fields. |
Rules:
- You can add up to 10 sub-conditions per composite.
- Each sub-condition is configured with the same fields as its standalone equivalent.
- Sub-conditions cannot themselves be composite (no nesting of composites inside composites).
- When only one sub-condition remains and you remove the other, the composite is automatically unwrapped back to a single condition.
Conditions marked event-only are available only when the workflow subject is an Event. The composite condition itself is always available, but the sub-conditions you can add inside it are filtered based on the workflow subject.
Wait Steps
Wait steps pause workflow execution for a defined period or until a specific point in time. Two types are available.
Wait
Pause the workflow for a fixed duration.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Duration | Yes | Positive integer | 1 | The number of time units to wait. |
| Unit | Yes | Minutes, Hours, Days, Weeks | Hours | The time unit applied to Duration. |
Example: Duration = 2 + Unit = Days pauses for two days before the next step executes.
Wait Until
Pause the workflow until a specific date and time is reached.
| Field | Required | Values | Default | Effect |
|---|---|---|---|---|
| Wait Until | Yes | Date and time | -- | The exact date and time at which execution resumes. If the date is in the past at the time the step is reached, execution continues immediately. |