JetEngine ability reference
Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.
This JetEngine ability reference lists every call GoBuildWP Pro registers for JetEngine meta boxes, CCTs, post types and options pages, with the exact slug an agent sends and what the plugin's own contract says it does. Of the 26, 11 read, 9 write and 6 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 JetEngine needs before these load
These 26 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.8.6.2
WPPILOT_PRO_JETENGINE_MIN_VERSION - JetEngine editions
- free, pro
- Agent skills shipped
jetengine-integration,content-model-schema,content-model-migration,dynamic-data-binding
Before accepting the result
Before force=true migration or deletion, export the schema and verify an independent backup. Review whether the action deletes only a definition or also records and tables. Registration on the next WordPress request is not the next chat turn.
JetEngine in practice
Only JetEngine meta boxes can be rolled back
JetEngine stores meta boxes in a single WordPress option, jet_engine_meta_boxes, and the change ledger snapshots that option before each meta box create, edit and delete. Those three are the only writes in this module that wppilot/rollback-change can reverse. Post types, options pages, Custom Content Types and every CCT record live in JetEngine's own jet_* tables, so all of their writes are recorded as irreversible, including a single record edit.
That shapes how an agent should work. Before editing a post type, options page or CCT, read it with the matching get call: each one returns JetEngine's own shape, which round-trips through the create and edit calls, so the saved output is a working restore. Before editing or deleting CCT records, read the affected rows with wppilot/jetengine-get-cct-record or wppilot/jetengine-list-cct-records and keep them, because nothing else will bring the old values back.
Filtering CCT records without writing SQL
wppilot/jetengine-list-cct-records filters with where, a map of field name to value that is matched by simple equality and combined with AND. Values must be a string, number or boolean; an array or object is refused with cct_invalid_where_value, and a key that is neither _ID nor a field defined on the CCT returns cct_invalid_where_key. orderby accepts the same names, and anything else returns cct_invalid_orderby. Ranges, partial matches and OR conditions are not supported, so for a question such as all bookings after a date, page through the records and filter in the conversation, or build a JetEngine query in its own interface.
Every CCT call stops with cct_module_not_active when the Custom Content Types module is off in JetEngine's settings, and with cct_db_unavailable when JetEngine's CCT database layer did not load on the request.
Running alongside JetEngine's own MCP server
JetEngine can expose its own MCP tools, and wppilot/jetengine-check-setup reports whether that server is switched on at the WordPress level as jetengine_mcp_enabled. The flag is for information only. GoBuildWP does not cover JetEngine queries, listings, relations or glossaries, so when a request is about one of those and JetEngine's server is enabled but its tools are not in the AI client, the agent can suggest adding it to the client rather than attempting the change through post meta.
JetEngine reads
| Ability | What it does |
|---|---|
wppilot/jetengine-check-setupCheck JetEngine Setup | Reports the JetEngine environment: whether JetEngine is active, the version, whether the minimum supported version (3.8.6.2) is satisfied, whether the current user can manage JetEngine, whether the CCT module is enabled, whether JetEngine's own MCP server is enabled at the WordPress level, and counts of registered meta boxes, options pages, and CCT types. Use BEFORE any other JetEngine ability to verify the runtime is ready. |
wppilot/jetengine-get-cctGet JetEngine CCT | Return the full native JetEngine Custom Content Type definition by slug, enriched with editable, source, and records_count. The returned shape (minus the read-only enrichments) round-trips with create-cct and edit-cct. |
wppilot/jetengine-get-cct-recordGet JetEngine CCT Record | Fetch a single CCT record by _ID (auto-increment primary key) or by key_field_value (the value of the field marked is_key_field). At least one of the two selectors is required. If the CCT has no key field, only _ID is accepted. |
wppilot/jetengine-get-meta-boxGet JetEngine Meta Box | Return the full native JetEngine meta-box record by id, enriched with an editable flag and a source flag (db|php). The returned shape is the same one accepted by create-meta-box and edit-meta-box, so a round-trip is safe. |
wppilot/jetengine-get-options-pageGet JetEngine Options Page | Return the full native JetEngine options-page record by id, enriched with editable and source. The shape round-trips with create-options-page and edit-options-page. |
wppilot/jetengine-get-post-typeGet JetEngine Post Type | Return the full JetEngine Custom Post Type definition by slug, in JetEngine's own grouped shape: general_settings (name, slug, custom_storage…), labels (singular_name, menu_name…), advanced_settings (public, supports, hierarchical, has_archive, show_in_rest, rewrite…), and meta_fields. Plus an editable flag and a source flag (db|php). This is the same shape accepted by create-post-type / edit-post-type, so a get → edit round-trip is safe. |
wppilot/jetengine-list-cct-recordsList JetEngine CCT Records | Page through records of a JetEngine Custom Content Type. Default limit 50, max 200. Optional where filter accepts an object of field_name→value for simple equality (ANDed across keys). orderby defaults to _ID; order accepts asc|desc. |
wppilot/jetengine-list-cctsList JetEngine CCT Types | List every JetEngine Custom Content Type (CCT) registered on the site. Each item: id (slug), name, fields_count, records_count (rows in the dedicated table), editable, source (db|php). |
wppilot/jetengine-list-meta-boxesList JetEngine Meta Boxes | List every JetEngine meta box on the site with a compact discovery shape. Each item includes id, display name, target object_type (post|tax|user|options), fields_count, an editable flag, and a source flag (db|php). PHP-registered meta boxes are read-only at runtime: source=php and editable=false. |
wppilot/jetengine-list-options-pagesList JetEngine Options Pages | List every JetEngine options page. Each item: id, name, menu_name, fields_count, editable, source (db|php). |
wppilot/jetengine-list-post-typesList JetEngine Post Types | List the Custom Post Types registered through JetEngine (the ones stored in JetEngine's own table and re-registered via register_post_type on each load - NOT every WordPress post type). Each item is a compact discovery shape: slug, label, fields_count, plus an editable flag and a source flag (always db here, since these are JetEngine-managed). Fetch the full definition with wppilot/jetengine-get-post-type. |
JetEngine writes
| Ability | What it does |
|---|---|
wppilot/jetengine-create-cctCreate JetEngine CCT | Create a new JetEngine Custom Content Type and its dedicated DB table (wp_jet_cct_<slug>). Payload mirrors the get-cct shape (without editable/source/records_count). Idempotent on identical payloads - same slug + identical payload returns existing record with created=false. Conflicting slug returns cct_slug_exists. |
wppilot/jetengine-create-cct-recordCreate JetEngine CCT Record | Insert a new record into a JetEngine CCT table. Returns the persisted record including the auto-assigned _ID. If the CCT has a key field and the supplied value collides with an existing row, returns cct_record_key_collision. Unknown field names in values return cct_invalid_field. |
wppilot/jetengine-create-meta-boxCreate JetEngine Meta Box | Create a new JetEngine meta-box record. Accepts the same shape returned by get-meta-box (id, name, args, meta_fields). Idempotent: passing the same id with an identical payload returns the existing record without side effects. A conflicting id returns meta_box_id_exists. |
wppilot/jetengine-create-options-pageCreate JetEngine Options Page | Create a JetEngine options page record. Accepts the same shape returned by get-options-page (without editable/source). Idempotent on identical payloads. Conflicting id returns options_page_id_exists. |
wppilot/jetengine-create-post-typeCreate JetEngine Post Type | Register a new Custom Post Type through JetEngine. The CPT is persisted in JetEngine's store and registered via the standard register_post_type, so it is a normal WordPress post type AND shows up in JetEngine > Post Types. Input mirrors JetEngine's own grouped shape: general_settings (requires name; slug is generated from name if omitted; custom_storage:false keeps post data in wp_posts), labels, advanced_settings (public, supports, hierarchical, has_archive, show_in_rest…), and meta_fields. A conflicting slug returns post_type_slug_exists - use jetengine-edit-post-type instead. NOTE: this creates the post-type DEFINITION. JetEngine registers post types on the WordPress init hook, so a type created here only becomes a queryable, registered WordPress post type from the NEXT request onward - calling wppilot/create-post with this slug inside the same request (for example in one batched call) fails with invalid_post_type. Create the type first, then create individual posts of it in a separate, later call. |
wppilot/jetengine-edit-cct-recordEdit JetEngine CCT Record | Update specific fields of a CCT record (field-by-field merge - only keys present in values are written, others untouched). Selector: _ID or key_field_value. Returns the full merged record. Unknown field names in values return cct_invalid_field. |
wppilot/jetengine-edit-meta-boxEdit JetEngine Meta Box | Update an existing JetEngine meta-box record. Top-level keys present in the payload are merged onto the persisted record; arrays (meta_fields, args.allowed_post_type, args.visibility_conditions) replace atomically when provided; the args object merges per-key (provide args.name to rename). PHP-registered records refuse with meta_box_not_editable. |
wppilot/jetengine-edit-options-pageEdit JetEngine Options Page | Update a JetEngine options page. Top-level keys merge; meta_fields replaces atomically when provided. PHP-registered records refuse with options_page_not_editable. |
wppilot/jetengine-edit-post-typeEdit JetEngine Post Type | Update an existing JetEngine Custom Post Type, identified by slug. Provide any of general_settings, labels, advanced_settings, meta_fields - each provided group is merged per-key over the stored definition; meta_fields, when provided, replaces the whole array. The slug itself is immutable here (changing it would require remapping existing posts). PHP-registered / built-in types that are not in JetEngine's store return post_type_not_found. |
Destructive JetEngine calls
| Ability | What it does |
|---|---|
wppilot/jetengine-delete-cctDelete JetEngine CCT | Permanently remove a JetEngine CCT and its dedicated DB table. Refuses with cct_has_content when records exist and force is not true. With force=true, drops the table along with the type definition. PHP-registered CCTs return cct_not_editable. |
wppilot/jetengine-delete-cct-recordDelete JetEngine CCT Record | Permanently remove a single CCT record. Selector: _ID or key_field_value. Returns the _ID of the deleted row. |
wppilot/jetengine-delete-meta-boxDelete JetEngine Meta Box | Permanently remove a JetEngine meta-box record by id. PHP-registered records refuse with meta_box_not_editable; edit the registering source file via wppilot/edit-file instead. |
wppilot/jetengine-delete-options-pageDelete JetEngine Options Page | Permanently remove a JetEngine options page by id. PHP-registered records refuse with options_page_not_editable. |
wppilot/jetengine-delete-post-typeDelete JetEngine Post Type | Permanently remove a JetEngine Custom Post Type DEFINITION by slug (it disappears from JetEngine > Post Types and is no longer registered). Existing posts of that type are NOT deleted by this call - they become orphaned until the type is re-registered or they are removed separately. Types not managed by JetEngine return post_type_not_found. |
wppilot/jetengine-edit-cctEdit JetEngine CCT | Update an existing JetEngine CCT. Top-level keys merge; db_field_data replaces atomically when provided. Schema-migration constraints: renaming a field (cct_field_rename_not_supported), changing its SQL type (cct_field_type_change_not_supported), or toggling is_key_field (cct_key_field_change_not_supported) are all rejected before any write. Adding or removing fields is allowed (ALTER TABLE ADD/DROP). PHP-registered CCTs return cct_not_editable. |
For the task-level view of JetEngine, with worked requests and what to check afterwards, see JetEngine integration page.