A mail body is a template, and the tags in it are the only way a submitted value reaches your inbox. Get a tag name wrong and nothing complains — the tag renders as empty.
contact-form-7/list-mail-tags is the authoritative list of what is available: one tag per named field, plus Contact Form 7’s built-in context tags.
At a glance
| Ability | contact-form-7/list-mail-tags |
| Toolset | Contact Form 7 — toolset/contact-form-7 |
| Group | Contact Form 7 › Mail & Notifications |
| Requires | Contact Form 7, active on the site |
| Capability | manage_options, plus read_contact_forms |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
The from_fields list comes from the form template. Every named field is a tag; nameless controls such as the submit button are not.
The special list is Contact Form 7’s own: the date and time of submission, the URL the form was submitted from, the visitor’s IP and user agent, the site name. These are available on every form and are worth knowing about — a notification that cannot tell you which page a message came from is a notification you will have to chase.
Read this before writing a body with contact-form-7/update-mail. A tag that matches nothing here is not an error, it simply renders as nothing.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
form_id | integer | Yes | Form post ID, as returned by contact-form-7/list-forms. |
What comes back
| Name | Type | What it is |
|---|---|---|
form_id | integer | The form that was read. |
from_fields | array | One tag per named field on the form. |
special | array | Contact Form 7’s built-in context tags. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
What can I put in form 42’s notification body?
It resolves to one call:
{
"ability": "contact-form-7/list-mail-tags",
"parameters": {
"form_id": 42
}
}Worth knowing
- A tag not in this list renders as empty rather than failing. That is the whole reason this ability exists.
- The special tags are free context — submitting URL and date cost nothing and save a lot of guessing later.
- Adding a field adds its tag immediately, but does not put it in any mail template.
Related abilities
- Update Contact Form Mail Template — use these in a body
- Validate Contact Form Mail Tags — check what a body already uses
- List Contact Form Fields — the fields behind the field tags
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category