EntryPort for Gravity Forms

Description

Import Gravity Forms entries from CSV or Excel files in the Exportly for Gravity layout, with strict file checks and a one-click sample CSV.

πŸš€ Spreadsheet Rows to Gravity Forms Entries, In a Few Clicks

EntryPort for Gravity Forms adds a dedicated import screen inside the Gravity Forms admin menu. Select a form, upload a CSV or Excel (XLSX) file, and the plugin creates one new Gravity Forms entry for each row in your file.

EntryPort is the companion to Exportly for Gravity. Where Exportly downloads your form entries to a spreadsheet, EntryPort reads that spreadsheet back in and recreates the entries inside a Gravity Form. Together they let you move, restore, and migrate form data with ease.

Getting existing data into Gravity Forms β€” from a spreadsheet, an old system, or another website β€” is normally slow and error-prone. EntryPort makes it a guided task, and it checks your file before importing: if the file does not match the exact column structure of the selected form, the import stops with a clear message before any entry is created.

✨ Why Choose EntryPort for Gravity Forms?

  • One Simple Screen β€” No extra menus or settings pages. Pick a form, choose a file, and import.
  • CSV and Excel β€” Upload a .csv or .xlsx file, whichever your team prefers.
  • Mistakes Caught Early β€” Strict structure validation rejects a mismatched file and tells you exactly which column is wrong.
  • Ready-Made Template β€” One click downloads a sample CSV with the exact columns the selected form requires.
  • Clear Results β€” Every import reports how many entries were imported, how many rows were skipped, and why.
  • Safe for Existing Data β€” Imports only add new entries. Current entries are never modified or deleted.
  • Admin-Only β€” Nothing changes on the public-facing website. Visitors see no difference.

βš™οΈ How It Works

  1. Choose β€” Open Forms > EntryPort for Gravity Forms and select the form you want to import entries into.
  2. Prepare β€” Use a file exported by Exportly for Gravity for the same form, or click Download Sample CSV to get a correctly formatted template.
  3. Validate β€” When you upload a file, EntryPort reads its header row and compares it, column by column, with the structure Exportly for Gravity produces for that form: six fixed columns followed by one column per form field, using the field labels as headers. If the columns do not match, the import stops and an error explains exactly which column is wrong.
  4. Import β€” When the structure matches, each remaining row is turned into a Gravity Forms entry with GFAPI::add_entry(). The fixed columns populate the entry’s metadata and the remaining columns populate the matching form fields.
  5. Review β€” A notice reports how many entries were created and lists any rows that could not be imported. The new entries appear under Forms > Entries for that form.

🧩 Features at a Glance

  • CSV Import β€” Import Gravity Forms entries from a CSV file.

  • XLSX Import β€” Import Gravity Forms entries from an Excel (XLSX) file, read with the bundled PhpSpreadsheet library.

  • Strict Structure Validation β€” The uploaded file must match the selected form’s Exportly layout, or the import is rejected with a specific error, such as the wrong number of columns or a column in the wrong place.

  • Download Sample CSV β€” A one-click button generates a template with the exact columns for the selected form, plus example rows you can replace with your own data.

  • Clear Import Results β€” An on-screen message reports how many entries were imported, how many rows were skipped, and a short explanation for any row that could not be added.

  • Multi-Part Field Support β€” Fields such as Name, Address, and Checkboxes are supported, with one column per part, so their information is imported correctly rather than lost.

  • Content-Based File Verification β€” Uploaded files are verified by their actual contents, not just their file extension.

  • Formula-Injection Round Trip β€” Restores values that Exportly escaped to prevent spreadsheet formula injection, so they come back as they were originally entered.

  • Standards-Compliant CSV Reading β€” CSV reading follows strict RFC 4180, so values containing backslashes import unchanged.

  • Sensible Row Handling β€” Completely blank rows are skipped automatically, and rows without a valid Entry Date are given the current date and time.

  • Permission-Aware β€” Uses the WordPress admin area and Gravity Forms capabilities to control who can import.

  • Accessible Import Screen β€” Reduced-motion support and a visible focus indicator in Windows High Contrast Mode.

πŸ“„ Know Exactly What Your File Needs

For an import to succeed, your file’s columns must exactly match what the selected form expects. This is the same layout Exportly for Gravity produces, so a file exported by that plugin for the same form imports without changes.

