CommercePro
FunnelKit MCP for funnel structure, results and step edits
A FunnelKit funnel is spread across a funnel table, a post for every step and a conversion log, which makes it awkward to answer simple questions from wp-admin alone. The FunnelKit MCP abilities in GoBuildWP Pro read all three together: which steps a funnel has and which builder draws each page, what each step brought in over a date range, and a careful way to rename or publish one step.
How did the webinar funnel do in September, and can you retitle its thank-you step to "You're in" without changing the URL?
wppilot/funnelkit-list-funnelsReadFinds the webinar funnel and lists its steps in order with type, status, URL and builder.
wppilot/funnelkit-funnel-statsReadFrom 2026-09-01 to 2026-09-30: optins and orders per step, order revenue, plus bump and upsell revenue.
wppilot/funnelkit-get-funnelReadReturns the thank-you step's step_id and whether this funnel is the store checkout.
wppilot/funnelkit-update-stepWriteSets the new title only; the slug stays because none was passed. The result re-reads the post and sets verified.
- Edition
- Pro
- Abilities
- 4
- Requires
- WordPress 6.9+, PHP 8.0+
Data model
Funnel rows, step posts and a conversion log
Funnel Builder keeps each funnel as a row in its bwf_funnels table, with the step list stored as JSON and funnel settings in bwf_funnelmeta. Every step is a post of its own type: wffn_landing for sales pages, wffn_optin and wffn_oty for optins and their confirmations, wfacp_checkout for checkouts and wffn_ty for thank-you pages. One funnel can be flagged in the _bwf_global_funnel option as the store checkout, replacing WooCommerce's checkout for the whole shop.
Results come from bwf_conversion_tracking, where the free plugin records optins and orders with the order value, order-bump total and upsell total. Only counts and sums are read out; the contact, UTM and referrer columns stay in the database. Timestamps are stored in site time, so the date range is read in the site's timezone.
FunnelKit creates its funnel table on the first wp-admin visit after activation. Before that, the list is empty even if the plugin is active.
Abilities
FunnelKit abilities by effect
Inspect3
Create and change1
Destructive0
None.
Reference: /docs/reference/funnelkit
Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Read example: wppilot/funnelkit-get-funnel
Discover this ability and its live schema first. The input below illustrates a bounded read from the source declaration; replace the example ID or name with an object returned by your site. It is not a recorded execution result.
| Parameter | Type and meaning |
|---|---|
funnel_id required | integer, at least 1 |
{
"funnel_id": 42
}Input and output schema from the plugin source
1 input field. Required: funnel_id. Optional parameters can affect response size and object selection.
{
"input": {
"type": "object",
"properties": {
"funnel_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"funnel_id"
],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"funnel_id": {
"type": "integer"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"is_store_checkout": {
"type": "boolean"
},
"date_added": {
"type": "string"
},
"last_updated": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"has_native_checkout_only": {
"type": [
"boolean",
"null"
]
},
"tracking": {
"type": "object"
},
"steps": {
"type": "array",
"items": {
"type": "object"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
}Source: wppilot-pro/includes/kits/funnelkit/src/abilities/get-funnel.php
A successful read should identify the requested object and expose the structure described by the output schema. Compare it with the native editor before proposing a change. Troubleshoot missing or refused operations.
Worked example
Checking a funnel and tidying one step
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
You get September's counts per step and a renamed thank-you page at the same address. The rename can be rolled back, which restores title, slug and status; the funnel's own last-updated time keeps showing the edit.
Treat statistics as FunnelKit-record totals. Read the reported timezone, currency and refund treatment before interpreting them; do not treat them as accounting reconciliation. Verify the thank-you route and status after the content change.
funnelkit-list-funnelsFinds the webinar funnel and lists its steps in order with type, status, URL and builder.
funnelkit-funnel-statsFrom 2026-09-01 to 2026-09-30: optins and orders per step, order revenue, plus bump and upsell revenue.
funnelkit-get-funnelReturns the thank-you step's step_id and whether this funnel is the store checkout.
funnelkit-update-stepSets the new title only; the slug stays because none was passed. The result re-reads the post and sets verified.
Limits
What the stats and edits leave out
- Page views are not recorded by the free Funnel Builder, so there are no visit counts and no conversion rates to report.
- Drafting a published step makes visitors skip it; changing a slug moves the page and breaks old links. A slug that is already taken gets a suffix from WordPress, reported as a mismatch.
- The step toggle event FunnelKit fires from its own editor is not fired here, because its listeners expect FunnelKit's REST request.
- Page content, checkout fields, order bumps and upsell offers are not edited by these abilities.
Other plugins
Builders, WooCommerce and FunnelKit's other plugins
- FunnelKit lets each step page be built with Elementor, Divi, Oxygen, Gutenberg or Bricks. The step's builder field says which, and that builder's abilities are the way to change the page itself.
- Revenue figures come from FunnelKit's own records, not from WooCommerce reports, so the two can differ; the WooCommerce sales abilities answer store-wide questions.
- FunnelKit Automations is not read or written.
FunnelKit reviews and changes
A monthly FunnelKit review an agent can run
The FunnelKit question owners ask most is not about one funnel but about all of them: which earned money last month, which offers pull their weight, and which steps people never reach. funnelkit-list-funnels gives every funnel with its steps in order, and funnelkit-funnel-stats returns optins, orders and revenue per step for any two calendar dates in the site's timezone, with order-bump and upsell revenue reported separately. Running stats for this month and the same span last month, funnel by funnel, produces a comparison table without opening a single report screen.
Read the split carefully. Bump revenue that is close to zero across many orders suggests the bump offer is not landing; upsell revenue concentrated in one funnel suggests its offer could be reused elsewhere. A step with optins but no orders after it points at the next page, not at traffic. None of this is a conversion rate, because the free Funnel Builder records no page views, so pair it with the site's analytics when the question is how many visitors saw a step.
- FunnelKit's revenue is its own record; woocommerce-sales-report answers the store-wide question and the two can differ.
- A funnel with no recent rows may still be live; check step status and URLs before calling it dead.
- The stats themselves carry no names, emails or UTM data, only counts and sums per step. Revenue figures and anything the agent adds to its write-up from other sources may still be confidential, so read the review before sharing it outside the business.
Treat the store-checkout funnel as production checkout
One funnel can be flagged as the store checkout, and then it replaces WooCommerce's checkout for every order in the shop. funnelkit-get-funnel and the list both report is_store_checkout, and the agent should check it before any step change. Drafting a step in that funnel changes where every paying customer goes next, and changing a slug there moves a page every customer passes through.
For that funnel, prefer title changes, which leave the URL alone, and schedule anything else for a quiet period with a test order straight afterwards. If the result is wrong, rollback-change restores the step's title, slug and status. It does not undo anything a customer did in between, which is the reason to keep the window short.
Editing what a FunnelKit step page says
The step editor here changes a page's name, address and status, not its content. For copy, images and layout, the step's builder field says which tool drew the page, such as Elementor, Bricks, Divi or the block editor, and the agent switches to that builder's abilities with the step's page id. Checkout fields, bump offers and upsell offers are FunnelKit settings rather than page content, so they stay in FunnelKit's own screens.
Questions
FunnelKit questions
Can an AI client see FunnelKit conversion rates?
Not from the free plugin: it records optins and orders but not page views, so a rate would be a guess. The stats return counts and revenue only.
Will renaming a FunnelKit step change its URL?
Not here. FunnelKit's own editor rewrites the slug from a new title; this ability changes the slug only when a new slug is passed.
Can the agent redesign a FunnelKit checkout page?
Not through these abilities. Read the step's builder from get-funnel and use that builder's abilities for the page.
Why does the funnel list come back empty after installing FunnelKit?
FunnelKit creates its funnel table the first time someone loads wp-admin after activation. Visit the admin once, then list again.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
FunnelKit is a separate product; no partnership or endorsement is implied.