How to Schedule Automatic Table Exports in TableCrafter

Updated July 2026 • 7 min read • By Fahad Murtaza

TableCrafter table builder, connect Gravity Forms, Google Sheets, Airtable, CSV, or JSON data sources
TableCrafter table builder, connect Gravity Forms, Google Sheets, Airtable, CSV, or JSON data sources

Not every manager wants to log into a WordPress site to pull a weekly report. TableCrafter's email alert system can attach a CSV or Excel export to a scheduled email and deliver it directly to a recipient's inbox. This guide covers the full configuration: setting the alert schedule, choosing the export format, adding recipients, and testing the delivery. 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. Airtable has over 450,000 organization customers worldwide (Airtable, 2024).

How Scheduled Exports Work in TableCrafter?

TableCrafter does not have a standalone scheduled export feature. Instead, it combines two systems:

  1. Email Alerts: Rules that trigger outbound emails based on conditions or time schedules.
  2. Export Attachment: An option on each alert that attaches the current table export to the email.

Together, these two features produce scheduled email reports with attached data files. The alert fires on schedule, generates the export at that moment, attaches it to the email, and sends it to the configured recipients.

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.

Prerequisites

Before configuring a scheduled export, make sure:

TableCrafter's scheduled alerts run on WordPress cron (wp-cron). If your hosting environment uses server-side cron instead of the default WordPress pseudo-cron, verify that wp-cron.php is either enabled or that the system cron is configured correctly. Missed cron runs mean missed email deliveries.

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 Do I Create the Email Alert?

  1. In the WordPress admin, go to TableCrafter > Tables and click Edit on the target table.
  2. Open the Alerts tab.
  3. Click Add New Alert.
  4. Set the Alert Name to something descriptive, such as "Weekly Delivery Summary to Manager".
  5. Under Trigger Type, select Schedule.

How Do I Configure the Schedule?

After selecting Schedule as the trigger type, the schedule configuration options appear:

Example configuration for a weekly Monday morning report:

WordPress cron fires within a reasonable window of the scheduled time, not at the exact second. A 7:00 AM schedule fires when the next page request hits the site after 7:00 AM. On low-traffic sites, this could mean a delay of minutes. Use a real cron job via wp-cron.php on a server cron if precise timing matters.

How Do I Add Recipients?

In the Recipients field, enter one or more email addresses separated by commas:

manager@example.com, ops@example.com

You can also use dynamic recipient tokens if the table includes user data:

For scheduled alerts, use explicit email addresses or the {admin_email} token. Dynamic user tokens do not apply because the alert fires via cron, not in response to a user action.

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.

How Do Writing the Email Subject and Body Work?

Set an Email Subject that will make sense in the recipient's inbox alongside the date:

Weekly Delivery Report, {date}

The {date} token is replaced with the current date when the email sends, producing subjects like "Weekly Delivery Report, June 24, 2026".

The Email Body can be a brief message explaining the attachment:

The setting is stored in the WordPress options table under the table's configuration key. It does not modify the original data source and can be changed at any time without affecting the underlying records.

After completing this step, verify the result by viewing the page as a logged-out visitor in an incognito window. This confirms the table behaves correctly for public visitors rather than reflecting admin-level permissions that may hide configuration issues during initial setup. Check both the rendered output and the browser console for any JavaScript errors.

Hi,

Please find attached this week's delivery log exported from the load tracking system as of {date} at {time}.

This report is generated automatically every Monday morning.

How Does Attaching the Export Work?

This is the step that turns a notification email into a data report:

  1. In the Alert configuration, find the Attach Export section.
  2. Toggle Attach table export to this email to enabled.
  3. Select the Export Format: CSV, Excel (XLSX), or PDF.
  4. Choose the Export Scope: Export all rows (most common for scheduled reports) or export filtered rows (if you have a saved filter applied to the table).
For weekly summary emails to a manager, Export all rows in CSV or XLSX format is usually the right choice. The manager gets a complete picture of the week's data in a format they can open immediately in Excel.

At the scheduled time, TableCrafter generates the export file in memory, attaches it to the email, and sends it. The file is not stored on the server after sending.

How Does Applying a Filter to the Scheduled Export Work?

If you want the scheduled export to contain only a filtered subset of data, for example, only records from the past 7 days, configure a default filter on the table alert:

  1. In the Alert's Export settings, select Export filtered rows.
  2. Set the Filter conditions for the alert export. These are independent from filters the user might apply in the browser.
  3. Example: Add a date filter where Created Date is within the last 7 days. TableCrafter evaluates this condition at export time, so the window is always relative to the moment the cron fires.

This produces a weekly email containing only last week's records, without requiring the recipient to filter the file themselves.

The column mapping you define here is stored as a JSON configuration in the WordPress database. You can export this configuration using the TableCrafter export tool and import it to another table or another site. This is useful when replicating a table layout across multiple pages or when migrating a table to a staging environment for testing before going live.

How Does Testing the Scheduled Alert Work?

Do not wait for the cron to fire to verify your configuration. Use the Send Test Email button in the Alert editor to trigger the alert immediately:

This applies to all users who can view the table, regardless of role. Role-specific overrides can be set per column under the column Visibility settings. The table-level setting acts as the default for any column without a role override.

TableCrafter re-fetches this data on each page load by default. If your data source updates infrequently and your site has significant traffic, enable the built-in caching option in the table's Performance tab. This stores the fetched data for a configurable number of minutes and serves it from WordPress transients, reducing API calls to the source and improving page load time for visitors.

  1. Click Send Test Email.
  2. Enter a test recipient address (your own, for verification).
  3. Click Send.
  4. Check your inbox for the email. Verify the subject, body, and attachment format.
  5. Open the attachment and confirm it contains the expected data.

What Are the Next Steps?

With scheduled exports in place, your team receives regular data reports without logging into WordPress. For more control over what recipients can do with the data, review the export permissions guide to ensure the table's export access is appropriately restricted. If recipients need only specific rows, not the full dataset, explore the filtered export configuration described in the filtered results guide.

Changes take effect immediately after saving. No cache flush or page refresh is required for the new configuration to apply to all shortcode instances of this table.

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.

Frequently Asked Questions

How Does How Scheduled Exports Work in TableCrafter Work?

TableCrafter does not have a standalone scheduled export feature. Instead, it combines two systems:

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.

TableCrafter validates this configuration on save. If validation fails, the admin panel displays a specific error message identifying which field caused the problem. Correct the field value and save again without needing to restart the setup process.

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.