SleekView for Gravity Forms: entries as customizable tables
Read directly from gf_entry and pivot gf_entry_meta into proper columns. Sort, filter, and inline-edit entries across forms — bulk-toggle is_read or is_starred without clicking each one open.
♾️ Lifetime License available
Entries as a real table, not a per-form list
Gravity Forms stores every submission as a row in gf_entry with field values rolled out across gf_entry_meta in long format — one row per field per entry. The default admin reverses that pivot per-form so you see one entry at a time, but switching forms means rebuilding the column chooser each time. Cross-form lists, filters by payment status across the whole site, or bulk-toggle of is_read are all gaps you'd otherwise close with custom code.
SleekView reads both tables and pivots gf_entry_meta at query time, so each entry is one row with named columns sourced from the form's field labels. Add form_id as a column and you have a unified inbox: contact submissions, demo requests, paid orders, and surveys side by side. Filter by payment_status, payment_amount, date_created, or is_starred in any combination, then save the filter as a view named for the workflow.
Add-ons that store data in gf_entry_meta — Stripe, PayPal, Mailchimp, Salesforce — surface as additional pivotable columns automatically because their field IDs already live in the meta table. Edits route through Gravity's API where it supports the field type, falling back to direct table writes with conflict detection for the cases the API doesn't reach.
Workflow
From gf_entry_meta long-format to a real table
Point at gf_entry
gf_entry as the base. SleekView reads gf_form to discover available forms and their fields, so the column chooser knows your real schema.
Pivot meta into columns
meta_key from gf_entry_meta as a column. The pivot runs at query time so new fields show up immediately — no rebuild step or one-time export.
Filter across forms
form_id, payment_status, date_created, is_read, and is_starred in one saved view. Cross-form inboxes and per-form audit views share the same engine.
Bulk-edit triage state
payment_status across dozens of rows — Gravity's CRUD APIs handle field validation; conflicts are flagged for review before write.
Sample columns
A typical Gravity Forms entries view
gf_entry_meta rows into named columns so you stop reading {field_id: 5, value: "..."}.
wp_gf_entry + wp_gf_entry_meta
| Entry # | Form | Submitted | Payment | Status | |
|---|---|---|---|---|---|
| #812 | Contact | Apr 24 | alex@studio.co | — | Unread |
| #811 | Demo Req | Apr 24 | ria@design.io | — | Read |
| #810 | Order | Apr 23 | tom@hello.dev | €48.00 | Paid |
| #809 | Order | Apr 23 | mia@brew.coop | €48.00 | Failed |
Comparison
Default Gravity Forms Entries vs SleekView
Default Gravity Forms admin
- Entries are scoped to one form at a time — no cross-form view by default
- Field-value columns can be added but the chooser is per-form and tedious
-
Bulk-toggling
is_readrequires opening each entry's actions -
gf_entry_metarows are stored in long format — invisible until you build a view manually - Filtering by payment status + date range across many forms isn't a first-class feature
SleekView
- Cross-form entry table with form name as a column
-
Pivot
gf_entry_metainto typed columns automatically -
Inline-toggle
is_readandis_starredacross many entries -
Filter by
form_id,payment_status,date_createdtogether - Save filtered views per workflow (e.g. "Unread paid entries this week")
Features
What SleekView gives you for Gravity Forms
Pivot meta values into columns
Gravity stores field values as one row per field in gf_entry_meta. SleekView pivots them so each entry is one row with named columns — never read raw key/value JSON again.
Combine filters that the default admin can't
Filter by form ID, payment_status, payment-amount range, date_created, and starred/read state in a single saved view. Cross-form inboxes become a one-click action.
Bulk inline-edit entry state
Mark entries read, star them, flip payment_status across dozens of rows without opening each. Gravity's CRUD APIs handle validation; SleekView reports any conflicts inline.
Audience
Who uses SleekView for Gravity Forms
Sales & support
All inbound submissions in one cross-form table, filtered to unread plus last seven days. Starred entries stay visible across triage sessions; stale items get bulk-archived weekly.
Finance
Paid order entries by date range with payment_amount as a sortable column. Reconcile against Stripe payouts inline; export the filtered set to CSV for the bookkeeper.
Form admins
Audit which forms get submissions, spot abandoned ones with zero entries this month, and manage is_read state across the whole installation in one pass.
The bigger picture
Why entry triage needs a real table view
Gravity Forms is the entry-storage workhorse for thousands of WordPress sites — agencies running thirty client forms, B2B teams routing demo requests, charities collecting donations, schools handling intake. The reason it scales technically is the long-format gf_entry_meta design: any field structure fits without schema migrations. The reason it stops scaling operationally is the same design: long-format data is unreadable until you pivot it, and the per-form admin assumes you only ever care about one form at a time.
Sales teams want every inbound lead in one inbox regardless of form. Finance wants paid order entries across the site for reconciliation. Form admins want to spot which forms have stalled or stopped receiving submissions.
None of those are easy in the default screen. SleekView treats gf_entry the way a database admin would — as a queryable source where pivots are cheap, filters compose, and bulk operations are normal. That shift, from per-form list to cross-form workspace, changes who can use the data without writing PHP.
Questions
Common questions about SleekView for Gravity Forms
SleekView reads the entry tables directly — gf_entry, gf_entry_meta, and gf_entry_notes. Any add-on storing values in gf_entry_meta (Stripe, PayPal, Mailchimp, ActiveCampaign, Salesforce) is automatically visible because their data lives as meta keys on the entry. The pivot picks them up without per-add-on configuration; you choose which keys to surface as columns.
Yes. SleekView writes back through Gravity's CRUD APIs where the field type supports it (text, email, number, select, checkbox, date), respecting validation rules. For field types Gravity doesn't fully expose programmatically, SleekView falls back to direct table updates with conflict detection — it warns if the entry changed since you opened the row.
 
