Support / Royal MCP Pro / FormForge Pro Operations

FormForge Pro Operations

Complete reference for the 7 FormForge Pro Operations tools in Royal MCP Pro. Read individual entries and per-form analytics, paginated bulk entry export, bulk delete entries with 72-hour undo, form duplication, spin up new forms from templates, and re-fire email notifications for a batch of entries. Preview before every destructive write.

FormForge Pro required

All seven tools on this page wrap the paid FormForge Pro plugin. FormForge Pro must be installed and active on the site — the free FormForge plugin doesn't include the underlying analytics API, template system, or bulk-notification hooks these tools call into. Tools return a clean formforge_pro_not_active error envelope when FormForge Pro is missing — no partial state is written. Not to be confused with Royal MCP Pro, which is what gates every tool on this page in the first place.

Prerequisites

  • FormForge Pro installed and active (see the plugin page at royalplugins.com/formforge)
  • Royal MCP Pro installed and licensed (see Getting Started)
  • MCP client connected to your site (Claude Desktop, ChatGPT connector, Cursor, or any MCP-compatible client)
  • Your MCP-connecting WordPress user needs manage_options for form CRUD and bulk operations, or edit_posts for entry reads (see capability model)

Tools that reference a form or entry by ID refuse when the target can't be resolved and return form_not_found or entry_not_found. Nothing is partially written on a resolution failure.

Capability model

FormForge Pro Operations tools use two capability tiers matching the two kinds of work they do:

  • edit_posts — entry reads (formforge_get_entry, formforge_get_analytics) and paginated bulk export. Reading entries is a content-editor-scoped operation, not a site-admin one.
  • manage_options — bulk delete, bulk resend notifications, duplicate form, create from template. Anything that changes site-wide form configuration or dispatches emails requires administrator.

Every tool falls back to manage_options if the scoped capability is missing. If your MCP-connecting user is an administrator this is all transparent.

Shared safety layer

Every FormForge Pro write tool runs through the same safety layer used across Royal MCP Pro's write surface, with a couple of FormForge-specific patterns:

  • Cap checks. Every tool checks the appropriate scoped cap first (edit_posts for reads, manage_options for writes and email dispatches). Fails-first with insufficient_caps if the caller doesn't have it — no partial writes.
  • Form + entry resolution. Tools that reference a form or entry by ID resolve against FormForge's own registry first and refuse with form_not_found / entry_not_found if the target doesn't exist. No silent creation.
  • Confirm tokens on bulk delete. formforge_bulk_delete_entries is two-step by design: call once with the entry ID set to get a five-minute confirm token plus a preview count; call again with the token to persist. Prevents accidental fat-finger deletes.
  • 72-hour undo tokens on destructive writes. formforge_bulk_delete_entries and formforge_duplicate (undo-able direction) return an undo token good for 72 hours. Undo on delete restores every deleted entry with its exact prior payload; undo on duplicate deletes the created form.
  • No undo on email dispatches. formforge_bulk_resend_notifications returns undo_token: "NO_UNDO_SCOPE" — emails already left the box. Preview machinery on the read step lets you eyeball the recipient set before firing.
  • Audit Log row on every call. Success, error, and undone states all produce audit rows.

The 7 tools

Grouped by write shape. Two read tools (entry data + analytics) require the edit_posts capability; three bulk operations and two form-creation tools require manage_options.

Entry reads (2)

Side-effect-free. edit_posts capability required.

formforge_get_entry

Fetch a single form submission by entry ID. Returns the entry's field values, submission timestamp, submitter IP (if capture is enabled on the form), user agent, referrer, and any per-entry metadata FormForge Pro captured (e.g. UTM parameters, custom hidden fields).

Cap

edit_posts

Arguments

NameTypeDescription
entry_id requiredintegerThe FormForge entry ID.
include_metabooleanInclude per-entry metadata (UTM, referrer, custom hidden fields). Default true.

Example prompt

Show me the full details of FormForge entry 4287, including any UTM parameters captured on submission.

Read-only.

formforge_get_analytics

