DocsDevelopers
Agent capability reference
Everything the AI agent can do, as registered capabilities — builder actions and WordPress actions — with their risk and which ones always ask first.
The AI agent can only act through capabilities: explicitly registered actions, each with a schema for its inputs, the WordPress permission it needs, a risk level (low, medium or high), and whether it must always be confirmed. Reads run freely within the signed-in person’s permissions; changes go through approval, restore points, checks and the activity log.
- Low risk runs without asking (reading, and small, local changes).
- Medium risk changes that reach many things are shown as a plan or preview first.
- High risk, and anything marked “always asks first”, waits for a click in the builder.
Your site’s Native AI → AI → Capabilities shows the list for the features that are on. Switching a feature off removes its capabilities.
Builder capabilities#
41 capabilities that work on pages, templates and the design system. They run in the builder, where their changes are previewed, applied as one undo step and saved:
| Capability | Name | Risk | What it does |
|---|---|---|---|
builder.get_page_structure | Read a page's structure | low | Outline of a document: every element with id, type, classes, text and local styles. |
builder.get_elements | Read elements | low | Exact JSON of elements: props, styles, classes, attributes, children. |
builder.find_elements | Find elements | low | Find elements in a document by text, type or class. |
builder.inspect_scope | Inspect where styles come from | low | Where an element's style values come from (local, class, theme style) and how far each place reaches. |
builder.inspect_site | Search the whole site | low | Find elements across every page, template and Global Block by type, text, value, class or pattern, and where the design system uses a value; suggests the shared level for a change. |
builder.get_element_docs | Element reference | low | Props, parts, presets and guidance of element types. |
builder.get_element_capabilities | Element capabilities | low | What each element type can do (Design Engine reference). |
builder.lint | Check a page | low | Accessibility and quality checks for a document. |
builder.validate_design | Validate a design | low | Deterministic design checks: values, tokens, contrast, phone widths, links, media. |
design.get_classes | Read classes | low | Style rules of global classes. |
design.get_tokens | Read design tokens | low | The design system's tokens with their values. |
design.get_patterns | Design patterns | low | Layout patterns and techniques the Design Engine knows. |
media.find_icons | Find icons | low | Search the icon set. |
media.get_library | Browse the Media Library | low | Images already in the Media Library. |
media.find_images | Find images | low | Search free stock photos for an image. |
templates.list | List templates | low | Every template (headers, footers, single, archive, search, 404, popups, Global Blocks) with where it applies and whether it's on. |
forms.list | List forms | low | Every native form on the loaded documents, with its fields and what happens after a submission. |
builder.inspect_layout | Measure the layout | low | Measure the rendered page in the editor: boxes, overflow, overlap, per breakpoint. |
data.run_query | Run a query | low | Run a Query Loop query on the site and see what it returns. |
data.inspect_source | Inspect a data source | low | Records and fields a data source returns (requests run in WordPress; no credentials leave it). |
forms.list_integration_options | Integration lists | low | Lists a connected integration offers for a form action (channels, lists, fields). |
builder.apply_changes | Apply changes | medium | Apply a batch of validated ops (insert, update, style, classes, move, delete, tokens, classes, documents, menus) as one undoable change. |
builder.propose_changes | Propose a broad change | medium | Show a change plan for a broad edit (many elements, pages or the design system) and apply what the user chooses, as one undoable change. |
builder.run_command | Run a builder command | medium | The editor's own commands: duplicate, move, wrap, copy or reset styles, hide or show, save or detach a Global Block. |
builder.create_element | Create an element | medium | Insert an element (with children) into a container. |
builder.update_element | Update an element | medium | Change an element's content, attributes or label. |
builder.move_element | Move an element | medium | Move an element to another container or position. |
builder.delete_element | Delete an element | medium | Delete an element and its children (undoable). |
builder.set_style | Set a style | medium | Set or remove style properties on one element at one breakpoint and selector. |
builder.set_responsive_style | Set responsive styles | medium | Set an element's styles for several breakpoints at once. |
builder.set_theme_style | Change a Theme Style | medium | Change the Theme Style of an element type (every button, heading…) — the highest shared level for a look. |
builder.set_class_style | Change a class | medium | Change a shared class's styles (everything with the class changes). |
builder.update_token | Change a design token | medium | Change a design token's value (every use changes). |
builder.create_global_block | Create a Global Block | medium | Turn an element into a reusable Global Block (it becomes an instance of the block). |
templates.create | Create a template | medium | Create a site template (header, footer, single, archive, search, 404) as a draft, with where it applies. |
templates.update_conditions | Change where a template applies | medium | Change a template's display conditions and priority. |
templates.set_enabled | Switch a template on or off | medium | Switch a template off (kept, never used) or back on. |
forms.create | Create a form | medium | Insert a native form with its fields, success state and actions. |
forms.add_action | Add a form action | medium | Add what happens after a submission (email, message, redirect, integration…) to a form. |
media.use_image | Use an image | medium | Import an image into the Media Library and place it. |
media.generate_image | Generate an image | low | Generate an image with AI (it's placed with use_image). |
WordPress capabilities#
Actions that run in WordPress, in the signed-in person’s own session:
Core (30)
| Capability | What it does | Always asks first |
|---|---|---|
site.get_info | Read site information | |
site.get_model | Read the site model | |
site.list_recent_changes | List recent changes | |
site.create_restore_point | Create a restore point | |
site.list_restore_points | List restore points | |
site.restore | Restore a restore point | Yes |
wordpress.list_post_types | List post types | |
wordpress.find_posts | Find posts | |
wordpress.get_post | Read a post | |
wordpress.create_post | Create a post | |
wordpress.update_post | Update a post | |
wordpress.trash_post | Move a post to the trash | Yes |
wordpress.restore_post | Restore a post from the trash | |
wordpress.list_taxonomies | List taxonomies | |
wordpress.list_terms | List terms | |
wordpress.list_users | List users | |
wordpress.list_plugins | List plugins | |
wordpress.list_scheduled_tasks | List scheduled tasks | |
wordpress.get_settings | Read WordPress settings | |
wordpress.list_media | Search the Media Library | |
templates.which_applies | Which template applies | |
forms.get_stats | Form statistics | |
features.list | List features | |
features.enable | Switch a feature on | Yes |
features.disable | Switch a feature off | Yes |
platform.list_jobs | List background jobs | |
platform.get_job | Read a background job | |
platform.read_log | Read the platform log | |
platform.list_notifications | List notifications | |
agent.list_activity | List AI activity |
Code Snippets (when on) (8)
| Capability | What it does | Always asks first |
|---|---|---|
snippets.list | List code snippets | |
snippets.get | Read a code snippet | |
snippets.check | Check code | |
snippets.create | Create a code snippet (as a draft) | |
snippets.update | Update a code snippet | |
snippets.enable | Activate a code snippet | Yes |
snippets.disable | Turn a code snippet off | |
snippets.trash | Move a code snippet to the trash |
Site Reports (11)
| Capability | What it does | Always asks first |
|---|---|---|
reports.get_site_status | Read the website’s status | |
reports.get_activity | Read the activity record | |
reports.get_content_changes | Read content changes | |
reports.get_update_history | Read update history | |
reports.get_errors | Read errors and failures | |
reports.get_health | Read website health checks | |
reports.generate | Generate a report | |
reports.get_latest | Read the latest report | |
reports.get_report | Read a report | |
reports.compare_periods | Compare two periods | |
reports.list_historical | List generated reports |
Analytics (when on) (28)
| Capability | What it does | Always asks first |
|---|---|---|
analytics.get_overview | Read the analytics overview | |
analytics.get_timeseries | Read analytics over time | |
analytics.get_top_pages | Read the top pages | |
analytics.get_page_performance | Read one page’s analytics | |
analytics.get_sources | Read traffic sources | |
analytics.get_devices | Read devices, browsers and systems | |
analytics.get_geography | Read visitors’ countries | |
analytics.get_events | Read events | |
analytics.get_conversions | Read conversions and goals | |
analytics.get_forms | Read form analytics | |
analytics.get_popups | Read popup analytics | |
analytics.get_404s | Read missing pages (404s) | |
analytics.get_searches | Read site searches | |
analytics.get_links | Read outbound links and downloads | |
analytics.get_content | Read content performance | |
analytics.get_realtime | Read real-time activity | |
analytics.compare_periods | Compare two periods | |
analytics.get_insights | Read analytics insights | |
analytics.list_goals | List conversion goals | |
analytics.get_settings | Read analytics settings | |
analytics.create_goal | Create a conversion goal | |
analytics.update_goal | Change a conversion goal | |
analytics.delete_goal | Delete a conversion goal | Yes |
analytics.restore_goal | Restore a deleted goal | |
analytics.set_tracking | Pause or resume tracking | Yes |
analytics.set_retention | Change how long analytics data is kept | Yes |
analytics.update_settings | Change analytics settings | Yes |
analytics.reset_data | Delete all analytics data | Yes |
Adding capabilities#
Plugins and add-ons can register their own capabilities on the nativeai_agent_capabilities action, with the same schema, permission, risk and confirmation rules. The agent discovers them without any change on the AI side.
Related articles
On the features pages
Still have a question? Email us at support.