FormsFree + Pro
Forminator MCP that withholds contact details by design
The Forminator MCP integration is deliberately narrow. An AI client can list forms, read a form's fields, submission settings and notifications, read entries, and change a form's title, submit button text or a field's label, placeholder or required flag. These entry APIs withhold designated email, phone and IP fields and redact detected contact patterns in free text. Names and other permitted answers are returned to the client/provider; this is not a guarantee against contact-data transmission through every route. Listing forms and reading entries are in GoBuildWP Free; reading a form's fields and settings and making the small edits, each undoable from the change log, need Pro.
On the Book a Call form, make the phone number optional and change the button to 'Request a callback'.
wppilot/forminator-list-formsReadFinds the form with its answer-field and entry counts.
wppilot/forminator-get-formReadReturns fields in order with ids such as phone-1, plus submit_text and whether entries are stored.
wppilot/forminator-update-formWriteSets required false on phone-1 and the new button text, checks every field id first, saves once through Forminator's model and reads the form back.
wppilot/forminator-list-entriesReadLater, lists new bookings. A filled phone field comes back as [REDACTED] and an empty one stays empty, so the list shows how many visitors left the number out without revealing any number.
- Edition
- Free 2 + Pro 2
- Abilities
- 4
- Requires
- WordPress 6.9+, PHP 8.0+
Limits
What Forminator reads withhold, and what edits cannot touch
- Email and phone answers are always withheld, with no switch to reveal them. Passwords, card and payment data, uploads, signatures and the IP follow the same masking rule as GoBuildWP's other form integrations.
- Email addresses and phone numbers of seven or more digits are removed from free-text answers and marked contact_in_text; names and other answers arrive as typed.
- Notification recipients are counted, never listed, including how many come from a field the visitor fills in.
- Fields cannot be added, removed, moved or retyped, and notifications, integrations and payments are out of reach.
- Spam and draft entries are not listed, and polls and quizzes are not treated as forms.
Abilities
Forminator abilities by effect
Inspect3
Create and change1
Destructive0
None.
Reference: /docs/reference/forms-forminator
Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Read example: wppilot/forminator-get-form
Discover this ability and its live schema first. The input below illustrates a bounded read from the source declaration; replace the example ID or name with an object returned by your site. It is not a recorded execution result.
| Parameter | Type and meaning |
|---|---|
form_id required | integer, at least 1 |
{
"form_id": 42
}Input and output schema from the plugin source
1 input field. Required: form_id. Optional parameters can affect response size and object selection.
{
"input": {
"type": "object",
"properties": {
"form_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"form_id"
],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"title": {
"type": "string"
},
"status": {
"type": "string"
},
"shortcode": {
"type": "string"
},
"fields": {
"type": "array",
"items": {
"type": "object"
}
},
"submit_text": {
"type": "string"
},
"settings": {
"type": "object"
},
"notifications": {
"type": "array",
"items": {
"type": "object"
}
},
"entry_count": {
"type": "integer"
}
}
}
}Source: wppilot-pro/includes/kits/forms-forminator/src/abilities/get-form.php
A successful read should identify the requested object and expose the structure described by the output schema. Compare it with the native editor before proposing a change. Troubleshoot missing or refused operations.
Worked example
Make the phone field optional
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
Visitors can book without a phone number and see the new button label, and the update result lists the previous values. If it was wrong, rollback-change restores the earlier title and settings, ideally before anyone edits the form in Forminator's builder, since those edits would be reverted too.
Before undo, compare newer builder edits: whole-row restoration can overwrite them. Check the rendered labels and run an authorized synthetic submission before accepting the form.
forminator-list-formsFinds the form with its answer-field and entry counts.
forminator-get-formReturns fields in order with ids such as phone-1, plus submit_text and whether entries are stored.
forminator-update-formSets required false on phone-1 and the new button text, checks every field id first, saves once through Forminator's model and reads the form back.
forminator-list-entriesLater, lists new bookings. A filled phone field comes back as [REDACTED] and an empty one stays empty, so the list shows how many visitors left the number out without revealing any number.
Data model
One post, one meta key, separate entry records
A Forminator form is a forminator_forms post, and one meta key, forminator_form_meta, holds every field and setting. The name shown in Forminator's admin is settings.formName; forms created through Forminator's API can carry a slug in post_title, so GoBuildWP reads formName instead.
Entries are kept by Forminator's entry model, apart from the form post, unless the form is set not to store them. Forminator's privacy settings can also delete submissions after a chosen age and decide what happens to a user's submissions when their personal data is erased; GoBuildWP reads whatever remains.
Undo captures post_title and the whole meta array before an edit, writes both back, and compares what it reads afterwards. Because the entire settings array is restored, an undo also reverts later changes made to the same form in Forminator's builder.
Small Forminator edits, done well
An accessibility pass over Forminator labels
The narrow Forminator edit surface happens to match one of the most common form problems: fields that rely on placeholder text instead of a label. A placeholder disappears as soon as someone types, and it is a weak substitute for a label for people using assistive technology. With GoBuildWP Pro an agent can walk every form with forminator-list-forms and forminator-get-form, skip the layout_only entries such as HTML blocks, page breaks and captcha, and list each answer field whose label is empty or merely repeats the placeholder.
The fix is the same call for each form: forminator-update-form with a proper label per field id, and a shorter hint left in the placeholder where one still helps. Every field id is checked before anything is saved, the form is written once through Forminator's own model, and the previous values come back in the result. Review the forms in a browser afterwards, since how a label is displayed depends on the form's design settings in Forminator rather than on the text alone.
- Required flags deserve the same pass: a field marked required that the business never uses is a reason people abandon a form.
- Change the submit text to say what happens next, such as Request a quote, rather than Submit.
- Make these edits on a quiet day for the form, because an undo restores the whole settings array.
Reading Forminator entries for patterns rather than people
Because the supported Forminator entry read withholds designated contact fields and masks detected contact patterns, it is useful for questions about what visitors want. Names and unrecognized personal data can remain in permitted answers, so choose the fields and data purpose deliberately. forminator-list-entries returns each answer with its field label and type, so an agent can count how often each option in a select or radio field was chosen, see which services are asked about most, or summarise the themes in a feedback field. GoBuildWP Free can do this; the entry read is not a Pro ability.
Keep two limits in mind when reading the numbers. Spam and draft entries are not listed, so totals match the stored, non-spam entries Forminator counts. And forms that are set not to store submissions, or that delete them after a period under Forminator's privacy settings, will under-report or show nothing. Names and other free-text answers still arrive as typed, so a summary that is shared further should be stripped of them.
Jobs that belong in Forminator's own builder
Adding or removing a field, changing a field's type, editing notifications, connecting an email marketing service or a payment are all outside these abilities. What the agent can still do is prepare the work: read the form and its notification count, including how many recipients come from a field the visitor fills in, and write a precise change list for someone to apply in the builder. After the builder change, let the agent read the form back to confirm field ids and required flags are what the list asked for.
Questions
Forminator questions
Can the agent see email addresses from Forminator entries if I need them?
No. Unlike GoBuildWP's other form integrations there is no confirm switch here: email and phone answers are withheld in every read. Export them from Forminator's own Submissions screen if you need them.
Why does a Forminator form show zero entries?
Forminator can be told not to store submissions, or to delete them after a set period. forminator-get-form reports whether the form stores entries.
Which Forminator tasks work without GoBuildWP Pro?
Finding a form with its entry count and reading its entries, with the same withholding as Pro. forminator-get-form and forminator-update-form, and so the phone-field change above, are Pro.
What exactly does a Forminator undo restore?
The form's title and its full settings array as they stood before the edit, checked after writing. A builder edit made in between is lost, so undo promptly.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
Forminator is a separate product; no partnership or endorsement is implied.