Standard information columns come first, in this order:

  • Entry Date β€” the date and time of the entry (leave blank to use the current time)
  • User Agent β€” browser and device information (optional)
  • User IP β€” the submitter’s IP address (optional)
  • Source Url β€” the page the entry came from (optional)
  • Is Starred β€” whether the entry should be starred (use 1 for yes, 0 for no)
  • Is Read β€” whether the entry should be marked as read (use 1 for yes, 0 for no)

Your form’s field columns follow: one column per form field, in form order, using each field’s label. Multi-part fields such as Name or Address use one column per part. Display-only elements β€” section headings, page breaks, plain HTML blocks, and CAPTCHA β€” are not included.

Do not rename, add, remove, or reorder the columns. The import checks them exactly, and any change causes the file to be rejected. The safest starting point is always a file exported by Exportly for Gravity for the same form, or the Sample CSV.

πŸ” Who Can Import

Access to the import screen is controlled by WordPress and Gravity Forms permissions, so only trusted staff can add entries to your forms:

  • Administrators β€” full access.
  • Roles granted the Gravity Forms “edit entries” permission β€” can open the import screen and import entries.
  • Editors, Authors, and Contributors β€” no access unless they are explicitly granted that permission.
  • Subscribers, customers, and visitors β€” no access.

πŸ”’ Privacy & Data Handling

  • Importing only adds new entries to the form you choose. Existing entries are left untouched.
  • There is no separate settings page and nothing is saved between sessions. You make your choices each time you import.
  • The plugin works entirely inside the WordPress admin area and makes no changes to your theme, pages, or forms.
  • Import files can contain personal information. Store them securely and remove the ones you no longer need.

πŸ” Round-Trip With Exportly for Gravity

Pair EntryPort for Gravity Forms with Exportly for Gravity for a complete export-and-import toolkit: export from one place, import into another.

  • Move entries between sites β€” export a form on the source site, then import the file into the matching form on the destination site. The destination form must have the same fields, in the same order, as the source form.
  • Restore a previous export β€” upload a file you exported earlier into the same form.
  • Back up before large imports β€” export a form’s existing entries first, so you can always return to a known-good state.

EntryPort is a separate plugin and does not modify Exportly for Gravity. You can run both at the same time.

πŸ’‘ Best For

  • Agencies and site owners moving entries from a staging site to a live site, or between websites.
  • Teams bulk-loading entries from a spreadsheet or an old system instead of adding them by hand.
  • Administrators restoring entries from an earlier Exportly export.
  • Anyone who wants a file check before the import, not a clean-up after it.

πŸ“‹ Requirements

  • WordPress 5.8 or newer.
  • Gravity Forms, installed and activated.
  • A Gravity Form to import into. The form must already exist.
  • PHP 8.1 or newer, because the bundled PhpSpreadsheet dependency requires PHP 8.1.

Disclaimer

This plugin requires Gravity Forms to be installed and active. It is an independent product and is not affiliated with, endorsed by, or sponsored by Rocketgenius, Inc. or Gravity Forms. Gravity Forms is a trademark of Rocketgenius, Inc.

Installation

WordPress Admin Method

  1. In your WordPress admin, go to Plugins > Add New.
  2. Search for EntryPort for Gravity Forms.
  3. Click Install Now, then Activate.

Upload Method

  1. In your WordPress admin, go to Plugins > Add New > Upload Plugin.
  2. Choose the plugin file and click Install Now.
  3. Click Activate.

FTP Method

  1. Upload the EntryPort-for-gravity-forms folder to the /wp-content/plugins/ directory.
  2. Activate EntryPort for Gravity Forms from the WordPress Plugins screen.

After Activation

  1. Make sure Gravity Forms is installed and activated.
  2. Go to Forms > EntryPort for Gravity Forms.
  3. Select the form you want to import entries into.
  4. Click Download Sample CSV if you need a template, and prepare your file so its columns exactly match it.
  5. Choose your file under Import File and click Import Entries.
  6. Read the result message, then open Forms > Entries for that form to see the new entries.

If Gravity Forms is not active, the import screen shows a notice asking you to activate it. Activate Gravity Forms and reload the page.

The first time you import into a form, test with a small file of a few rows. Once the layout is accepted, import the full file.

FAQ

Does this plugin require Gravity Forms?

Yes. EntryPort for Gravity Forms depends on Gravity Forms. If Gravity Forms is not active, the import screen shows the admin notice “Gravity Forms must be installed and activated to use EntryPort for Gravity Forms” instead of the import options.

What files can I import?

Only CSV or XLSX files that follow the Exportly for Gravity structure for the selected form. Any other file type is rejected. The easiest way to get a valid file is to export the form with Exportly for Gravity, or to download the sample CSV from the import screen.

