Appearance
Notifications and smart codes
Every form can send any number of emails. Each one is a separate notification with its own recipients, subject, body, format, timing, and conditions.
Settings → Notifications. Add, duplicate, and delete them from the list on the left.
One notification
| Setting | What it does |
|---|---|
| On / Off | Whether this one sends at all |
| Name | For your own reference in the list |
| Send to | An email address you type, or a field on the form that holds one |
| Subject | The subject line, smart codes allowed |
| Message | The body, smart codes allowed |
| Format | Template · Raw HTML · Plain text |
| Send when | What event fires it |
| Only when | Conditions on the submitted values |
Send to
Two modes. Enter email takes one or more addresses separated by commas, and accepts smart codes — {admin_email} is a good default. Field with the email address picks an email field on the form, so the notification goes to whoever submitted it.
That is the difference between the two emails most forms want: one to you, one to them.
Format
| Format | What is sent |
|---|---|
| Template (default) | Your message inside a clean, responsive email — the site name on top, a small footer |
| Raw HTML | Exactly as written, as an HTML email |
| Plain text | No formatting at all |
Raw HTML is only accepted in full from users with the unfiltered_html capability; from everyone else it is filtered to post-safe HTML.
Send when
| Form kind | Options |
|---|---|
| Post form | A new post is submitted · A post is edited through the form · Either |
| Standalone, login, reset | The form is submitted |
| Registration | Someone registers · Their account is approved · Their account is denied |
| Product options | When the order is placed — not when the item is added to the cart |
The edit options are only available once the form's mode allows editing.
Registration emails that arrive weeks later
A registration form's approved and denied notifications fire whenever someone decides the account on the Entries screen — possibly long after the sign-up. The values the person filled in are stored with the entry, so {field:key} still means what they typed, not an empty string.
Smart codes
Smart codes work in a notification's subject and body, in confirmation messages, and in redirect addresses.
Every form
| Code | Fills in |
|---|---|
{form} | The form's name |
{site} | The site name |
{admin_email} | The site's admin email |
{date} | When, in the site's date and time format |
{user_name} | Who submitted — the display name, or a visitor |
{user_email} | Their account email |
{user_link} | Their entry in VX Modules |
{login_url} | The login page |
{entry_link} | This entry in VX Modules |
{all_fields} | Every submitted field, one per line, as Label: value |
{email} | The submitter's email — an email field on the form, or their account |
{field:key} | Any one submitted value, by field key |
Post forms also get
| Code | Fills in |
|---|---|
{title} | The post's title |
{link} | Its public link |
{edit_link} | Its edit link in wp-admin |
{status} | Its status |
{action} | submitted or edited |
Registration and reset emails
| Code | Where it works |
|---|---|
{verify_link} | The verification email — the link that verifies the address |
{reset_link} | The reset email — the link that opens step 2 |
Those two emails are configured on their own settings pages, not as notifications. See Registration forms and Login and password reset.
Product options forms
Three more codes work in the confirmation message of a product options form on FluentCart — the message shown in place of the button when After adding is set to Stay on the page and show a message:
| Code | Fills in |
|---|---|
{product} | The product's title |
{option} | The chosen variation |
{quantity} | How many |
They are filled in by FluentCart's add-to-cart response, so they belong in that message rather than in a notification. On WooCommerce the fields post with WooCommerce's own Add to cart, and WooCommerce's own notices apply.
{reset_link} is required
A password reset email without {reset_link} sends a link nobody can follow. The builder says so, and the field is checked before it saves.
Choice labels, not stored values
A choice field stores a value and shows a label. Notifications send the label — an email says Support, not help. That applies to selects, radios, button groups, multiselects, checkboxes, and terms, in both {field:key} and {all_fields}.
Uploads in emails
An uploaded file appears in a notification as its name. Nothing is attached — the email carries the record, and the file stays in the media library where the entry links to it.
Routing one form to several inboxes
The pattern worth knowing:
- Add a Dropdown field — Department: Sales, Support, Billing.
- Add three notifications, each with its own Send to.
- On each, turn Only when on and add one rule: Department is the matching value.
- Add a fourth notification with Send to set to the form's email field, so the submitter gets a receipt whatever they chose.

