Integrations
Optional tool sets for the plugins your site already runs: Advanced Custom Fields, form plugins, SEO plugins and WPCode. One switch each.
What an integration is
An integration is an optional set of AI tools for another plugin on your site. Each one has its own switch under Design Pages → Settings → Integrations, and its card tells you whether the plugin it needs is installed and whether the tools are live.
They are off by default. Every tool the AI can see is something it reads at the start of a conversation, so switch on only the ones the site uses.
Turning an integration off removes its tools, not your work. A page already built with custom fields or an embedded form keeps rendering exactly as before. Every integration is included in every plan.
Advanced Custom Fields
With ACF active and its switch on, the AI can set up the data side of a site from chat: custom post types, taxonomies, field groups (repeaters, flexible content, galleries and relationships included) and options pages. It can read and fill in field values, and export or import field groups as JSON.
Showing field values on a page
Templates print values with placeholders. The prefix picks which object is read. Pick the wrong one and the page shows the wrong value with no error, so this table is worth a second look.
| Placeholder | Reads |
|---|---|
{{acf:field}} | The current post on a single page; the queried term or author on an archive; the options page anywhere else |
{{acf_option:field}} | ACF options, on every view, including the global header and footer |
{{term_acf:field}} / {{user_acf:field}} | The queried term or author; otherwise the post's first term or its author |
{{loop_acf:field}} | The current post inside a post loop ({{wp_query}}, {{main_query}}, {{wc_products:}}) |
{{row_acf:field}} | The current row inside a repeater, gallery or flexible content block |
Inside a post loop, use {{loop_acf:field}}. A plain {{acf:field}} there reads the page the loop sits on, so every card shows the same value.
How the value is printed
Add an ending to the prefix to choose the escaping:
- no ending,
{{acf:title}}: plain text {{acf_html:intro}}: safe HTML (bold, links, lists){{acf_url:cta}}: a link address{{acf_attr:colour}}: a value inside an HTML attribute{{acf_img:hero}}: a complete image tag built from an image field
The same endings work on the other prefixes ({{loop_acf_img:photo}}). Dotted paths reach inside a structured value: {{acf:hero.sizes.large}}, {{acf:cta.url}}, {{acf:address.city}}.
Repeaters and other blocks
Blocks wrap markup that repeats or shows conditionally: {{acf_repeater:services}} … {{/acf_repeater}}, plus acf_gallery, acf_flexible with acf_layout, acf_posts (a relationship field, written with loop placeholders inside), acf_terms, and acf_if / acf_unless. A repeater inside a repeater needs no special syntax.
Turning the ACF switch off removes the tools only. Pages that already use these placeholders keep rendering for as long as ACF itself is active.
Forms: Gravity Forms, JetFormBuilder, Contact Form 7
Each of the three form plugins has its own switch. With one on, the AI can list, read, create, edit, duplicate and delete that plugin's forms, and get the embed shortcode for any of them. Tool names carry the plugin's short name, for example list_gf_forms, get_jfb_form or update_cf7_form. JetFormBuilder forms can run over several steps, each with its own name.
To put a form on a page, the shortcode goes in a shortcode_ content field, for example [contact-form-7 id="123"]. The form is still handled by its own plugin, so its emails and stored entries work as they always have.
Submitted entries are never readable by any AI tool. The tools report how many entries a form has, never what anyone typed into it. This is not a setting, and there is no way to switch it on.
JetFormBuilder has the deepest editing support: email actions shown with their real recipients and bodies (passwords and API keys masked), changing one email without touching the rest, Save Form Record, a backup before every change, email previews with sample answers, and a log of failed submissions. The Third-Party Widgets page covers each of these.
Forms from WPForms, Fluent Forms, Ninja Forms and Formidable show up in list_forms and can be embedded by shortcode, but have no editing tools.
SEO plugins: Rank Math and Yoast
Turn on Rank Math or Yoast SEO under Settings → Integrations → SEO. The AI can then read and set a page's SEO title, meta description, focus keyword, robots, canonical URL and social previews (get_seo, update_seo), and the same for category and tag archives (get_term_seo, update_term_seo).
With Rank Math it can also edit the site-wide settings, such as the organization, Website Name and homepage meta (get_rankmath_global, update_rankmath_global, get_rankmath_options, update_rankmath_options), and add, list or remove redirects (manage_redirects; removing one asks for confirmation).
With Yoast it can read the site-wide defaults (get_yoast_global) and, from version 0.54.0, set the site's identity (update_yoast_global): whether a company or a person publishes the site, its name, logo and contact details, the website name, the social profiles and the default schema type for each content type. Yoast builds its Organization and WebSite schema from these. Archive and indexing switches stay in Yoast's own settings, and a request that includes one writes nothing.
Every reply names the SEO plugin it used. With no SEO plugin active, changes are refused. If both plugins are active, choose on the same screen which one is written to; Vision Builder Control follows the same choice.
Code snippets: WPCode
Turn on WPCode under Settings → Integrations. The AI can then list and read your snippets (list_wpcode_snippets, get_wpcode_snippet), create and edit them (create_wpcode_snippet, update_wpcode_snippet), switch one on or off (set_wpcode_snippet_active), copy one (duplicate_wpcode_snippet) and delete one (delete_wpcode_snippet, which asks for confirmation first). New snippets start switched off unless you ask for them on.
CSS, JavaScript, HTML and text snippets work as soon as WPCode is on. PHP and Universal snippets run as code on your server, so writing one or switching one on also needs the Allow PHP / Universal snippets box on the WPCode card. Only a person in wp-admin can tick it; a chat can't. Switching a snippet off or deleting it always works, so a snippet that breaks the site can be stopped either way.
Every change is recorded. list_wpcode_changes shows them and restore_wpcode_change puts one back. A permanently deleted snippet comes back with a new ID, switched off. Vision Builder Control has the same seven snippet tools and gives the same answers.
Running alongside Vision Builder Control
Vision Builder Control, our plugin for Elementor sites, ships the same integrations. With both plugins active, each shared integration's tools are listed by one plugin only, so the AI doesn't see two copies of get_seo and pick one at random. The other plugin still runs those tools if it is asked to, with the same result. Both call the other plugin's own API (ACF, the form plugin, the SEO plugin), so it makes no difference which one does the work.
Page-building tools are never treated this way, because the two plugins build pages differently. Instead, the AI asks which builder a new page should use. Theme Compatibility explains how that works.
check_health shows which plugin lists each integration.