Abilities API - Ninja Forms

Abilities API

Ninja Forms 3.14.0 introduces a powerful new way to manage your forms: through conversation with an AI assistant. Instead of clicking through menus and configuring fields one by one, you can describe what you need in plain language and let your AI assistant handle the rest.

This page covers what you need to know to get started, and what Ninja Forms capabilities are available to your AI assistant.

What is the Abilities API?

WordPress 6.9 introduced the Abilities API, a new feature that lets plugins describe what they can do in a way that AI assistants can understand. Think of it as a menu of capabilities: each plugin can list its features as structured “abilities,” and AI assistants can browse that menu, understand the options, and take action on your behalf.

For Ninja Forms, this means your AI assistant can create forms, add fields, configure email notifications, manage submissions, and much more, all through natural conversation.

How It Works

Here’s the high-level picture:

  1. Ninja Forms registers abilities that describe its features (creating forms, adding fields, managing submissions, etc.)
  2. The MCP Adapter plugin acts as a bridge, making those abilities available to AI assistants through a standard protocol called MCP (Model Context Protocol)
  3. Your AI assistant connects to your WordPress site, discovers the available abilities, and uses them when you ask it to do something
  4. All requests are authenticated using a WordPress Application Password, so only authorized users can access these capabilities

Requirements

To use Ninja Forms with an AI assistant, you’ll need:

  • WordPress 6.9 or higher (the Abilities API is built into WordPress core starting with 6.9)
  • MCP Adapter plugin installed and activated on your WordPress site
  • Ninja Forms 3.14.0 or higher
  • An MCP-compatible AI assistant such as Claude Code
  • A WordPress Application Password for authenticating your AI assistant’s connection to your site

Learn More About WordPress Abilities

The Abilities API is a WordPress core feature, not specific to Ninja Forms. If you’d like to learn more about how it works at the WordPress level:

Ninja Forms Abilities

Our Approach

You don’t need to memorize ability names, learn parameters, or understand the technical details listed below. The abilities are designed to be used through natural language conversation. Just describe what you want: “Create a contact form with name, email, and message fields,” or “Show me last month’s submissions,” and your AI assistant will figure out which abilities to use and how to use them. Each ability includes comprehensive documentation built right into the plugin that your AI assistant can read and understand on its own.

If you’re curious about what’s possible, just ask your AI assistant. For example: “What can you do with Ninja Forms?” Your assistant can discover all available abilities and explain their capabilities.

Behind the scenes, every Ninja Forms ability follows one core principle: Dashboard Parity. When your AI assistant creates a form, adds a field, or configures an action, the result is identical to what you’d get by doing it manually through the Ninja Forms admin. Same defaults, same settings, same behavior. There are no shortcuts or differences; the AI assistant is doing exactly what you would do, just faster.

Beta Functionality: AI-assisted form management is a beta feature in Ninja Forms 3.14.0. We will continue developing and refining these capabilities. At this time, Abilities only support the core Ninja Forms plugin. Add-on Abilities are on our future roadmap. We welcome your feedback as you explore this new way of working with Ninja Forms.

Available Abilities

Ninja Forms registers 32 abilities organized into seven categories. Of these, 29 are active by default. The remaining 3 are disabled by default for safety reasons (see Disabled by Default below).

Forms Management

Ability Description
ninjaforms/create-form Create a new form with fields, actions, and settings
ninjaforms/get-form Retrieve a form’s complete configuration
ninjaforms/list-forms List all forms on the site with their metadata
ninjaforms/update-form Modify a form’s settings
ninjaforms/duplicate-form Clone an existing form

Field Management

Ability Description
ninjaforms/add-field Add a field to a form (supports all field types)
ninjaforms/update-field Modify a field’s settings
ninjaforms/remove-field Remove a field from a form
ninjaforms/reorder-fields Change the display order of fields on a form
ninjaforms/list-field-types List all available field types and their default settings

Action Management

