Pro module21 abilities

Beaver Builder ability reference

Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.

This Beaver Builder ability reference lists every call GoBuildWP Pro registers for Beaver Builder layouts, nodes, templates and globals, with the exact slug an agent sends and what the plugin's own contract says it does. Of the 21, 9 read, 7 write and 5 are marked destructive in the source.

Read-only, write and destructive groups describe the source annotations. They do not establish a minimum safety profile, human approval or undo support. Those controls are separate: check the installed ability, the connected user and the active site policy before calling it. A read can still return sensitive data. These pages are not evidence that every operation passed an end-to-end runtime test.

What Beaver Builder needs before these load

These 21 abilities come with GoBuildWP Pro 1.12.4. Pro registration requires the Freemius SDK to permit premium code and any companion dependency the module checks to be available. The floors below apply to the named dependencies or features; an optional add-on or newer feature floor does not necessarily disable the base module. wppilot/integration-health and the module's setup call describe the installed availability.

Minimum (base)
2.9.0 WPPILOT_PRO_BEAVER_BUILDER_MIN_VERSION
Beaver Builder editions
free, pro
Agent skills shipped
beaver-builder-build-page

Before accepting the result

Set the intended layout status explicitly: draft stages the layout; the default writes both copies. A draft post is separate from a draft layout. Template application saves through the draft and publishes, so inspect existing pending edits before application.

Safety profiles and human confirmation

Example Beaver Builder input: wppilot/beaver-builder-get-layout

This one operation declares the 7 top-level input parameters below in wppilot-pro/includes/wppilot-abilities/wppilot-beaver-builder/wppilot-get-layout.php, and none is required on its own. Other calls in this module take different arguments. Nested schemas and constraints are not expanded here; the complete live schema a connected client discovers is authoritative.

ParameterType and meaning
postinteger. Post id whose Beaver Builder layout to read.
post_idinteger. Alias for `post`.
statusstring one of published, draft. Layout status to read. Defaults to published.
include_settingsboolean. Include each node settings object. Defaults to false.
include_layout_settingsboolean. Include page-level Beaver Builder layout settings. Defaults to false.
max_nodesinteger. Maximum nodes to return. Defaults to 400.
max_field_bytesinteger. Per-settings string byte cap when include_settings is true. Defaults to 2048; 0 disables.

Beaver Builder reads

