Gravity Forms Migration Guide
Gravity Forms Migration Guide
Use this guide when moving a WordPress Gravity Forms form into BuoyForms. The most accurate path is the Gravity Forms JSON export because it carries the full form definition without relying on a rendered page.
Recommended Path: JSON Export
- In WordPress admin, open Forms > Import/Export.
- Choose Export Forms.
- Select the form and download the JSON export file.
- In BuoyForms, open Forms, choose New Form, then choose the migration flow.
- Select From JSON Export and upload the Gravity Forms file.
- Review the extracted fields, pages, warnings, and theme recommendation before creating the draft form.
Keep the imported form in draft until the review checklist passes.
What Carries Over
| Source item | BuoyForms result | Notes |
|---|---|---|
| Form title, description, and submit button text | Form name, description, and submit label | JSON export path preserves these directly. |
| Text, email, phone, number, textarea, date, time, website | Matching or closest BuoyForms field | Website imports as text in the current transformer. |
| Name with one explicit Simple input | Name in Full name mode | The respondent's full value remains intact and is not split automatically. |
| Name with exactly visible First and Last inputs | Name in First and last mode | Hidden prefix, middle, and suffix inputs do not prevent a safe Split import. |
| Ambiguous or incomplete Name compound | Ordinary Text Input | A visible prefix, middle, suffix, unknown part, or missing First/Last part is not guessed. |
| Select, radio, checkbox | Selection fields with options | Choice labels are cleaned from HTML. |
| Image choices | Card-style options with image URL and alt text when present | Gravity Forms internal option ids are replaced with readable labels when needed. |
| File upload | File upload field | Recheck file limits after import. |
| HTML headings and sections | Heading fields and page titles | Heading text becomes a reviewable structure marker. |
| Page breaks | Multi-page form structure | Next and previous button labels are captured for review. |
| Survey fields | Likert, rating, select, radio, checkbox, text, or textarea | Multi-row Likert surveys become Likert-scale fields. |
| Required fields and common validation values | Required state and validation rules | Review any custom validation messages manually. |
| Confirmations and notifications | Migration metadata for review | They are not automatically recreated as live workflow rules. |
Only unambiguous Gravity Forms Name structures become the native Name field. This keeps migration conservative: if the source does not clearly identify either one Full-name input or exactly First and Last inputs, BuoyForms creates an ordinary Text Input for author review instead of inventing a structure.
Conditional Logic
Gravity Forms URL extraction has a dedicated conditional-logic detector for common show/hide rules. The JSON export parser currently preserves hidden fields that have conditional logic, but it does not recreate every Gravity Forms rule from the export. Treat imported logic as a review item: open the builder, inspect each conditional field, and test each branch in Preview before publishing.
Theme Carryover
The JSON export path does not carry visual theme tokens. URL extraction can read visible wrapper colors, font family, background color, text color, and submit button styling from the rendered form when those styles are available. The migration wizard then recommends a BuoyForms preset and lets you tune the theme before import.
Review Checklist
- Confirm the field count against the Gravity Forms export.
- Confirm hidden fields are intentional and not missing visible questions.
- Confirm every imported Name field uses the expected Full name or First and last mode.
- Review each page title and page break.
- Test conditional branches in Preview.
- Rebuild notifications, confirmations, redirects, and integrations in BuoyForms.
- Publish only after the imported draft matches the source form behavior that respondents depend on.