Additional settings is a free-text box in the Contact Form 7 admin that almost nobody looks at, and it contains switches that can stop a form working while it continues to tell visitors it worked.
skip_mail: on turns off all mail for a form. demo_mode: on stops submissions being processed at all. Both leave the success message intact.
At a glance
| Ability | contact-form-7/get-additional-settings |
| Toolset | Contact Form 7 — toolset/contact-form-7 |
| Group | Contact Form 7 › Settings & Validation |
| 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 ability parses that free-text block into key/value pairs and flags which keys this suite is willing to write — the four behaviour switches. Anything else present is reported but treated as read-only, because Contact Form 7 does not validate this field and a third-party add-on may be using it.
It returns the raw block alongside the parsed pairs, so nothing is lost if the content is something the parser does not recognise.
Make this your first call when someone reports “the form says it sent but nothing arrived”. It is a faster answer than checking mail logs, and it is right more often than you would expect.
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. |
settings | array | The parsed key/value pairs. |
raw | string | The additional-settings block verbatim. |
writable | array | Which keys this suite can change. |
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:
Form 42 says it sent but nothing arrived — is anything switched off on it?
It resolves to one call:
{
"ability": "contact-form-7/get-additional-settings",
"parameters": {
"form_id": 42
}
}Worth knowing
- First stop for “the form works but no mail arrives”.
- Keys outside the writable four are reported but not editable here — they may belong to an add-on.
- The raw block is returned too, so an unparseable setting is still visible.
Related abilities
- Update Contact Form Additional Settings — change a switch
- Validate Contact Form Configuration — the other silent-failure check
- Get Contact Form Mail Template — check where mail was meant to go
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category