A Contact Form 7 form is five separate things wearing one name: a template of field tags, a notification mail, an optional autoresponder, a set of validation messages, and a block of behaviour settings. Change one without knowing the others and you get a form that saves cleanly and fails quietly.
contact-form-7/get-form returns all five, plus the shortcode and Contact Form 7’s own configuration errors, in one read.
At a glance
| Ability | contact-form-7/get-form |
| Toolset | Contact Form 7 — toolset/contact-form-7 |
| Group | Contact Form 7 › Forms |
| 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
This is the call to make before any edit. Every update ability in this suite patches individual properties, and knowing the current template is what makes a field edit safe — particularly since a field name appearing in a mail body is an invisible dependency.
The configuration errors come from Contact Form 7’s own validator, so they are the same warnings the admin screen would show you.
If you only need to know what fields exist, contact-form-7/list-form-fields is lighter and returns them parsed rather than as raw markup.
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 | object | Title, locale, template, both mail templates, messages, additional settings and the shortcode. |
config_errors | array | What Contact Form 7’s validator flags against this form. |
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:
Show me everything about form 42 before I change the notification email.
It resolves to one call:
{
"ability": "contact-form-7/get-form",
"parameters": {
"form_id": 42
}
}Worth knowing
- Read this first, then patch. The update abilities replace whole properties rather than merging into them, so a partial mail object would drop the fields you left out.
- Field names are load-bearing. One appearing in a mail body means renaming the field breaks the notification with no error anywhere.
- For the raw template markup alone,
contact-form-7/get-form-templateis the narrower read.
Related abilities
- List Contact Forms — find the form id first
- Update Contact Form — the write that should follow this read
- List Contact Form Fields — just the fields, parsed
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category