SleekView reads the unique meta_key values for entries in your selected form (or across forms) and exposes each as an addable column. The pivot runs at query time using a join, not a one-time export, so newly added fields appear immediately. For huge entry tables you can scope the meta-key discovery to a recent date range to keep the column-chooser responsive.
Yes — that's a primary reason teams switch. Add form_id as a column and either filter on a specific subset of forms or leave it open to see everything. For cross-form views, only meta keys shared across forms become useful columns; SleekView indicates which keys belong to which form so column choices stay sensible.
Yes. gf_entry_notes is supported as a related table — show note count as a column, expand a row to read the note thread inline, or build a notes-only view filtered by user or date for moderation. Notes aren't pivoted into the main entry table because they're one-to-many; they're addressed as a related view.
Checkbox-type fields store one row per selected option in gf_entry_meta with a non-null item_index. SleekView aggregates them into a single readable cell with the selected option labels concatenated. Filters on these fields treat each selection as a value, so "contains Newsletter" works as expected without scripting.
When SleekView routes through Gravity's entry-update API, the gform_after_update_entry action fires per row, which is what feed processors hook into. Whether a specific feed re-fires depends on its own conditional logic — most feeds are configured to run on entry creation only, so an update won't re-trigger them. Test with one row before bulk-applying.
Partial entries are stored in gf_draft_submissions, separate from gf_entry. SleekView can expose that table as its own view to audit incomplete submissions, see which forms get abandoned at which step, or clean up old drafts. The pivot logic doesn't apply because partials store the whole form state as a serialised blob, but per-form abandonment metrics are still easy.
Pricing
More than 1000+
happy customers
Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.
Lifetime ♾️
Most popular
EUR
once
- Unlimited websites
- Lifetime updates
- Lifetime support
...or get the Bundle Deal
and save €250 🎁
The Bundle (unlimited sites)
Pay once, own it forever
Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.
What’s included
-
SleekAI
-
SleekByte
-
SleekMotion
-
SleekPixel
-
SleekRank
-
SleekView
€749
Continue to checkout