Gravity Flow 3.1.1 fixes editable field lists that could include sections, page breaks, and HTML fields. Those controls organize a form but do not hold an editable value. An old workflow step can still contain a saved field ID, a copied conditional route, or cached editor state that points to a control no user can complete.
Use this when a User Input, Approval, Notification, or custom Gravity Flow step was created before the update, copied between forms, imported, or edited by several administrators.
Quick answer
Inventory every step that exposes an editable-field list or conditional route. Record the field ID, type, saved rule, assignee, and current editor output. Update to 3.1.1 on staging, open and save each step, then run entries through all branches. Sections, page breaks, and HTML controls must be absent from new choices, existing invalid references must be reported or removed deliberately, and valid inputs must retain their values and routing behavior.
Test scenarios to run
Run the same controlled fixture across these branches. Write down the expected result before testing so a surprising response is easy to identify.
| Scenario | Fixture | Expected result |
| New step | Section and HTML fields | Not offered as editable |
| Legacy step | Stored page-break ID | Flagged or removed safely |
| Valid input | Address and text fields | Values and route preserved |
| Imported form | Remapped field IDs | No impossible assignment |
Diagnostic table
Use this table to connect the observed behavior to evidence and a verification step.
| Action | Evidence | Verification |
| Export form and workflow evidence | Export the form and workflow, then list every field ID, field type, editable-step assignment, conditional rule, and assignee before opening the editor. | Sections, page breaks, and HTML fields do not appear in editable or conditional field choices. |
| Inventory field types and saved IDs | Compare a text field, Address field, section, page break, HTML field, hidden field, and custom display-only field in each editable list. | Existing valid field IDs and values survive step edits, imports, and workflow execution. |
| Update Gravity Flow on staging | Test a legacy route that already stores a display-only field ID, a duplicated step, an imported form, and a step saved by a lower-privilege workflow manager. | Invalid legacy references cannot create a stalled step, blank input, warning, or wrong assignee. |
| Repair only invalid references | Run entries through every branch and compare step history, assignee, editable controls, notification recipient, completion state, and entry values. | Workflow history records the intended branch and owner for each synthetic entry. |
What to check first
- Export the form and workflow, then list every field ID, field type, editable-step assignment, conditional rule, and assignee before opening the editor.
- Compare a text field, Address field, section, page break, HTML field, hidden field, and custom display-only field in each editable list.
- Test a legacy route that already stores a display-only field ID, a duplicated step, an imported form, and a step saved by a lower-privilege workflow manager.
- Run entries through every branch and compare step history, assignee, editable controls, notification recipient, completion state, and entry values.
- Clear admin asset caches and repeat in Firefox and Chrome so a stale duplicate routing interface cannot hide the corrected list.
Field notes
- Write the pass condition before changing anything. A repeatable synthetic fixture makes the before and after comparison useful.
- Keep exact versions and UTC timestamps because scheduled jobs, caches, retries, and background processing can change the evidence.
- Check the public experience and the stored server-side result. Admin previews and isolated API calls do not prove the whole workflow.
- Repeat the test after the relevant cache, queue, scheduled action, webhook, and observation window has finished.
Useful command or data shape
Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.
workflow_field_audit:
form_id: 42
step_id: user-input-3
field_id: 18
field_type: section
editable_listed: false
runtime_value_written: false
Why this usually happens
- A generic field iterator checks visibility but not whether the field can store user input.
- A copied workflow retains an old field ID after the form structure changes.
- Conditional routing and editable fields use separate lists with different exclusion rules.
- Cached admin JavaScript displays a choice removed by the updated server response.
Decision rule
Approve the update when display-only fields are absent from every editable list, legacy references are handled explicitly, and valid fields, assignees, history, and branch outcomes remain unchanged.
Production verification checklist
- Sections, page breaks, and HTML fields do not appear in editable or conditional field choices.
- Existing valid field IDs and values survive step edits, imports, and workflow execution.
- Invalid legacy references cannot create a stalled step, blank input, warning, or wrong assignee.
- Workflow history records the intended branch and owner for each synthetic entry.
Safe fix order
Use a sequence that makes each result easy to prove. Stop when new evidence changes the scope or owner of the problem.
- Export form and workflow evidence
- Inventory field types and saved IDs
- Update Gravity Flow on staging
- Repair only invalid references
- Run every routing branch
Mistakes to avoid
- Changing production before recording exact versions, UTC time, the affected fixture, current behavior, and a tested rollback point.
- Accepting one successful admin screen while the stored record, API response, queue, email, browser, or downstream system remains unchecked.
- Testing only as an administrator instead of the role, browser, locale, network state, catalog size, and failure path a real user reaches.
- Leaving broad credentials, debug logs, temporary filters, synthetic records, or recovery code active after verification.
Questions teams ask during testing
Should I test this on production?
Use production for read-only evidence first. Reproduce the change on staging with current data, extensions, cache, browser mix, and integration settings. If a production canary is necessary, make it reversible, identifiable, monitored, and unable to charge a customer or expose personal data.
How do I rule out a cache artifact?
Record the origin response, purge only affected paths, and repeat in private and normal sessions. Compare stored data and server logs with the visible page. A cache hit is useful evidence only when you know which version and settings it contains.
What belongs in the evidence packet?
Keep UTC time, exact versions, fixture ID, role, browser, expected result, actual result, relevant response or log lines, change made, rollback point, owner, and final verification. Redact passwords, tokens, personal data, and private URLs.
When is the test complete?
Close it when the main path and important failure branches pass, records reconcile across systems, accessibility and mobile checks are complete, temporary changes are removed, and monitoring covers the next update or business cycle.
What to tell the client or owner
Give the owner a short packet with the affected workflow, exact versions, UTC test time, fixture ID, expected result, actual result, key evidence, change made, rollback point, unresolved risk, owner, and next review date. Remove credentials and personal data before sharing it.
When HandL WP should help
Bring in help when this affects leads, checkout, search visibility, security, paid media reporting, or a client production site. HandL WP can trace the issue through WordPress, hosting, cache, tracking, and Search Console, then verify the workflow after the technical fix.
If this is active on a production site, have HandL WP test a Gravity Flow workflow.
Related HandL WP guides
Use these related guides when the same issue touches tracking, security, checkout, or crawler visibility.
Related fixes to check next
Gravity Flow Empty Multi-User Field PHP Error: Fix and Test: An empty assignee value needs a deliberate workflow outcome. Confirm the PHP fix and the business routing rule independently.
Gravity Flow Shows Duplicate Email Routing Controls in Firefox: Two routing editors can make it unclear which rule will be saved. Preserve the configuration and verify recipients after the display fix.
Helpful references