Ability Description
ninjaforms/add-action Add an action to a form (email, redirect, success message, etc.)
ninjaforms/update-action Modify an action’s settings
ninjaforms/delete-action Remove an action from a form
ninjaforms/list-actions List all actions configured on a form

Calculation Management

Ability Description
ninjaforms/add-calculation Add a calculation to a form
ninjaforms/update-calculation Modify a calculation’s equation or settings
ninjaforms/delete-calculation Remove a calculation from a form
ninjaforms/list-calculations List all calculations on a form

Submission Management

Ability Description
ninjaforms/get-submissions List and search submissions with filtering options
ninjaforms/get-submission Retrieve a single submission’s details
ninjaforms/get-submission-fields Get a submission’s field values with labels
ninjaforms/export-submissions Export submissions to CSV or JSON
ninjaforms/process-submission Manually trigger actions (such as email) for a submission

Import, Export & Publishing

Ability Description
ninjaforms/import-form Import a form from a .nff template file
ninjaforms/export-form-definition Export a form to JSON or .nff format
ninjaforms/embed-form Embed a form on a post or page using a shortcode
ninjaforms/get-public-link Enable or disable a form’s shareable public link

Plugin Settings

Ability Description
ninjaforms/get-plugin-settings Retrieve global Ninja Forms settings
ninjaforms/update-plugin-settings Modify global Ninja Forms settings

Disabled by Default

Three abilities are disabled by default because they perform destructive or sensitive operations on your data:

Ability What It Does
ninjaforms/delete-form Permanently deletes a form and all its associated data
ninjaforms/update-submission Modifies data that a user submitted through a form
ninjaforms/delete-submission Permanently deletes a submission record

Why are these disabled? The Abilities API is new technology, and AI-assisted form management is a beta feature in Ninja Forms. These three abilities can permanently delete or modify potentially business-critical data, including your forms and your users’ submissions. As an additional layer of protection while this technology matures, we’ve disabled them by default to help prevent the unintentional loss of important data. Enabling them is a deliberate opt-in decision by the site administrator.

Use at your own risk: We are providing this information about the three disabled abilities in the spirit of experimentation, testing, and helping this new technology evolve. We do not recommend enabling them in a production environment at this time. Interaction with these abilities, including the creation and maintenance of any mu-plugin or other methodology to enable them, is outside our scope of official support.

How to enable them: Each ability can be enabled with a WordPress filter. Because of the order in which WordPress loads plugins and themes, these filters must be placed in a must-use plugin (not your theme’s functions.php, which loads too late for the filters to take effect).

Create a file called nf-enable-abilities.php in your wp-content/mu-plugins/ directory with the following content:

<?php
/**
 * Plugin Name: NF Enable Restricted Abilities
 * Description: Enables Ninja Forms abilities that are disabled by default.
 */

// Enable the delete-form ability
add_filter( 'ninjaforms_mcp_public_delete_form', '__return_true' );

// Enable the update-submission ability
add_filter( 'ninjaforms_mcp_public_update_submission', '__return_true' );

// Enable the delete-submission ability
add_filter( 'ninjaforms_mcp_public_delete_submission', '__return_true' );

You can include one, two, or all three filters depending on which abilities you want to enable. The change takes effect immediately. To disable an ability again, simply remove its filter line from the file.

If your AI assistant has file access to your WordPress installation, you can ask it to create this file for you.

Security and Authentication

All Ninja Forms abilities require admin-level WordPress authentication. Here’s what that means in practice:

  • Your AI assistant connects to your site using a WordPress Application Password tied to an admin user account
  • Every request is authenticated before any ability can be used; unauthenticated requests are rejected
  • Each ability includes permission checks that mirror the same capabilities required to perform the action in the WordPress admin
  • The “disabled by default” abilities described above add an additional layer: even authenticated admin users cannot use them until the site administrator explicitly enables them via filter
Note: The public flag on abilities controls whether they appear in the list of available tools your AI assistant can discover. It does not bypass authentication. Authentication is always required regardless of the public flag setting.