How to Use Row Duplication as a Template System in TableCrafter

Entering the same base data over and over is one of the most common time drains in data-heavy workflows. TableCrafter's row duplication feature lets you clone any existing Gravity Forms entry into a new, editable row with a single click, effectively turning any well-structured record into a reusable template. Combined with inline editing and role-based permissions, this pattern can eliminate repetitive data entry without building a custom input form from scratch. 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 auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg. Gravity Forms is active on over 10 million WordPress sites (Gravity Forms, 2025).
What Row Duplication Actually Does?
Row duplication is a Pro feature available in TableCrafter tables that are connected to a Gravity Forms data source. When a user clicks the duplicate icon on any row, TableCrafter calls the Gravity Forms API to create a brand-new entry that is an exact copy of the original. The new entry receives its own unique entry ID and a fresh submission timestamp, it is not a reference or alias to the source row.
Because the duplicated row is a full Gravity Forms entry, it inherits every field value from the original: text, numbers, dates, dropdown selections, checkboxes, and multi-select values. From that point forward, the original and the copy are completely independent. Editing one does not affect the other.
GFAPI::duplicate_entry() to clone the entry, then immediately reloads the table view via an AJAX call to wp-admin/admin-ajax.php so the new row appears without a page reload.Why This Works as a Template System?
Most teams reach for custom post types or separate template plugins when they need reusable records. With TableCrafter, you can get most of the same value using only features you already have in Pro.
The pattern works like this: create one or more "template" rows that contain your default values, standard rates, default status labels, pre-filled categories, or any baseline field content your team starts with every time. Give those rows a consistent naming convention such as TEMPLATE: Weekly Driver Report or TEMPLATE: Standard Rate Card. When a user needs a new record, they duplicate the template row, rename it, and fill in only the fields that differ. The Gravity Forms entry is real and fully editable from the moment it is created.
This approach has a few practical advantages over building a dedicated template system:
- No additional plugins or custom code required beyond your existing TableCrafter Pro license.
- Templates live in the same table your team already uses, so there is no context switching.
- Templates are ordinary entries, so they can be filtered, searched, and sorted the same as any other row.
- You can have as many template rows as you need, organized by type, department, or project phase.
How Do I Set Up a Template Row?
Before you can duplicate rows, you need a TableCrafter table with inline editing enabled. Here is the recommended setup path:
- Go to TableCrafter → Tables → Add New in your WordPress admin.
- Select your Gravity Form as the data source and configure the columns you want visible in the table.
- Under the Features tab in the table builder, enable Inline Editing and Row Duplication.
- Save the table and embed it using your shortcode:
[tablecrafter id="X"]. - Submit a Gravity Forms entry that contains your default field values. This becomes your first template row.
TEMPLATE to distinguish template rows from live data. You can then create a filtered table view that hides template rows from regular users while keeping them accessible to admins.Once your template row exists, inline editing lets you refine it at any time directly from the table, no need to go back into the Gravity Forms entry editor.
What Is Role-Based Permissions: Controlling Who Can Duplicate?
Pro Row duplication respects TableCrafter's role-based permission system, which operates at both the table level and the column level. This gives you fine-grained control over who can create new entries from templates.
For example, you might want dispatchers to be able to duplicate template rows and fill in trip-specific fields, while drivers can only edit a subset of columns on rows already assigned to them. The configuration lives in the Permissions tab of the table builder:
- Table-level permissions control which WordPress roles can view, edit, or perform bulk/row actions on the entire table.
- Column-level permissions let you mark specific columns as read-only for certain roles, so a duplicated row can be partially locked down the moment it is created.
[tablecrafter id="12"]
A single shortcode renders the table with all permission rules applied server-side. Users who lack duplication rights simply do not see the duplicate icon, no client-side workarounds needed.
wp-admin/admin-ajax.php.How Does Combining Row Duplication with Other Pro Features Work?
Row duplication becomes significantly more powerful when paired with other Pro-tier features in the same table.
Status Badges
Map a field value like TEMPLATE or Draft to a distinct badge color using the status badges feature. Template rows get a yellow "Template" badge and duplicated rows automatically start with a "Draft" badge (if your default field value is Draft). Users can change the status inline without leaving the table.
Column Fill (Bulk Action)
After duplicating multiple rows from a template, use the column-fill bulk action to set the same value across all new rows at once. For example, assign the same project code, billing period, or department name to a batch of duplicated rows in a single operation instead of editing each one individually.
Email Alerts
TableCrafter's email alert feature triggers when entry data changes. You can configure an alert so that any time a row is duplicated and then edited to change a specific field (such as "Status" moving from Draft to Active), a notification is sent to a team lead or manager. This creates a lightweight approval-notification pipeline on top of your template workflow.
Auto-Refresh
If multiple team members are working from the same table simultaneously, duplicating template rows and filling in data, enabling auto-refresh ensures everyone sees new rows as they appear, without manually reloading the page. The AJAX-based refresh polls at a configurable interval and merges new rows into the live table view.
[tablecrafter id="12" refresh="30"]
refresh attribute sets the polling interval in seconds. A value of 30 is a reasonable default for collaborative data-entry workflows without generating excessive server load.What Is Practical Example: Driver Trip Report Templates?
Here is a concrete workflow that illustrates how a logistics or trucking operation might use this pattern. A dispatcher maintains three template rows in the main Loads Hauled table:
- TEMPLATE: Local Run, pre-filled with local rate, standard mileage zone, and common cargo type
- TEMPLATE: Long Haul, pre-filled with long-haul rate, default fuel surcharge, and interstate routing flag
- TEMPLATE: Hazmat, pre-filled with hazmat rate, required documentation flags, and compliance fields set to
Pending
When a new trip needs to be logged, the dispatcher finds the matching template row, clicks duplicate, and a new entry appears at the top of the table. The dispatcher then edits only the fields that are unique to this trip: driver name, date, origin, destination, and load weight. Every other field is already correct from the template. Total time to create a complete, accurate trip record: under 30 seconds.
Column-level permissions ensure that drivers, who can view the table under their own role, cannot see or edit the Rate or Fuel Surcharge columns. The template rows themselves are hidden from driver views via a saved filter that excludes rows where Record Type equals TEMPLATE.
id value but different page contexts: one for admins that shows all rows including templates, and one for drivers that uses advanced filters to exclude template rows. Both shortcodes point to the same underlying table configuration.Frequently Asked Questions
How Does What Row Duplication Actually Does Work?
Row duplication is a Pro feature available in TableCrafter tables that are connected to a Gravity Forms data source. When a user clicks the duplicate icon on any row, TableCrafter calls the Gravity Forms API to create a brand-new entry that is an exact copy of the original. The new entry receives its own unique entry ID and a fresh submission timestamp, it is not a reference or alias to the sourc
What Is TableCrafter?
TableCrafter is a WordPress plugin that turns data from Gravity Forms, Google Sheets, Airtable, Notion, REST APIs, CSV files, and WooCommerce into interactive, sortable, filterable frontend tables. Embed any table on any WordPress page with the [tablecrafter] shortcode or the native Gutenberg block. No PHP or custom development required. The free version supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV and PDF, role-based column visibility, and auto-refresh.
Does this require PHP or developer skills?
No. TableCrafter is configured entirely through the WordPress admin interface. You choose your data source, map fields to columns, and set display preferences using point-and-click controls. Embedding uses the [tablecrafter] shortcode or the native Gutenberg block.
Is the free version sufficient or do I need Pro?
The free plugin on WordPress.org supports CSV, JSON, Google Sheets, and Excel sources with unlimited tables, rows, and columns. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST API sources, inline cell editing, bulk row actions, export to CSV and PDF, role-based column visibility, and auto-refresh every N seconds.
Ready to try it?
TableCrafter is free on WordPress.org. Pro unlocks inline editing, role-based permissions, and advanced data sources.
The permission check runs server-side on every request. Frontend users cannot bypass column restrictions by modifying the HTML or disabling JavaScript, because TableCrafter evaluates the current user's role before the data leaves the server.
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.