Bricksforge ability reference
Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.
This Bricksforge ability reference lists every call GoBuildWP Pro registers for Bricksforge tools, popups, elements and email templates, with the exact slug an agent sends and what the plugin's own contract says it does. Of the 21, 9 read, 9 write and 3 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 Bricksforge 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)
- 3.1.8
WPPILOT_PRO_BRICKSFORGE_MIN_VERSION - Bricksforge editions
- pro
- Agent skills shipped
bricksforge-integration
Bricksforge in practice
Bricksforge settings live in a handful of options, which is why undo works
Bricksforge keeps its state in WordPress options rather than in posts: activated tools in brf_activated_tools, activated custom elements in brf_activated_elements, popups in brf_popups and every Email Designer template in brf_email_designer_data. The change ledger snapshots the relevant option before each write in this module, including the destructive ones, so wppilot/rollback-change can bring back a deleted popup or email template, or an element row removed by wppilot/bricksforge-disable-element along with the settings stored on it.
The snapshot is of the whole option. Rolling back one popup edit also reverts any other popup changed in Bricksforge's own screens since, so on a site where people are editing popups at the same time, compare the current list with wppilot/bricksforge-list-popups before restoring.
Why a Bricksforge popup saves but never opens
Bricksforge's front-end script skips any popup that lacks a template, a displayOn value or a trigger, or whose active flag is not true. GoBuildWP checks the stored config after every create, edit and read and adds a warning naming the missing keys, and another when the Popups tool is switched off, since no popup fires until wppilot/bricksforge-enable-tool turns it on. Treat those warnings as blockers rather than notes.
A third warning covers drift: a popup created against a published Bricks template keeps pointing at that id if the template is later unpublished or trashed. Bricksforge serves a merely unpublished template to visitors anyway, and a trashed one renders nothing, so republish the template or point the popup at another one.
Valid triggers are pageLoad, click, scrollPosition and customTrigger; displayOn is entire_website or specific_page; the animations are the five fade-in variants. An old popup whose stored config is nested too deeply to round-trip safely is refused for editing with bricksforge_popup_unreadable, and the only way forward is to delete it and create it again.
Bricksforge ids, slugs and the write lock
A request to try on staging: show the newsletter popup five seconds after page load on every page. The agent checks the Popups tool in wppilot/bricksforge-list-tools, finds the Bricks template id, creates the popup with trigger pageLoad, seconds 5 and displayOn entire_website, and clears any warnings. Then load a page in a private window and wait for it.
- bricksforge_unknown_tool and bricksforge_unknown_element (HTTP 404): the id or slug is not in GoBuildWP's catalogue. Tools and custom elements are separate numbering spaces, so list the right catalogue first.
- bricksforge_locked (HTTP 409): another write to the same Bricksforge option was in progress. Nothing was written; retry the call.
- bricksforge_popup_not_found and bricksforge_email_template_not_found: the id does not exist, often because it was deleted or duplicated under a new id.
Bricksforge reads
| Ability | What it does |
|---|---|
wppilot/bricksforge-check-setupCheck Bricksforge Setup | Reports the Bricksforge environment: plugin active/version/minimum status, Bricks theme version, activated tools and custom elements (numeric IDs resolved to names), and issues. Run this before using other Bricksforge abilities. Bricksforge custom elements register as regular Bricks elements - compose them into pages with the wppilot/bricks-* abilities. |
wppilot/bricksforge-get-email-templateGet Bricksforge Email Template | Reads one Bricksforge Email Designer template by id. Returns the metadata (name, status, subject, overridden emails, theme binding) always, and the full visual body (canvas) only when include_canvas=true - the canvas is the design tree, large and meant for a visual editor, so it is omitted by default. |
wppilot/bricksforge-get-email-themeGet Bricksforge Email Theme | Reads one saved Email Designer theme by id, returning its full stored settings (colors, typography, spacing - the exact keys depend on the Bricksforge version). Read-only. |
wppilot/bricksforge-get-popupGet Bricksforge Popup | Reads one Bricksforge popup config by id, returning every stored key (template, trigger + trigger params, displayOn/page, executions, animation, colors, close behaviour). Warnings flag configs that will never fire. |
wppilot/bricksforge-list-custom-elementsList Bricksforge Custom Elements | Lists the Bricksforge custom-element activation catalog: numeric ID, slug, name, active state, and the Bricks element name(s) each ID registers. Element IDs are a SEPARATE numbering space from tool IDs. ID 5 activates the whole Pro Forms bundle (form container, steps, and every field element) in one flag; ID 13 (API Query Builder Load More) auto-activates whenever the API Query Builder tool is active. Once an ID is active its elements are ordinary Bricks elements: fetch control schemas with wppilot/bricks-list-elements and compose them with the bricks content abilities. |
wppilot/bricksforge-list-email-templatesList Bricksforge Email Templates | Lists the Bricksforge Email Designer templates in compact form: id, name, status (active/inactive), subject, the WordPress/Bricks/WooCommerce emails each one overrides (condition types), and whether it uses a theme. The visual email body (canvas) is omitted - use bricksforge-get-email-template for one template. Authoring the visual layout is a browser/editor task, not a backend one; these abilities manage the template DATA (which emails are overridden, subjects, on/off, themes). |
wppilot/bricksforge-list-email-themesList Bricksforge Email Themes | Lists the saved Email Designer themes (id + name). A template binds to a theme by id (see bricksforge-edit-email-template use_theme/theme). Read-only: theme creation/design is a visual editor task. |
wppilot/bricksforge-list-popupsList Bricksforge Popups | Lists the Bricksforge popups (the brf_popups configs) in compact form: id, active, trigger, displayOn, template id, animation. Bricksforge popups are a distinct system from Bricks-core popup templates: content comes from a Bricks template, behaviour from this config. Use bricksforge-get-popup for one full config. |
wppilot/bricksforge-list-toolsList Bricksforge Tools | Lists the Bricksforge tools (feature modules such as Pro Forms, Popups, Maintenance Mode, Mega Menu) with their numeric ID, slug, name, active state, and whether the tool carries a settings blob in brf_tool_settings. Bricksforge stores activation as raw numeric IDs; this catalog is the ID-to-name map. Active IDs not in the catalog (from a newer Bricksforge) are reported in unknown_active_ids. |
Bricksforge writes
| Ability | What it does |
|---|---|
wppilot/bricksforge-create-popupCreate Bricksforge Popup | Creates a Bricksforge popup with a generated id. Requires template (a Bricks template post id) and trigger; displayOn defaults to entire_website, active to true, overlay/body colors to the Bricksforge defaults. Returns the full stored config. The popup fires only while the Popups tool is enabled (warned otherwise). |
wppilot/bricksforge-disable-email-templateDisable Bricksforge Email Template | Deactivates an Email Designer template (status = inactive) so it stops overriding its emails; WordPress falls back to the default mail. The template and its design are kept - re-enable to restore it. |
wppilot/bricksforge-disable-toolDisable Bricksforge Tool | Deactivates one Bricksforge tool (feature module) by numeric id or slug. Writes the upstream brf_activated_tools option preserving its flat integer-array shape. Tool settings in brf_tool_settings and stored data (e.g. Pro Forms submissions) are NOT deleted - re-enabling restores the tool as it was. Already-inactive tools are a no-op. |
wppilot/bricksforge-duplicate-email-templateDuplicate Bricksforge Email Template | Deep-copies an existing Email Designer template into a new one with a fresh id, an inactive status, and NO overridden emails (its conditions are cleared so it does not fight the original). The visual body and theme binding are copied verbatim. Use this to base a new email on an existing design without opening the editor. |
wppilot/bricksforge-edit-email-templateEdit Bricksforge Email Template | Edits the METADATA of an Email Designer template in place (partial merge): name, subject, the emails it overrides (conditions), and its theme binding. Does NOT touch the visual body (canvas) - design that in a browser/editor. Setting conditions replaces the whole overrides list. Use bricksforge-enable/disable-email-template for the on/off status. |
wppilot/bricksforge-edit-popupEdit Bricksforge Popup | Edits a Bricksforge popup in place (partial merge update): only the provided keys change, every other stored key is preserved. The id cannot change. Returns the full updated config. |
wppilot/bricksforge-enable-elementEnable Bricksforge Custom Element | Activates one Bricksforge custom element (or element bundle - id 5 is the whole Pro Forms family) by numeric id or slug. Writes the upstream brf_activated_elements option preserving its array-of-objects shape and any per-element settings stored on other rows. The element registers in Bricks on the NEXT request - a bricks-list-elements call in this same conversation will already see it. Already-active elements are a no-op. |
wppilot/bricksforge-enable-email-templateEnable Bricksforge Email Template | Activates an Email Designer template (status = active) so it overrides the emails in its conditions. A template with no conditions is active but overrides nothing. Enabling one that overrides the same email as another means both fire - keep overrides unique. |
wppilot/bricksforge-enable-toolEnable Bricksforge Tool | Activates one Bricksforge tool (feature module) by numeric id or slug, e.g. pro-forms, popups, maintenance. Writes the upstream brf_activated_tools option preserving its flat integer-array shape. Already-active tools are a no-op. Note: the Pro Forms submissions table is still only created on the next wp-admin page load. |
Destructive Bricksforge calls
| Ability | What it does |
|---|---|
wppilot/bricksforge-delete-email-templateDelete Bricksforge Email Template | Permanently removes one Email Designer template by id (design and all). There is no trash. To stop it overriding emails without losing it, use bricksforge-disable-email-template instead. |
wppilot/bricksforge-delete-popupDelete Bricksforge Popup | Permanently removes a Bricksforge popup config by id (every stored row carrying that id, if duplicates exist). The Bricks template used as its content is NOT deleted. To pause a popup instead, edit it with active=false. |
wppilot/bricksforge-disable-elementDisable Bricksforge Custom Element | Deactivates one Bricksforge custom element (or element bundle) by numeric id or slug. Removes the element row from the upstream brf_activated_elements option, preserving every other row verbatim. WARNING: per-element settings stored on the removed row (e.g. Pro Forms captcha/Stripe keys on id 5, Font Awesome kit id on id 1) are removed with it - the same behaviour as deactivating in the Bricksforge UI. Existing pages keep the element in their saved Bricks tree but it stops rendering until re-enabled. |
For the task-level view of Bricksforge, with worked requests and what to check afterwards, see Bricksforge integration page.