Gravity Forms Data Table: Turn Form Submissions into a Searchable Database

A Gravity Forms data table is a live, auto-updating table on your WordPress site that reads directly from Gravity Forms entry submissions and renders them with search, sort, filter, and export controls, without manually importing data or maintaining a separate spreadsheet. TableCrafter builds this automatically: point it at a Gravity Forms feed, map the fields you want as columns, and your table is live in the same session. Clients, team members, or drivers can view their own data on the frontend without a WordPress login. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and
Gravity Forms is excellent at collecting data. But once submissions accumulate, the built-in entry screen is a dead end for anyone outside WordPress admin, no shareable frontend view, no column customization, and no native export to Excel. TableCrafter solves this in about three minutes, no coding required.
By the numbers: WordPress powers 43% of all websites globally (W3Techs, July 2026), which means the overwhelming majority of Gravity Forms deployments run on a platform with no native mechanism to expose submission data on the frontend. That gap is what TableCrafter fills.
Why Does the Gravity Forms Entry List Fall Short?
Gravity Forms is active on over 10 million WordPress sites (Gravity Forms, 2025).
The default Gravity Forms entries screen lives inside WordPress admin. That means only site admins can see it, and even for admins, it offers limited filtering, no column customization, no export-to-Excel, and no way to share a live view with a client, driver, or department manager.
If you have collected even a few hundred submissions, the friction compounds quickly. A load tracking company needs dispatchers to search entries by driver. A gym needs members to look up their own class registrations. A project manager needs to filter open tasks by assignee. None of this is possible with the built-in Gravity Forms UI.
The answer is a proper Gravity Forms data table on the frontend, one that pulls live from your entries and renders something that actually looks and works like a data grid.
What Does TableCrafter Actually Do?
TableCrafter is a WordPress plugin that reads directly from Gravity Forms entries and renders them as an interactive table anywhere you drop a shortcode. It does not copy data to a separate table or run periodic syncs, every page load queries Gravity Forms directly, so the data is always current. Users with the right role can search, sort, filter, and export without a WordPress login. The Pro version adds inline editing, bulk actions, role-based column visibility, auto-refresh with diff badges, and export to CSV, Excel, and PDF. Setup takes under five minutes: install the plugin, create a table configuration that points at your form, map the fields you want as columns, and paste the shortcode wherever the table belongs. The table appears immediately, reading live from whatever Gravity Forms entries already exist, no migration, no manual import, no CSV in between.
You configure which fields become columns, set up filters and sort defaults, and paste a single shortcode into any post, page, or block:
[tablecrafter id="1"]
The id refers to a table configuration you create in the TableCrafter admin builder, not the Gravity Forms form ID. One form can have multiple table configs (for example, an all-entries view for admins and a filtered view for a client portal).
Scope of this guide: This guide covers Gravity Forms as the data source, which is a Pro feature. TableCrafter also works with CSV, JSON, Google Sheets, and Excel in the free tier, and with Airtable, Notion, WooCommerce, and REST APIs in Pro. If your data lives in Gravity Forms, continue here.
How Do I Set Up My First Gravity Forms Data Table?
After installing and activating TableCrafter from wordpress.org/plugins/tablecrafter-wp-data-tables/, the setup takes about three minutes:
- Go to TableCrafter → Tables → Add New in your WordPress admin.
- Select the Gravity Forms form you want to display from the dropdown. TableCrafter reads your form schema and lists every field.
- Use the column builder to drag the fields you want into your table. You can rename column headers, set a default sort column, and choose whether a column is sortable or hidden on mobile.
- Configure filtering: enable search, choose which fields get dropdown filters, and set the number of rows per page.
- Save the table configuration. TableCrafter assigns it an ID, say,
1. - Paste
[tablecrafter id="1"]into any page, post, or Elementor HTML widget.
That is a complete, working data table. Visitors see it immediately; entries submitted after the fact appear on the next page load.
Tip: Set a default sort column in the table builder so visitors land on a sensibly ordered view, for example, a load tracker sorted by submission date descending shows the newest entries first without any user interaction. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers, and no per-row limits on the free tier. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg block.
How Does Column Mapping Work?
Most Gravity Forms entries contain far more data than any one audience needs to see. The column mapping step is where you select only the relevant fields. A few things worth knowing:
- Multi-part fields (Name, Address) can be mapped as a single combined column or split into separate columns (First Name, Last Name).
- File upload fields render as download links or inline thumbnails automatically.
- Calculated fields and hidden fields are available as columns even if they were not visible to the submitter.
- Entry metadata, submission date, entry ID, and the submitting user, can be added as columns without being formal form fields.
You can create multiple table configs for the same form and give each a different column set. A client portal might show five columns. An internal management view might show fifteen, with full edit access on each row.
How Do I Filter, Search, and Sort My Table?
All filtering features are available in the Free version.
Global search runs a full-text query across all visible columns. Type "Smith" in the search box and the table instantly narrows to entries where "Smith" appears anywhere in the configured columns.
Column filters let you add dropdown filters above specific columns. For text fields this becomes a text filter input; for choice fields (dropdowns, radio buttons, checkboxes in the form), TableCrafter automatically builds a dropdown from the distinct values in the dataset. This is especially useful for status fields, a "Job Status" column with values like Open, In Progress, and Closed becomes a one-click filter.
Date range filters work on date fields and on the entry submission date, so you can scope a load tracker to the current week without writing any query logic.
Sorting is column-header clickable on any column you marked as sortable. TableCrafter handles the sort server-side so large datasets do not bog down the browser.
How Do Status Badges and Conditional Formatting Work?
Raw text in a table cell is readable, but a colored badge is scannable. TableCrafter includes a status badge system Free that maps field values to colors:
- Map "Delivered" to green, "Pending" to yellow, "Cancelled" to red.
- Badge rules are configured per column, per table, so the same "Status" field can have different color mappings in an admin table versus a client-facing view.
- Any choice field (radio, dropdown, checkbox) or free-text field can use badges.
This alone transforms a raw entry list into a live status board that dispatchers, managers, or clients can read at a glance.
The configuration you set here applies to every visitor who loads a page containing this table, regardless of whether they are logged in. Role-specific overrides for columns and rows are a separate layer and do not replace these global display settings. Apply global settings first, then add role restrictions as needed for tables that serve multiple user types.
How Do I Add Data Bars to Numeric Columns?
For numeric fields, weight, revenue, distance, quantity, scores, TableCrafter Pro adds Pro data bars: inline horizontal bars rendered inside the table cell, sized proportionally to the column's max value. You get the feel of a sparkline chart without leaving the table.
A load tracker showing weight per shipment, an inventory table showing stock levels, or a project tracker showing budget utilization all become immediately more useful when each row carries a visual weight alongside the number. Data bars work best on columns where values are positive and on a similar scale, a column mixing small integers (0–10) with large integers (0–100,000) will render the small values as near-invisible bars. In that case, use a dedicated filtered view with a narrower data range, or configure separate min and max bounds in the data bar settings. Data bars are configured per column and do not affect sort or filter behavior: the underlying numeric value is still sortable and the bar is rendered client-side after data loads.
How Do I Export Table Data to CSV and Excel?
The Free version includes a CSV export button that appears above the table for users with permission. The export respects active filters, so an admin filtering the table to "last 30 days" exports only those rows, not the entire entry set.
You control who sees the export button via the table's permission settings. Show it to all users, logged-in users only, or a specific WordPress role.
The CSV export preserves the column order and column header labels you configured in the table builder, so the downloaded file matches what users see on screen. Columns that are mapped in the builder but marked as not visible in the Display tab are excluded from the export unless you specifically configure them to be included. Formatted or calculated values export as the displayed text: a status badge column exports the label text, not any internal value code. File fields export as the URL of the uploaded file rather than the file itself. The exported CSV uses UTF-8 encoding, which opens cleanly in Excel on macOS and in Google Sheets without character encoding issues on special characters.
PDF export is not a built-in TableCrafter feature. If you need PDF output, the CSV export works cleanly with Excel or Google Sheets for formatted reports.
This step completes the connection between your data source and the TableCrafter table engine. Once saved, the plugin caches the connection credentials in the WordPress options table and uses them on every subsequent page load. If you update the source configuration later, for example, rotating an API key or changing a sheet URL, return to this step, enter the new value, and save again. The table updates immediately on next load without any shortcode changes.
How does inline editing work?
This is where TableCrafter Pro earns its keep. Pro Inline editing lets authorized users click any cell and edit it directly in the table, the change saves back to the Gravity Forms entry immediately. No separate edit form, no redirect.
Combine this with Pro column role visibility, where certain columns are editable only by admins, read-only for drivers, and hidden entirely from clients, and you have a role-aware data management interface built on top of your existing Gravity Forms setup.
For a load tracker, this means a dispatcher can update a delivery status from Pending to Delivered by clicking the cell, without touching the Gravity Forms entry editor. For a CRM, a sales rep can update a deal stage in-place.
If this step produces unexpected output, check the source data directly in the connected system. TableCrafter passes data through without modification, if a cell displays an unexpected value, the source record contains that value. Use the TableCrafter debug log (Settings > Advanced > Debug Mode) to trace the exact query sent to the source and the raw response received, which narrows the diagnosis to either a source-side or rendering-side issue.
What Are the Real Use Cases?
Load Tracker
A trucking company collects load data via Gravity Forms (origin, destination, driver, weight, status). TableCrafter renders it as a dispatch board with status badge colors, a driver dropdown filter, and date range filter for daily or weekly views. Dispatchers edit status cells inline. Drivers see a filtered view of only their own loads.
Access control for the driver-scoped view uses the allowed_user_roles shortcode attribute set to the driver role slug, while a second table configuration pointing at the same Gravity Forms form serves the admin dispatch view. Both configurations share the same underlying entry data with no duplication, but each specifies different visible columns, different default filters, and different editing permissions. The driver configuration can add per-row user scoping so each driver sees only entries where the driver field matches their own WordPress user ID. This pattern, one form feeding two or more purpose-built table views, is one of the most common TableCrafter deployments in logistics and field operations.
Employee Directory
An HR form captures employee name, department, location, and start date. TableCrafter renders a searchable directory with a department dropdown filter and department-based column visibility so certain fields are hidden from non-HR roles.
Column role visibility in TableCrafter Pro controls which WordPress user roles can see each column independently. In an employee directory, fields like salary band, performance rating, or emergency contact are visible to HR roles but hidden from the general employee role. The column headers for hidden fields do not appear in the rendered table for those users, not merely blank cells. The global search bar is scoped to only the columns the current user can see, so a non-HR employee searching the directory cannot surface values from hidden columns through a text match. The department dropdown filter remains available to all roles with table access, since department is a non-sensitive shared field. HR managers viewing the same URL see all columns, while general employees see the narrower column set, all from a single table configuration and shortcode.
Order or Inventory Management
An order intake form collects product, quantity, and status. The resulting table shows data bars on the quantity column, status badges on order state, and bulk fill to mark multiple orders as shipped in one click Pro.
Data bars on the quantity column give warehouse staff a visual sense of which orders are large versus small without reading every number individually. Combined with a Status filter defaulting to "Pending" and sorted by quantity descending, the table surfaces high-quantity pending orders at a glance. Bulk fill is the key operational time-saver: a warehouse manager selects a group of orders packed in the same batch, uses bulk fill to set Status to "Shipped" across all selected rows in one action, and the underlying Gravity Forms entries are all updated simultaneously. This replaces a workflow that would otherwise require opening and editing each Gravity Forms entry individually inside WordPress admin, which scales poorly once order volume exceeds a few dozen per day.
Project Tracker
A project intake form captures project name, owner, deadline, and priority. The table filters by owner and priority, sorts by deadline, and uses email alerts Pro to notify stakeholders when a status changes to "Blocked."
Email threshold alerts in TableCrafter Pro are configured per column: you define a trigger rule (for example, Status transitions to "Blocked"), a single recipient email address, and whether to attach a CSV of the affected rows. The alert fires on the first crossing only, when an entry transitions from a non-blocked status into Blocked, not on every subsequent page load that finds the entry already in that state. This prevents duplicate alert emails when the table is loaded repeatedly while an entry remains unchanged. For a project tracker, a practical alert setup is two rules on the same Status column: one for "Blocked" pointing to the project manager's email, and one for "Overdue" pointing to the team lead's email. Both rules coexist independently on the same column configuration.
CRM View
A lead capture form feeds a searchable contacts table filtered by deal stage, with inline editing to update stage and notes without entering the Gravity Forms entry editor.
For a CRM configuration, the most productive column setup combines a few high-signal fields visible to all sales roles (company name, contact name, deal stage, last activity date) with detail columns visible only to managers (estimated deal value, assigned rep, internal notes). The status badge system maps deal stages to colors: green for Closed Won, red for Churned, yellow for Negotiation, giving sales managers a pipeline view that is readable at a glance without opening individual entries. Column role visibility gates the deal value and notes fields so individual reps cannot view each other's deal details. Inline editing lets a rep update deal stage or add a note directly in the table row, with the change persisting to the Gravity Forms entry immediately and appearing to all users on the next page load, replacing the need for any custom CRM integration.
What Features Do You Get Free vs. Pro?
Search & Filters Free
Global search, column filters, date range, pagination, sort controls, all included in the free version.
Status Badges Free
Map field values to color-coded badges per column. Configurable per table.
CSV Export Free
Export filtered results to CSV. Permission-controlled per table config.
Column Picker Free
Visitors can show or hide columns with a column chooser UI on the table.
Inline Editing Pro
Click any cell to edit it in-place. Saves directly to the Gravity Forms entry.
Data Bars Pro
Proportional bar visualizations inside numeric cells. No extra charting plugin needed.
Bulk Fill Pro
Select multiple rows and apply a value to a field across all of them at once.
Role Visibility Pro
Control which WordPress roles can see or edit each column independently.
The shortcode accepts all column and filter settings defined in the table builder as defaults, but you can override individual parameters inline. For example, `[tablecrafter id="1" per_page="25"]` overrides the default rows-per-page setting for this specific embed without changing the saved table configuration. This lets you reuse one table definition across multiple pages with different display requirements.
How Does Auto-Refresh and Diff Badge Work?
For tables that change frequently, a live order queue, an incoming lead list, a status board, TableCrafter's Free auto-refresh polls for new entries on a configurable interval (10 seconds, 30 seconds, 60 seconds, or 5 minutes). When new rows arrive, a diff badge appears above the table showing how many new entries have come in since the last view, so users can choose when to reload the live data rather than having the table jump mid-read. The diff badge text is configurable: by default it says "N new entries, click to refresh" but you can change the label under Table Options → Auto-Refresh in the builder.
Auto-refresh works by polling a JSON endpoint that returns only entry metadata (count + row IDs) rather than full entry data, so the polling requests are lightweight even on large Gravity Forms tables. The full data re-fetch only happens when the user clicks the diff badge or when the auto-reload interval fires (if you enable full auto-reload instead of badge-gated reload). For most operational use cases, badge-gated reload is preferred because it does not disrupt a user who is mid-scroll in the table.
How Do I Install TableCrafter?
TableCrafter installs like any other WordPress plugin:
- Go to Plugins → Add New in WordPress admin.
- Search for tablecrafter or paste the slug tablecrafter-wp-data-tables directly into the search field.
- Click Install Now, then Activate.
- Navigate to TableCrafter → Tables → Add New and follow the three-step builder.
Requirements: WordPress 6.0 or later, Gravity Forms 2.5 or later, PHP 7.4 or later. No REST API setup, no API keys, no configuration files.
After activation, the TableCrafter menu item appears in your WordPress admin sidebar. The first time you visit TableCrafter → Tables, a setup guide walks you through creating your first table configuration. You will select a data source (for Gravity Forms, choose the "Gravity Forms" option and pick the form from the dropdown), map the fields you want as columns, and configure search, filter, and sort options. The builder saves a JSON configuration to the WordPress database and assigns an integer ID. That ID is the only value you need for the shortcode. If you later change the column configuration in the builder, the shortcode on your page does not need updating: the ID remains the same and the builder serves the updated configuration on the next page load.
[tablecrafter id="1"]
[tablecrafter id="1" rows="25" search="false"]
Frequently Asked Questions
What is a Gravity Forms data table?
A Gravity Forms data table is a live, auto-updating table on your WordPress site that reads directly from Gravity Forms entry submissions and renders them with search, sort, filter, and export controls, without manually importing data or maintaining a separate spreadsheet.
Does the table update automatically when new entries are submitted?
Yes. TableCrafter queries Gravity Forms directly on every page load, there is no caching layer or periodic sync. New form submissions appear immediately the next time the table is loaded or refreshed.
Can non-admin users see the table?
Yes. You embed the table on any public or restricted WordPress page. Clients, team members, and staff can view entries without a WordPress login. Role-based permissions in TableCrafter Pro control who can view versus edit specific columns.
Is a Gravity Forms data table free?
The free TableCrafter plugin on WordPress.org supports Gravity Forms data tables. The free version includes sortable, filterable, searchable tables with unlimited rows. Pro adds inline cell editing, bulk actions, export to CSV and PDF, and auto-refresh.
Try TableCrafter Free
Install from WordPress.org in under three minutes and turn your Gravity Forms entries into a real data table. Upgrade to Pro when you need inline editing, data bars, or role-based column control.
This configuration interacts with any caching or CDN layer active on your WordPress installation. If you use WP Rocket, LiteSpeed Cache, or a CDN such as Cloudflare, flush the page cache after making this change to ensure the updated configuration is reflected in the cached HTML served to visitors. TableCrafter's server-side output is regenerated on the next uncached request.