Gravity Forms Frontend Table: Show Entries to Users on the Frontend
By default, Gravity Forms entries live entirely inside the WordPress admin. Your users — employees, customers, drivers, clients — have no way to see them without logging in to /wp-admin. This guide shows you exactly how to publish a searchable, sortable frontend table from any Gravity Forms form, with full control over who sees what.
The Problem: Gravity Forms Entries Are Admin-Only by Default
Gravity Forms is excellent at collecting data. What it does not do is display that data back to users on the frontend of your site. Every entry goes into the Gravity Forms entry list in /wp-admin/admin.php?page=gf_entries — a screen that requires administrator or editor access to reach.
This creates a real gap for a wide range of workflows:
- An employee submits a load report and cannot see their own submission history.
- A customer places an order via a form and has to email you to ask its status.
- An HR team builds a staff directory form and needs it visible to the whole company — not just admins.
- A project manager tracks tasks via a form and wants contractors to see the live task list.
In each case the data is already in Gravity Forms. The missing piece is a way to surface it on the frontend, filtered and scoped to the right audience.
The Solution: TableCrafter Turns GF Entries into a Frontend Table
TableCrafter (formerly Gravity Tables) is a WordPress plugin built specifically for this. It reads entries directly from Gravity Forms via the GF API and renders them as a fully interactive table on any page or post via a shortcode. No custom code. No REST API configuration. No external database.
You pick a Gravity Forms form, choose which fields become columns, configure filters and permissions, and drop one shortcode on a page. That is the entire workflow.
Important scope note: TableCrafter works exclusively with Gravity Forms entries. It does not import CSV files, connect to Google Sheets, or pull from external APIs. If your data lives in Gravity Forms, it is the right tool. If your data lives elsewhere, it is not.
Step-by-Step: Creating Your First Gravity Forms Frontend Table
The setup takes about five minutes once the plugin is installed.
1. Install TableCrafter
Install the free version directly from WordPress.org: go to Plugins > Add New, search for TableCrafter (or Gravity Tables), install, and activate. No API key required for the free tier.
2. Create a Table Configuration
In your WordPress admin, navigate to TableCrafter > Tables > Add New. The table builder will ask you to select a Gravity Forms form. Once selected, every field in that form becomes an available column.
Drag the columns you want into the active list. For a load tracker, that might be: Driver Name, Date, Origin, Destination, Load Weight, Status. For an employee directory: Name, Department, Role, Phone, Email.
3. Configure Access Permissions
Under the Access tab, choose which WordPress user roles can view the table. You can restrict it to logged-in users only, specific roles (like subscriber or a custom driver role), or leave it public. This determines who can reach the page — not just who can see the shortcode.
4. Place the Shortcode
Save your table configuration. TableCrafter assigns it a numeric ID — let's say it is 1. Open any page or post and add the shortcode:
[tablecrafter id="1"]
Publish the page. Visit it on the frontend. Your Gravity Forms entries now appear as a live, paginated table.
The table ID in the shortcode matches the configuration ID shown in TableCrafter > Tables — not the Gravity Forms form ID. If you have multiple table configurations for the same form (for example, one for admins and one for drivers), each gets its own ID and shortcode.
Role-Based Access: Who Sees Which Entries
Showing the table to logged-in users is one layer of control. Filtering which entries each user sees is a separate, equally important layer — and this is where most real-world use cases get interesting.
Show Users Only Their Own Entries
TableCrafter supports filtering by the WordPress user who submitted the entry. Enable the Filter by Current User option in the table configuration, and a driver logging in will see only their own loads. A customer will see only their own orders. This works via Gravity Forms' built-in created-by field — no custom coding required.
Admins See Everything, Users See Their Own
A common pattern is to create two table configurations from the same form:
- Admin table (ID 1): All entries, all columns, restricted to the administrator role. Embedded on an admin-only dashboard page.
- Driver table (ID 2): Filtered to current user, limited columns (no internal notes column, for example), open to the driver role. Embedded on the driver portal page.
Both tables pull from the same Gravity Forms form. Each has its own shortcode. This setup handles the majority of role-based data access requirements without any custom PHP.
Column Visibility by Role Pro
If you need column-level control — not just row-level — TableCrafter Pro adds per-column role visibility. You can configure a column so that administrators see a Cost field while drivers do not, even if both are viewing the same table on the same page.
This is useful when your form captures internal data (margins, admin notes, vendor contacts) alongside data that is appropriate for the end user to see. Instead of building two separate tables, you build one and toggle visibility per column per role.
Filtering, Search, and Sorting
Every TableCrafter table ships with search and sorting built in — no configuration needed. These are free features:
- Global search Free: A search box that queries across all visible columns instantly.
- Column sorting Free: Click any column header to sort ascending or descending.
- Filter dropdowns Free: Add per-column dropdown filters for fields like Status, Category, or any choice field in your form.
- Pagination Free: Configure rows per page to prevent performance issues on large entry sets.
- Auto-refresh Free: The table can poll for new entries at a configurable interval — useful for live dashboards.
For a load tracking system, a dispatcher might filter by driver name and date range to see that day's completed loads. For an order tracker, a customer might search by order number. All of this works with zero code.
CSV Export
TableCrafter includes a CSV export button Free that exports the currently filtered view. If a user has filtered the table to their own entries for a date range, the export reflects exactly that — not the full dataset.
This is particularly useful for drivers who need to submit weekly mileage reports, or customers who need a record of their orders for accounting purposes. The export respects access permissions: a driver exporting their own table cannot download another driver's entries.
Real-World Use Cases
Load Management System
Drivers submit loads via a Gravity Form. A frontend table shows each driver their own history. Dispatchers see the full board filtered by date and status.
Employee Directory
HR collects staff information via a form. The table surfaces it company-wide as a searchable directory — no database plugin needed.
Order Tracker
Customers submit orders via Gravity Forms and check status on a portal page. Filtering by current user ensures each customer sees only their orders.
Project / Task Board
Project submissions feed a frontend table visible to team members. Status badges highlight which tasks are open, in progress, or complete.
Inline Editing on the Frontend Pro
TableCrafter Pro adds the ability to edit entries directly in the frontend table — no round-trip to the WP admin required. Click a cell, type a new value, and the change saves back to Gravity Forms via AJAX.
For a load tracker, a dispatcher can update a delivery status from In Transit to Delivered directly in the table. For a project board, a team member can mark a task complete without leaving the page. Inline edit validation ensures data integrity: required fields cannot be blanked out, and format constraints from the original form are respected.
Additional Pro editing features include:
- Bulk Fill: Select multiple rows and update a field across all of them at once — useful for reassigning a batch of tasks to a new owner.
- Entry Duplicate: Clone an existing entry as a starting point for a new one.
- Email Alerts: Trigger a Gravity Forms notification when a field is updated via inline edit — so a driver gets emailed when their load status changes.
Status Badges and Data Bars
Two display features make the table readable at a glance:
Status Badges Free map choice field values to color-coded pill badges. If your form has a Status field with values like Open, In Progress, and Closed, you configure each value to a color. The column renders as color badges instead of plain text — immediately scannable.
Data Bars Pro render numeric fields as horizontal progress bars relative to the column maximum. For a load weight column, for instance, each row shows a bar indicating the load relative to the heaviest entry in the current view.
Requirements and Compatibility
TableCrafter has minimal requirements:
- WordPress 6.0 or later
- Gravity Forms 2.5 or later (any license tier)
- PHP 7.4 or later
It works alongside any WordPress theme and does not require Elementor, WooCommerce, or any other plugin. The free version is fully functional with no usage limits on the number of tables or entries.
TableCrafter does not add custom database tables. It reads directly from Gravity Forms' entry tables (wp_gf_entry, wp_gf_entry_meta). Your data stays in Gravity Forms — TableCrafter is purely a display and editing layer on top of it.
Free vs. Pro: What You Get
The free version covers most display and filtering needs:
- Unlimited table configurations Free
- All columns, search, sort, filter dropdowns, pagination Free
- Filter by current user (show only logged-in user's entries) Free
- CSV export Free
- Status badges Free
- Auto-refresh / diff badge Free
- Column picker (user-toggleable columns) Free
Pro adds write-back and advanced display capabilities:
- Inline cell editing with validation Pro
- Bulk fill across multiple rows Pro
- Entry duplicate Pro
- Column visibility by user role Pro
- Email alerts on field update Pro
- Data bars for numeric columns Pro
Start with the free version to verify it fits your use case, then upgrade if you need editing or role-based column control.
Try TableCrafter Free
Install from WordPress.org in two minutes. No account required. Upgrade to Pro when you need inline editing or role-based column visibility.