Per-form submission analytics over a date range: total submissions, conversion rate (submissions / page views if tracking is enabled), abandonment rate at each field, average time-to-submit, top referrer sources, top UTM sources, and per-field completion rates.

Cap

edit_posts

Arguments

NameTypeDescription
form_id requiredintegerThe FormForge form ID.
date_fromstringISO 8601 date lower bound. Default: last 30 days.
date_tostringISO 8601 date upper bound. Default: today.
include_field_breakdownbooleanInclude per-field completion + abandonment rates. Default true.

Example prompt

Show me the analytics for form 12 over the last 14 days, including field-level completion rates.

Read-only.

Bulk operations (3)

Bulk export is read-only. Bulk delete is a two-step confirm flow with a 72-hour undo. Bulk resend notifications dispatches emails — no undo scope.

formforge_bulk_export_entries

Paginated bulk export of form entries as JSON. Cap 500 entries per call. Response contains a page cursor for the next batch. Supports the same filter set as the FormForge admin entries view.

Cap

edit_posts

Arguments

NameTypeDescription
form_id requiredintegerThe FormForge form ID.
statusstringOne of completed / partial / spam / trashed. Default completed.
date_fromstringISO 8601 date lower bound.
date_tostringISO 8601 date upper bound.
searchstringLIKE match against entry field values.
paginateobject{page, per_page}. Defaults page 1, per_page 100, max 500.

Example prompt

Export the last 30 days of completed submissions from form 12, 200 per page, ordered by submission date descending.

Read-only.

formforge_bulk_delete_entries

Bulk-delete form entries. Two-step confirm: call 1 returns a five-minute confirm_token plus the exact list of entry IDs that would be deleted; call 2 passes the token back and commits. Deleted entries are captured in the undo payload so the 72-hour undo can restore every one with its exact prior field values and metadata.

Cap

manage_options

Arguments

NameTypeDescription
entry_ids requiredinteger[]Explicit list of entry IDs to delete. Cap 500 per call.
confirm_tokenstringRequired for step 2. One-shot — consumed on commit to prevent double-deletes.

Example prompt

Delete FormForge entries 4200 through 4285 (the test submissions I made while setting up the form).

Undo: 72h token — restores every deleted entry with its exact prior field values, submission timestamp, and metadata.

formforge_bulk_resend_notifications

Re-fire the email notification hooks for a batch of already-submitted entries. Useful when a notification failed on original submission (SMTP outage, misconfigured recipient) and you need to send it now without re-triggering downstream integrations. Wraps FormForge Pro's own send_notifications() so it respects every notification rule, template, and conditional logic configured on the form.

Cap

manage_options

Arguments

NameTypeDescription
entry_ids requiredinteger[]Explicit list of entry IDs whose notifications should be re-sent. Cap 500 per call.
notification_idsinteger[]Optional. Restrict to specific notification IDs configured on the form. Omit to fire every notification for each entry.

Example prompt

Re-fire the admin notification email for entries 4287 through 4295 (they were submitted while my SMTP provider was down).

NO UNDO. Emails already left the box. Per-entry send outcomes are legible in the response (sent / skipped / failed with reason).

Form creation shortcuts (2)

Both tools create a new FormForge form. Duplicate copies an existing form (including notification config, field logic, and styling); create-from-template spins up a new form from a FormForge Pro template.

formforge_duplicate

Duplicate an existing form by ID. Copies every field, notification rule, conditional logic branch, styling override, and post-submit action. The clone starts with a fresh entry table — existing submissions are NOT copied.

Cap

manage_options

Arguments

NameTypeDescription
source_form_id requiredintegerThe form ID to duplicate.
new_title requiredstringTitle for the cloned form.
copy_notificationsbooleanWhether to copy notification config. Default true.
copy_confirmationsbooleanWhether to copy post-submit confirmation messages/redirects. Default true.

Example prompt

Duplicate form 12 ("Contact Us") as "Contact Us — Landing Page Version" with notifications and confirmations copied.

Undo: 72h token — deletes the cloned form. Original form is untouched.

formforge_create_from_template

