An Automation is a workflow that runs after a form is submitted. It combines conditions, which decide whether the workflow should run at all, with actions, which do the work — sending an email, calling an external service, redirecting the visitor, or writing WordPress content.
Read this page to understand the model before building a workflow. Automations are available in Elzo Forms PRO.
When an automation runs
Automations run once per submission, immediately after the submission is saved and while the visitor is still waiting for the response. They are not queued or processed in the background, so a slow action delays the response the visitor sees.
A submission flagged as spam never reaches automations.
Conditions
Conditions decide whether an automation runs for a given submission. An automation with no conditions runs for every submission of the form.
A condition compares a value from the submission or its context against a value you set. The available condition types are:
| Condition type | Checks | Availability |
|---|---|---|
| Field value | What the visitor submitted. | Free and PRO |
| Authentication | Whether the visitor was logged in. | Free and PRO |
| Page | The page or post type the form was submitted from. | Free and PRO |
| User | The submitting user’s role or ID. | PRO |
| URL | The submitted page URL. | PRO |
| Cookie | A cookie present in the request. | PRO |
| Date and Time | When the form was submitted. | PRO |
Conditions are arranged in groups under Run when. Every condition inside a group must match for that group to match, and the automation runs when any group matches. Use a single group for “all of these must be true”, and several groups for “any of these situations”.
Evaluation stops as soon as the outcome is decided: a group stops at its first non-matching condition, and the automation runs as soon as one group matches.
Actions
Actions are the steps the automation performs, and they run from top to bottom in the order shown in the editor. Elzo Forms PRO includes ten built-in actions:
- Communication — Send email.
- HTTP — Webhook.
- Response — Redirect.
- Data — Set variable, Set field value, Calculate.
- WordPress — Find content, Save content.
- Browser — Cookie.
- Submission — Mail settings.
An installed extension can add more. Each action also has its own conditions and its own behavior when it fails, so a single automation can branch internally rather than being split into several. See Automation Actions for how to configure and order them.
Actions can pass values to each other. An action given a Result key exposes its output to any action that runs after it, which is how a calculated total reaches an email or a looked-up post ID reaches a webhook.
Execution order
For each submission, Elzo Forms runs Global Automations first, in the order they appear on the settings screen, then the form’s own automations in their order.
Two settings can end the sequence early:
- Stop other automations if this automation matches prevents every later automation from running.
- An action’s On error setting can stop its own automation or all remaining automations when the action fails.
Because references only reach backwards, an automation cannot read output produced by an automation that runs after it.
Global Automations
An automation created under Forms → Settings → Automations is a Global Automation: it is defined once and can run for any form on the site. An individual form can switch off a single Global Automation or all of them.
See Global Automations.
Automation Health
Every run is recorded under Forms → Settings → Automations → Health & History, showing which automations matched, which actions ran, how long they took, and what failed. Records hold statuses, error codes, and timing only — not field values, email content, or webhook payloads.
See Automation Health and Troubleshooting.
Build an automation gradually
A workflow is easiest to debug when each piece is confirmed before the next is added:
- Create one automation with a single action and no conditions.
- Save it, then submit a test entry.
- Open Health & History and confirm the action succeeded.
- Add conditions, then confirm the automation still matches when it should.
- Add further actions one at a time.
The Test button on an automation runs it against an existing submission without sending email, setting cookies, or modifying the submission, which is faster than resubmitting the form for each change.
Troubleshooting
The automation did not run
Check: confirm the automation is enabled, then look for the submission under Recent runs. If a run exists but the automation is marked Conditions not met, its conditions did not match. If no run exists at all, the submission was flagged as spam or the form has no enabled automations.
Expected behavior: every non-spam submission of a form with at least one enabled automation produces a run record.
The automation runs for every submission
Check: an automation with no conditions matches every submission. Confirm the conditions are on the automation itself rather than on one of its actions — action conditions only decide whether that one action runs.
Expected behavior: an automation with at least one condition group runs only when a group matches.
Later automations were skipped
Check: an earlier automation may have Stop other automations if this automation matches selected, or one of its actions may use Stop all automations as its error behavior. Global Automations run first, so a global rule can stop a form’s own automations.
Expected behavior: without a stop instruction, every matching automation runs.
Next steps
- Create Your First Automation — build a working automation from scratch.
- Automation Actions — configure and order the actions.
- Advanced Conditional Logic in PRO — the PRO condition types in detail.
- Automation Health and Troubleshooting — check what ran and why something failed.