How to Send Table Alerts to Multiple Recipients in TableCrafter

TableCrafter's email alert system fires a notification the moment a field value crosses a threshold you define, useful for status changes, numeric limits, or keyword matches. This guide explains how alerts work, how the rule engine evaluates conditions, and the straightforward pattern for routing the same alert to multiple recipients. 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 block. JSON is the default data format for 96% of public REST APIs (ProgrammableWeb, 2024).
What Are Email Alerts and When Do They Fire?
Pro Email alerts are threshold-based notifications tied to individual table fields. A rule watches a specific field and sends an email the moment a value crosses the threshold you set, not every time the field is saved, and not if the value was already past the threshold before the edit.
The crossing logic is intentional: if a numeric field already reads 250 and you edit it to 300, and your rule is > 100, no email is sent because the old value already satisfied the condition. An email fires only when the previous value did not pass the rule and the new value does. This prevents alert floods when people make incremental changes to a field that has been over the threshold for days.
Alerts trigger on three write paths:
- Inline cell edits made directly in the table frontend
- Bulk column fills (writing one value to multiple selected rows at once)
- Entry duplications that produce a new row whose field value satisfies a rule
GT_Email_Alerts::fire_alerts() method exits immediately when gt_is_premium() returns false. Free-tier tables will not evaluate or send any alert rules, even if rules exist in the settings JSON.How Does Understanding the Rule Structure Work?
Each alert rule has four fields. You can add as many rules to a table as you need, and they are evaluated independently on every write:
- Field ID, the Gravity Forms field ID (an integer) whose value should be watched. Find this in the Gravity Forms form editor, it appears below the field label.
- Operator, one of
>,<,=,>=,<=, orcontains. Numeric comparisons cast both sides to float automatically;containsdoes a plain string search. - Threshold, the value to compare against. For numeric operators this can be any number including decimals. For
contains, enter the substring you want to detect (e.g.,urgent). - Recipient email, a single valid email address. Each rule delivers to exactly one address.
A rule with an invalid email, a missing field ID, an empty threshold, or an unrecognized operator is silently discarded when the table is saved. TableCrafter runs all four fields through WordPress sanitization (sanitize_text_field on the field ID, operator, and threshold; sanitize_email on the recipient) before storing anything.
How Does Sending Alerts to Multiple Recipients Work?
Each rule stores exactly one recipient. To deliver the same alert to several people, create one rule per recipient, keeping the field ID, operator, and threshold identical across all of them. TableCrafter iterates over every rule on each write, so all matching rules fire independently.
Here is what three rules targeting the same field look like in the table builder, one for each stakeholder:
Rule 1: Field ID: 5 | Operator: > | Threshold: 1000 | Recipient: manager@company.com
Rule 2: Field ID: 5 | Operator: > | Threshold: 1000 | Recipient: finance@company.com
Rule 3: Field ID: 5 | Operator: > | Threshold: 1000 | Recipient: director@company.com
When field 5 is edited from 900 to 1200, all three rules pass the crossing check and TableCrafter calls wp_mail() three times in sequence, one per recipient. The emails arrive independently, so each person's inbox shows only their own copy with no visible CC list.
How Do I Set Up Alert Rules in the Table Builder?
Alert rules are configured inside the table editor, not in the global plugin settings. Navigate to TableCrafter → Tables, open the table you want to configure, and scroll to the Email Alerts (Pro) section in the advanced settings panel.
- Click + Add alert rule. A new rule row appears with inputs for Field ID, Operator, Threshold, and Recipient email.
- Enter the Gravity Forms field ID you want to watch. You can find this number in Forms → [your form] → [field settings].
- Choose an operator from the dropdown. Use
>or>=for "value exceeds a limit,"=for an exact match, andcontainsfor text fields where you want to catch a specific word or phrase. - Enter the threshold value in the next input.
- Enter a single recipient email address.
- Repeat steps 1–5 for each additional recipient, duplicating the same field/operator/threshold values.
- Save the table. TableCrafter validates every rule on save and drops any that fail validation, if a recipient address does not pass WordPress's
is_email()check, that rule will not be stored.
3, 12). Use that number in the Field ID input.What the Alert Email Contains?
Each alert email is sent via WordPress's wp_mail() function using your site's configured mail transport (SMTP plugin, SendGrid, Mailgun, or the default PHP mail handler). The subject line identifies the plugin, the field label, and the table name:
[TableCrafter Alert] Field "Amount" crossed threshold on table "Invoice Tracker"
The body provides everything needed to act immediately:
- Table name and field label
- The old value (before the edit) and the new value (after the edit)
- The operator and threshold that were crossed
- A direct link to the table editor in WordPress admin
Formatting is plain text. If your site has an email plugin that wraps outgoing wp_mail() calls in an HTML template, the alert body will be included inside that wrapper automatically.
How Do Operators and Threshold Examples Work?
The six supported operators cover most monitoring scenarios. Here are practical examples:
> 500on a numeric field, alert when a dollar amount, mileage count, or inventory number exceeds a limit< 10on a quantity field, alert when stock drops below a minimum= Approvedon a status field, alert when a record is marked approved (exact match, case-sensitive)contains urgenton a notes field, alert when someone types the word "urgent" anywhere in a free-text field>= 100on a percentage field, alert when utilization hits full capacity<= 0on a balance field, alert when an account goes to zero or negative
The contains operator is the only non-numeric option and always treats both the field value and the threshold as strings. All other operators attempt a float cast first; if either side is not numeric they fall back to a string comparison using PHP's standard loose equality (==) or comparison operators.
Frequently Asked Questions
What Are Email Alerts and When Do They Fire?
Pro Email alerts are threshold-based notifications tied to individual table fields. A rule watches a specific field and sends an email the moment a value crosses the threshold you set, not every time the field is saved, and not if the value was already past the threshold before the edit.
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.
Filters applied to the table URL as query parameters persist if the user copies and shares the URL. This makes filtered views bookmarkable and shareable, which is particularly useful for team dashboards where different users need to see different default views of the same underlying 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.