Page buildersPro
GoBuildWP Beaver Builder integration: requirements and coverage
Beaver Builder keeps two layouts per page, and the Beaver Builder MCP abilities in GoBuildWP are easiest to understand against that pair: which calls read or write the published copy, the draft, or both; which go through saved templates; and which change the one option row that holds global colours and typography. Undo coverage follows the same lines.
Add a short note under the pricing table on the Plans page, but keep it unpublished until I review it.
wppilot/beaver-builder-get-layoutReadReads the draft copy of the Plans page and returns the id of the column holding the pricing table, plus the table's position in it.
wppilot/beaver-builder-list-modulesReadConfirms the rich-text module is registered and enabled on this install before anything is written.
wppilot/beaver-builder-add-nodeWriteAdds a rich-text module to that column one position below the table, with status set to draft so only the unpublished copy changes.
wppilot/beaver-builder-get-layoutReadReads the published copy to confirm visitors still get the old layout.
- Edition
- Pro
- Abilities
- 21
- Requires
- WordPress 6.9+, PHP 8.0+, Beaver Builder 2.9.0+
Requirements and coverage
What this integration needs, and where the detail lives
- Edition
- Pro
- WordPress and PHP
- 6.9+ and 8.0+
- Version floor
- Beaver Builder 2.9.0+
- Abilities
- 21, listed in the reference
Beaver Builder MCP guide: setup and worked tasks Beaver Builder ability reference (beaver-builder)
Data model
Two node maps per page, one row for global styles
A Beaver Builder page stores its published layout in _fl_builder_data and its unpublished edits in _fl_builder_draft, with _fl_builder_enabled marking the post as a builder page. Each layout is a map of nodes: rows, column groups, columns and modules, every one with an id, a type, a parent and a position. GoBuildWP reads through Beaver Builder's own model rather than the raw meta, returns the nodes as a flat list, and on writes targets both copies unless you pass status draft or published.
Saved rows, columns, modules and whole layouts are fl-builder-template posts. A global node template is linked, not copied: applying it inserts only the root node, which renders from the template, and creating one also rewrites the source layout to point at it. Global colours and typography live together in the _fl_builder_styles option.
Limits
Beaver Builder boundaries
- The module needs Beaver Builder 2.9 or later, on a post type the builder is enabled for. Trash, revisions and auto-drafts are refused as targets.
- Global node templates need Beaver Builder's node template feature, which the Lite edition does not include.
- Beaver Themer is detected, not driven: the module works on layouts, modules, templates and global styles.
- Rolling back a global colour or typography edit restores the whole _fl_builder_styles row, including any other token changed since.
Worked example
Staging a change in the draft before it goes live
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
The note waits in the editor as unpublished work and the live page is unchanged. A saved template would not have worked here: applying one goes through the draft and then publishes it, taking any pending draft edits live too.
Writes target both draft and published layouts by default; use status draft for staging. Template application can affect publication. Inspect the draft preview and verify the live page stayed unchanged before approving any live application.
beaver-builder-get-layoutReads the draft copy of the Plans page and returns the id of the column holding the pricing table, plus the table's position in it.
beaver-builder-list-modulesConfirms the rich-text module is registered and enabled on this install before anything is written.
beaver-builder-add-nodeAdds a rich-text module to that column one position below the table, with status set to draft so only the unpublished copy changes.
beaver-builder-get-layoutReads the published copy to confirm visitors still get the old layout.
Questions
Beaver Builder questions
Does GoBuildWP edit the draft or the published Beaver Builder layout?
Both by default, so the editor and the live page stay the same. Pass status draft to stage work that only appears in the editor, or published to change the live copy alone.
What happens if I delete a global row template?
Beaver Builder unlinks it from every page first, turning each linked instance into ordinary nodes, then removes it. That goes through Beaver's own model and is recorded as irreversible.
Why are rows and columns described separately from modules?
Rows and columns are structural nodes with their own settings for backgrounds, spacing and column width, not modules. get-structure-schema describes those, and get-module describes a module's registered form.
Beaver Builder AI documents an MCP connection alongside its own building experience. Compare native rows, columns, modules and Themer support against the GoBuildWP operations you actually need. Beaver Builder MCP connection documentation
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.
Beaver Builder is a separate product; no partnership or endorsement is implied.