What flow assignment does
When a product has a flow assigned, the plugin:- Replaces the standard WooCommerce product page with a custom landing page template driven by that flow
- Injects the form configured in the Form Builder for this product
- Activates the pricing rules, API validation hooks, and eligibility checks defined by the flow
- Makes the product available for form config management in the Form Builder tab
You can assign the same flow to multiple products. This is useful when you offer several variants of the same service type — for example, multiple CEP program products that all use the
utb_cep_programs flow.Available flows
The plugin ships with two production-ready flows:| Flow name | Flow ID | Use case |
|---|---|---|
| CEP Programs | utb_cep_programs | Continuing Education enrollment with student discount validation via Banner/Iceberg |
| Academic Certificates | certificados_academicos | Certificate requests with matrix pricing by academic level and document type |
Navigating to flow assignment
In the WordPress admin sidebar, click UTB Builder, then click Asignar Flujos. The page lists all WooCommerce products (published and draft), with columns for:| Column | Description |
|---|---|
| ID | The WooCommerce product post ID |
| Producto | Product name, linked to its edit page |
| SKU | Product SKU, or — if none is set |
| Flujo Asignado | Dropdown to select the flow |
| Estado | Badge showing whether a flow is configured |
Assigning a flow to a product
Find the product
Locate the product in the table. Products are ordered by creation date, most recent first.
Select a flow
In the Flujo Asignado column for that product, open the dropdown and select the appropriate flow.
- Select Flujo de Programas CEP for Continuing Education enrollment products.
- Select Flujo de Certificados Académicos for academic certificate request products.
- Leave it as — Sin flujo (estándar) — to keep standard WooCommerce behavior.
What happens after assignment
Once a flow is assigned and saved:- Landing page injection — The flow’s frontend template overrides the product page, replacing the default WooCommerce single-product view with the flow’s custom layout.
- Form injection — The Form Builder configuration saved for this product (
_utb_form_configpost meta) is rendered inside the landing page. - Pricing and validation — The flow’s pricing rules and API validation hooks become active for this product.
- Form Builder access — The product’s UTB Product Builder > Form Builder tab becomes active and reflects the assigned flow’s default field schema if no custom config has been saved yet.
Removing a flow assignment
Set the flow to none
In the Flujo Asignado dropdown for the product, select — Sin flujo (estándar) —.
Where assignments are stored
Flow assignments are persisted byFlowRegistry::save_assignments() in the wp_utb_form_configs database table. Each row links a product_id to a flow_id. The registry loads all assignments at once via FlowRegistry::load_assignments() on plugins_loaded and caches them in memory for the duration of the request.
Assignments are stored in
wp_utb_form_configs, not in WordPress post meta. Do not look for an _utb_assigned_flow meta key — it does not exist.