AbilityWhat it does
wppilot/beaver-builder-check-setupCheck Beaver Builder SetupReports the Beaver Builder environment: plugin active/version/minimum status, Beaver Themer presence, supported post types, registered and enabled module counts, template mode, builder-enabled layout count, and current user management permission. Run this before building or editing Beaver Builder layouts.
wppilot/beaver-builder-get-global-typographyGet Beaver Builder Global TypographyReturns Beaver Builder's Global Styles typography - the site-wide default typography per element (text, h1-h6, link, button). This is Beaver's reusable type system (there is no global-font token list; typography is set per element here). Read it first to learn the exact typography object shape before edit-global-typography, and to set page styling that inherits global defaults instead of hardcoding font size/weight on every heading.
wppilot/beaver-builder-get-layoutGet Beaver Builder LayoutReads one Beaver Builder layout from _fl_builder_data (published) or _fl_builder_draft (draft). Returns a compact flat node list with id, type, parent, position, children, module slug, global/dynamic flags, and optional settings. Accepts the post id as post or post_id; use include_settings sparingly because module settings can be large and are byte-capped.
wppilot/beaver-builder-get-moduleGet Beaver Builder ModuleReturns one Beaver Builder module settings schema so an agent can set the exact keys instead of guessing them. Given a module slug from list-modules, it reports the typed fields walked from the module registered form (key, type, label, tab, section, options, default). Use this before set-layout/add-node/edit-node to learn a heading text key, a button link key, or a post-grid query key. Progressive disclosure: narrow with search (key/label substring, case-insensitive), tab, or section instead of reading the whole module - a post-grid has ~96 fields, so a query lookup is get-module slug=post-grid search="post" and a style lookup is search="color" or tab="style" (the filters combine with AND, and fields_total/fields_matched then report the match count). include_defaults (the flat get_module_defaults map) defaults to false because each field row already carries its own default; turn it on only for the exhaustive/responsive keys. Fields and defaults are bounded and large values are byte-capped.
wppilot/beaver-builder-get-structure-schemaGet Beaver Builder Structure SchemaReturns the settings schema for a Beaver Builder structural node - a row or a column - so an agent can set the exact keys (background, padding/margin, column size, borders, visibility) instead of guessing them. Rows and columns are NOT modules, so get-module does not cover them; this is their counterpart. Given type (row|column) it reports the typed fields walked from Beaver's settings form (key, type, label, tab, section, options, default). Progressive disclosure: narrow with search (key/label substring, case-insensitive), tab ("style"/"advanced"), or section instead of reading the whole form - a row form is ~80 fields, so a background lookup is type=row search="bg", spacing is search="padding" or search="margin", and column width is type=column search="size"; the filters AND-combine and fields_total/fields_matched report the match count. Background keys: set bg_type (color|gradient|photo|video|parallax) PLUS the matching key - bg_color, or bg_gradient {type,angle,position,colors,stops}, or bg_image/bg_image_url; bg_type defaults to "none", so a bg_color with no bg_type renders nothing. include_defaults (the flat get_row_defaults/get_col_defaults map) defaults to false because each field row already carries its own default.
wppilot/beaver-builder-list-global-colorsList Beaver Builder Global ColorsLists Beaver Builder Global Colors - the reusable color design tokens (Global Styles). Each token has a uid, a label, the color value (hex without #, or rgb/rgba), and the css_var it generates (e.g. --fl-global-brand). Prefer referencing a token over hardcoding a hex on every node; discover them here first and create-global-color when a needed token is missing. To bind a node setting to a token, write a connection on the node (settings.connections.<field> = {object:"site", property:"global_color_<uid>", field:"<field>"}) via edit-node/set-layout.
wppilot/beaver-builder-list-layoutsList Beaver Builder LayoutsLists posts and Beaver Builder templates where the builder is enabled (_fl_builder_enabled=1). Returns compact post rows with layout node counts so an agent can pick a target before calling get-layout. Defaults to all Beaver-supported post types and post_status=any; filter by post_type, status, or search.
wppilot/beaver-builder-list-modulesList Beaver Builder ModulesLists the Beaver Builder modules and aliases registered in this install. Rows are compact: slug (module or alias key), module (underlying module slug), name, category, group, enabled, alias, and description. Filter by category, group, search, and include_disabled. Use this before adding content so the agent picks real native modules instead of raw HTML. This is the catalog (slugs only); fetch a single module settings fields with get-module before writing its node settings.
wppilot/beaver-builder-list-templatesList Beaver Builder TemplatesLists reusable Beaver Builder user templates - full-page layout templates and saved row/column/module nodes. Each row gives the post_id (apply/delete target), template_id (for node templates), name, type, and is_global. Use this to find a template to apply-template into a page so you build once and reuse. Filter by type; row/column/module (saved nodes) require Beaver Builder's node-templates feature (not Lite).

Beaver Builder writes

AbilityWhat it does
wppilot/beaver-builder-add-nodeAdd Beaver Builder NodeAdds one row, column-group, column, or module node to an existing Beaver Builder layout. Use get-layout first to choose the parent id. Module nodes must set module or settings.type. Defaults to writing both published and draft layouts. The HTML (raw-code) module is gated: it is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed - never for layout, styling, CSS, or content.
wppilot/beaver-builder-create-global-colorCreate Beaver Builder Global ColorCreates a new Beaver Builder Global Color token. Pass a label (display name; also the basis for the generated CSS var) and a color (hex with or without #, or rgb/rgba). Returns the minted uid and the css_var. Use list-global-colors first to avoid duplicates.
wppilot/beaver-builder-create-templateCreate Beaver Builder TemplateCreates a reusable Beaver Builder template from an existing page's content. type=layout saves the whole page; type=row|column|module saves a single node (pass its node_id) as a saved row/column/module. Set global=true to save a node as a GLOBAL template - every place it is applied stays linked, so editing the template propagates everywhere (node templates and global require the non-Lite node-templates feature). Returns the new template post_id / template_id. Apply it later with apply-template.
wppilot/beaver-builder-edit-global-colorEdit Beaver Builder Global ColorEdits an existing Beaver Builder Global Color by uid. Pass label and/or color to change them; omitted fields are preserved. Changing a token updates every node bound to it. Find the uid with list-global-colors.
wppilot/beaver-builder-edit-global-typographyEdit Beaver Builder Global TypographySets the Global Styles typography for one element (text, h1-h6, link, button). Pass element and a typography object in Beaver's typography shape - call get-global-typography first to read the exact current shape (font_family, font_weight, font_size, line_height, etc.) and send it back modified. The change applies site-wide to every page that inherits global typography.
wppilot/beaver-builder-edit-nodeEdit Beaver Builder NodeEdits one Beaver Builder node settings object. By default settings are merged at the top level; pass replace=true to replace the whole settings object. Node type, id, and parent are immutable here; use move-node for parent/position. If the edit would make the target an HTML (raw-code) module, it is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed - never for layout, styling, CSS, or content.
wppilot/beaver-builder-move-nodeMove Beaver Builder NodeMoves a Beaver Builder node to a new parent and sibling position.

Destructive Beaver Builder calls

AbilityWhat it does
wppilot/beaver-builder-apply-templateApply Beaver Builder TemplateApplies a saved template (from list-templates) into a target page. scope=layout replaces the page with a layout template (or append=true to add its rows after the existing content); scope=node inserts a saved row/column/module under parent_id at position. Node ids are regenerated on apply. Applying a GLOBAL node template inserts a linked instance (only the root node is copied; it renders from the template). Pass the template by its post_id from list-templates.
wppilot/beaver-builder-delete-global-colorDelete Beaver Builder Global ColorDeletes a Beaver Builder Global Color by uid. Nodes that were bound to this token lose the binding and fall back to their stored plain value. Find the uid with list-global-colors.
wppilot/beaver-builder-delete-nodeDelete Beaver Builder NodeDeletes one Beaver Builder node and its descendant subtree.
wppilot/beaver-builder-delete-templateDelete Beaver Builder TemplateDeletes a Beaver Builder user template by its post_id (from list-templates). By default it trashes the template (recoverable) and, for a global node template, first unlinks it from every page using it. Pass force=true to delete permanently.
wppilot/beaver-builder-set-layoutSet Beaver Builder LayoutReplaces a Beaver Builder layout atomically. nodes is a flat list of row, column-group, column, and module nodes. Each node has {id?, type, parent?, position?, module?, settings?}. IDs are generated when omitted, but parents must reference explicit IDs. Module nodes must set module or settings.type to a real Beaver module slug discovered with list-modules. Defaults to writing both published and draft layouts and enables Beaver Builder for the post. The HTML (raw-code) module is gated: if any node in the tree is an HTML module the whole write is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed - never for layout, styling, CSS, or content.

For the task-level view of Beaver Builder, with worked requests and what to check afterwards, see Beaver Builder integration page.