Actions are the steps an automation performs after a form is submitted. An automation can hold one action or several, and they run from top to bottom in the order shown in the editor.
Automations are available in Elzo Forms PRO.
Add an action
- Open the automation you want to edit.
- Click Add action.
- Choose an action from the library. Actions are grouped by category, and you can search by name.
- Fill in the action settings.
- Save the form, or click Save Automations for a Global Automation.
Use the arrows in an action’s header to move it up or down. Order matters whenever one action depends on something an earlier action produced.
Built-in actions
| Action | Category | What it does |
|---|---|---|
| Send email | Communication | Sends an email through the WordPress mail transport, with its own recipients, subject, message, and optional headers. |
| Webhook | HTTP | Sends submitted data to an external HTTP endpoint. |
| Redirect | Response | Redirects the visitor after a successful submission, overriding the form’s own redirect URL and delay. |
| Set variable | Data | Creates or updates a workflow variable that later actions can read. |
| Set field value | Data | Updates a submitted field value, both for later actions and in the stored submission. |
| Calculate | Data | Runs one numeric operation, such as add, multiply, percentage, minimum, or round. |
| Find content | WordPress | Looks up posts, pages, or custom content by ID, text, date, metadata, or taxonomy term. |
| Save content | WordPress | Creates or updates a post, page, or custom content item, including its metadata, taxonomy terms, and featured image. |
| Cookie | Browser | Sets or deletes a browser cookie while the submission is handled. |
| Mail settings | Submission | Overrides the form’s email notification settings for this submission. |
An installed extension can add further actions. An action that is configured but no longer available is marked Unavailable in the editor and stops the automation at runtime.
Settings every action has
Each action has three tabs.
General
Holds the Enabled checkbox, the Action type, and the settings specific to that action. Clearing Enabled keeps the action configured but skips it at runtime.
Logic
Holds the action’s own conditions and its On error behavior.
Conditions here are evaluated separately from the automation’s conditions. The automation’s conditions decide whether the automation runs at all; an action’s conditions decide whether that one action runs inside it.
On error controls what happens when the action fails:
| Option | Effect |
|---|---|
| Stop this automation | Default. Remaining actions in this automation are skipped. Other automations still run. |
| Continue to next action | The failure is recorded and the next action runs. |
| Stop all automations | No further automation runs for this submission. |
An action that is skipped because its conditions did not match has not failed, so On error does not apply to it.
Admin
Holds an optional Action title used as the label in the editor, and an optional Result key.
The Result key is what lets a later action read this action’s output. It must be unique inside the automation, start with a letter, and contain only lowercase letters, numbers, underscores, or hyphens.
Passing data between actions
Most text settings accept workflow data references written as {{ path }}. Click Insert data next to a setting to browse the available paths rather than typing them.
Available paths include submitted values ({{ fields.by_key.email }}), form and submission details ({{ form.title }}, {{ submission.id }}), variables you created ({{ variables.total }}), and the outputs of earlier actions.
Action outputs use the pattern actions.RESULT_KEY.outputs.NAME. For example, a Webhook action with the result key crm_sync exposes {{ actions.crm_sync.outputs.status_code }}.
You can only reference an action that runs before the action reading it. Referencing a later action is reported as a Future action reference when you check the workflow, and the automation will not run until it is fixed.
Example: order matters
To email a total that the form does not collect directly:
- Calculate — multiply
{{ fields.by_key.quantity }}by{{ fields.by_key.unit_price }}, with the result keyorder_total. - Send email — include
{{ actions.order_total.outputs.value }}in the message.
Reversing these two actions produces a future action reference, because the email would run before the value exists.
How actions run
Actions run one after another during the submission request, not in the background. A slow action delays the response the visitor sees.
Elzo Forms applies fixed runtime limits to every submission, including at most 500 action executions, 10 outgoing HTTP requests, 20 emails, 20 content writes, and 30 seconds of total runtime. Exceeding a limit fails the action that crossed it and records a diagnostic.
Some actions do not take effect immediately. Redirect and Mail settings change how Elzo Forms finishes handling the submission, so their result appears in the response rather than during the action itself.
Check a workflow before saving
Click Check workflow above the automation list to validate every automation on the screen. It reports missing required settings, unavailable actions, duplicate or invalid result keys, and references that cannot resolve.
Use Test on an individual automation to run it against a real submission. The test simulates side effects by default: no email is sent, no cookie is changed, and the submission is not updated. Webhook actions are simulated too, unless you enable Send real webhook requests.
Next steps
- Webhook Action — full configuration for the Webhook action.
- Global Automations — reuse the same actions across several forms.
- Automation Health and Troubleshooting — see which actions ran and why one failed.