elementor/create-page creates a new post or page with Elementor builder mode enabled, and returns the post ID and the edit URL.
Builder mode is the part that needs doing properly.
At a glance
| Ability | elementor/create-page |
| Toolset | Elementor — toolset/elementor |
| Group | Elementor › Documents |
| Requires | Elementor, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
What “Elementor enabled” actually means
A post built with Elementor is an ordinary post with additional meta: a flag saying Elementor is the editor, a version marker, and the serialised document. Creating a post and opening Elementor on it sets those up; creating one without them produces a post the block editor claims.
That distinction matters for anything programmatic. A post created with wp_insert_post() and then written to with an Elementor document is a post with a document Elementor will not load, because the flag saying to load it was never set.
So this sets the builder mode properly at creation, which means the post is immediately writable by the rest of this suite.
The edit URL is returned because it is the useful output — a person reviewing what was created needs to open it, and constructing that URL by hand is fiddly.
Not idempotent — each call creates a post.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
title | string | Yes | The post title. |
post_type | string | No — defaults to page | Which post type to create. |
status | string | No — defaults to draft | Publication status. |
What comes back
| Name | Type | What it is |
|---|---|---|
post_id | integer | The new post. |
edit_url | string | Where to open it in the Elementor editor. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Create a new Elementor page called “Pricing”.
It resolves to one call:
{
"ability": "elementor/create-page",
"parameters": {
"title": "Pricing"
}
}Worth knowing
- Builder mode is set at creation, so the document abilities work immediately.
- A post created any other way needs the Elementor meta before it will load.
- Draft by default.
- Not idempotent.
Related abilities
- Add Elementor Container — start building
- Clone Elementor Document Data — copy a page instead of starting empty
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category