Integrations

WordPress

Content management, user administration, and plugin control

The WordPress connector provides 82 actions for managing posts, pages, users, plugins, and site settings via the WordPress REST API.

Setup

There are two ways to connect a WordPress site. Pick whichever fits your situation:

MethodWhen to usePermissions scope
Keva Connector plugin (recommended)Client sites where you want audit trails and the ability to revoke from WP admin without disturbing a user accountScoped to the plugin's own REST endpoints — posts, pages, ACF only
Application Passwords (no plugin)Sites you fully own and want zero install frictionInherits the WP user's full role (use a dedicated editor/admin account)
  1. Download the plugin: keva-connector-latest.zip (~12 KB, GPLv2)
  2. In WordPress admin, go to Plugins → Add New → Upload Plugin and select the zip
  3. Click Install Now, then Activate Plugin
  4. WordPress shows the connector token once on activation — copy it now (it's not shown again)
  5. In Keva, go to Settings → Integrations → WordPress Sites → Add WordPress Site
  6. Paste the site URL and the connector token

If you ever miss the token: in WordPress admin, Settings → Keva Connector → Regenerate Token. The old token is invalidated immediately.

Optional hardening (per-site, in wp-config.php)

// Only accept connections from Keva's egress IPs.
// IPv4 exact or CIDR. Contact support@keva.support for current IPs —
// they're per-deployment, not a published list.
define( 'KEVA_CONNECTOR_ALLOWED_IPS', [ '203.0.113.0/24' ] );
 
// Only enable if WordPress sits behind a reverse proxy that strips
// client-set X-Forwarded-For headers and sets its own.
define( 'KEVA_CONNECTOR_TRUST_FORWARDED_FOR', true );

Method 2: Application Passwords (no plugin)

  1. Go to Settings → Integrations → Platform Connectors → Add Platform in Keva
  2. Pick WordPress, enter your site URL
  3. In WordPress admin, go to Users → Your Profile → Application Passwords
  4. Generate a new password named "Keva", copy it (spaces are OK)
  5. Enter the WordPress username + application password into Keva

Requirements

  • WordPress 6.0+ for the plugin path (5.6+ for Application Passwords)
  • REST API enabled (default in all modern WP installs)
  • HTTPS in production — the plugin enforces this automatically; the Application Password path is also HTTPS-only by Keva policy
  • Tested up to WordPress 7.0 with PHP 8.4

Available Actions (82)

Posts & Pages

ActionDescription
List postsGet all published posts
Get postSingle post details
Create postPublish new content
Update postEdit existing post
Delete postRemove a post
List pagesGet all pages
Update pageEdit page content

Users

ActionDescription
List usersGet all site users
Get userUser profile details
Create userAdd new user account
Update userEdit user info
Reset passwordSend password reset
Delete userRemove user account

Media

ActionDescription
List mediaGet media library
Get mediaFile details
Upload mediaAdd new file
Delete mediaRemove file

Plugins & Themes

ActionDescription
List pluginsGet installed plugins
Activate pluginEnable a plugin
Deactivate pluginDisable a plugin
Update pluginInstall plugin update
List themesGet installed themes
Activate themeSwitch active theme

Comments

ActionDescription
List commentsGet all comments
Approve commentMark as approved
Spam commentMark as spam
Delete commentRemove comment

Use Cases

Content Request

Customer: "Can you update the pricing on our services page?"

AI:
1. Calls list_pages() to find Services
2. Calls get_page(123) for current content
3. Reports current pricing text
4. Updates if customer confirms changes

User Access

Customer: "John left the company, remove his access"

AI:
1. Calls list_users() to find John
2. Confirms user: john@company.com
3. Calls delete_user(45)
4. Reports: "User removed successfully"

Plugin Issue

Customer: "Site is showing errors after plugin update"

AI:
1. Calls list_plugins() for recently updated
2. Identifies problematic plugin
3. Calls deactivate_plugin(plugin-slug)
4. Reports: "Disabled Contact Form 7"

Configuration

  • Site URL: Your WordPress installation URL
  • Content write: Enable/disable post/page editing
  • User management: Enable/disable user operations
  • Plugin control: Enable/disable plugin activation
  • Media upload: Allow media library access