Spin up a new form from a FormForge Pro template. Templates ship with pre-configured field structure, notification defaults, and confirmation messages tuned for common use cases (contact, quote request, event registration, feedback survey, lead capture, etc.).

Cap

manage_options

Arguments

NameTypeDescription
template_slug requiredstringTemplate identifier. Use the FormForge admin to list available templates.
new_title requiredstringTitle for the created form.
notification_emailstringOverride the default admin notification recipient. Defaults to the site admin email.
confirmation_messagestringOverride the template's default post-submit confirmation message.

Example prompt

Create a new form titled "2026 Customer Feedback" from the "customer-satisfaction-survey" template, sending notifications to feedback@example.com.

Undo: 72h token — deletes the created form.

Still Stuck? Two-Step Support Path

If a FormForge Pro tool isn't behaving the way you expected, work through these two steps in order — most tool-level failures resolve at Step 1 because they're actually MCP-connection, host-layer, or FormForge-Pro-availability issues, not FormForge Pro Operations specific.

Step 1: Start with the Royal MCP Troubleshooting Guide

Royal MCP Troubleshooting — Start Here covers MCP-layer issues. If Claude can't reach your site at all, the tool call never fires — that guide is where to start.

For Pro-specific patterns:

For FormForge Pro-specific patterns:

  • formforge_pro_not_active. Every tool on this page requires FormForge Pro. The free FormForge plugin doesn't include the analytics API, template system, or bulk-notification hooks these tools wrap. Install FormForge Pro from royalplugins.com/formforge to unlock.
  • form_not_found / entry_not_found. The tool couldn't resolve the target by ID. Confirm the form or entry ID via the FormForge admin (WP Admin → FormForge → Forms or → Entries) before re-calling.
  • confirm_token_invalid on formforge_bulk_delete_entries. Confirm tokens are one-shot with a 5-minute TTL. If the token expired or was already consumed, re-run step 1 with the entry ID list to get a fresh token.
  • batch_too_large. Every bulk tool caps at 500 entries per call. Narrow the filter or split the batch and re-call.
  • Notifications not firing on formforge_bulk_resend_notifications. The tool wraps FormForge Pro's own send_notifications() path, so if notifications aren't firing when you re-fire them here, the underlying cause is the same as when they don't fire on original submission — usually SMTP config. Check WP Admin → FormForge → Settings → Email Log, then Royal SMTP (or your SMTP plugin) admin dashboard.

Step 2: Email priority support

If you've worked through Start Here and the relevant Pro-specific doc and the issue still isn't resolved, email priority support from your purchase email address at support@royalplugins.com. Priority email support is included with your license — typical response within 24 hours. Never include your license key in email; we look it up from your purchase address.

What to include in your email
  • Your hosting provider (SiteGround, Cloudways, Hostinger, Kinsta, WP Engine, Liquid Web, self-hosted VPS, etc.)
  • Royal MCP Pro version from WP Admin → Plugins
  • FormForge Pro version from WP Admin → Plugins
  • Active caching plugins (LiteSpeed Cache, WP Rocket, W3 Total Cache, SpeedyCache, Hummingbird, none)
  • Active security plugins (Wordfence, Defender Pro, Solid Security, NinjaFirewall, none)
  • Active SMTP plugin (Royal SMTP, WP Mail SMTP, Fluent SMTP, none) — only relevant for notification issues
  • Cloudflare or CDN in front of the site? If yes, is “Manage AI Bots” or “Bot Fight Mode” on?
  • Which MCP client — claude.ai web custom connector, Claude Desktop with mcp-remote, ChatGPT MCP, Cursor, or another MCP-compatible client
  • The exact FormForge tool name and args you called (e.g. formforge_bulk_delete_entries with entry_ids: [4200, 4201, 4202])
  • The exact error message returned (from the MCP client's chat surface), plus any ofid_xxxxx reference code if claude.ai shows one
  • Screenshot of the most recent Pro tool row in Audit Log with View Details expanded — or confirmation that the log is empty after a reproduced failure
  • The target form ID and a screenshot of that form in the FormForge admin — so we can visually confirm the state we're operating against