How do I create a file to import?

Select your form and use the Download Sample CSV button on the import screen. It generates a template named after the form (for example contact-form-import-sample.csv) with the correct columns and a couple of example rows. Replace the example rows with your data, one row per entry, keep the column headings unchanged, and save the file as CSV or XLSX.

Which columns does my file need?

Six standard columns β€” Entry Date, User Agent, User IP, Source Url, Is Starred, and Is Read β€” followed by one column per form field, in form order, using each field’s label. The sample CSV for your form shows the exact headings.

Why do I get a “file structure does not match” error?

The uploaded file’s columns do not match the selected form. This usually means the file was exported for a different form, the columns were edited, or the form’s fields changed after the file was exported. Download the sample CSV for the form and compare the header row.

What do “Expected X columns but the file has Y” and “Column N should be … but the file has …” mean?

The first means your file has the wrong number of columns: add or remove columns so the count matches the template. The second means a column is in the wrong place or has been renamed: correct the heading and the column order to match the template.

I see “Unsupported file type”. What should I do?

The file is not a CSV or XLSX file. Save your file as CSV or Excel (.xlsx) and try again. Uploaded files are verified by their actual contents, not just their file extension.

Will importing overwrite my existing entries?

No. Importing only adds new entries. It never edits or deletes entries you already have.

Will importing create duplicate entries?

EntryPort always creates new entries. It does not match or update existing entries, so importing the same file twice adds the rows twice. Import each file only once. If you are restoring a backup into a form that still holds the original entries, import into an empty form or remove the old entries first.

Can I undo an import?

There is no automatic undo. If you need to remove imported entries, delete them from Forms > Entries.

Can I leave the Entry Date blank?

Yes. Rows without a valid date are given the current date and time automatically.

What values do Is Starred and Is Read take?

Use 1 for yes and 0 for no.

What happens to blank rows and rows with errors?

Completely blank rows are skipped automatically, so trailing blank lines will not cause errors. If some rows cannot be imported, the result message lists the reason for each. Fix those rows and re-import only them.

Are multi-part fields such as Name, Address, and Checkboxes supported?

Yes. They use one column per part, so the information in those fields is imported correctly.

Where do imported entries appear?

Under Forms > Entries for the form you imported into, just like normal submissions.

Can I move entries from one site to another?

Yes. Export the form’s entries on the source site with Exportly for Gravity, then on the destination site open Forms > EntryPort for Gravity Forms, choose the matching form, and upload the exported file. The destination form must have the same fields, in the same order, as the source form. Comparing a Sample CSV from each site is the easiest way to confirm this.

My form’s fields changed. Do I need to do anything?

Yes. Download a fresh Sample CSV before your next import so your file matches the updated column layout.

Who can use the import screen?

Administrators, and any role that has been granted the Gravity Forms “edit entries” permission. Other roles cannot see or use the import screen.

Can website visitors see or use this tool?

No. It is available only to authorised users inside the WordPress admin area, and it makes no changes to the public-facing website.

Does this change how Exportly for Gravity works?

No. EntryPort for Gravity Forms is a separate plugin and does not modify Exportly for Gravity. You can run both at the same time.

How do I get support?

When opening a support request, please include:

  • The form you were importing into
  • The file you were importing
  • The exact on-screen message you saw, including any column error

Reviews

There are no reviews for this plugin.

Contributors & Developers

“EntryPort for Gravity Forms” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.2

  • Renamed the plugin from Importly for Gravity to EntryPort for Gravity Forms.
  • The import screen is now at Forms > EntryPort for Gravity Forms.
  • The plugin folder and text domain are now EntryPort-for-gravity-forms. Activate EntryPort for Gravity Forms, then deactivate and delete Importly for Gravity. Existing Gravity Forms entries are not affected and there are no settings to migrate.

1.0.1

  • Uploaded files are now verified by their actual contents, not just their file extension.
  • CSV reading now follows strict RFC 4180, so values containing backslashes import unchanged.
  • Fixed a round-trip issue affecting values that begin with a quote and a formula character, such as '=total.
  • Fixed a PHP 8.4 deprecation notice.
  • Removed unused interface styles inherited from Exportly for Gravity.
  • Added reduced-motion support and a visible focus indicator in Windows High Contrast Mode.

1.0.0

  • Initial release.
  • Added Gravity Forms admin submenu.
  • Added CSV import.
  • Added XLSX import using PhpSpreadsheet.
  • Added strict file-structure validation against the selected form.
  • Added a Download Sample CSV template generator.