WordPress Integration Guide
Set up automated notifications for your WordPress site in 20 minutes
The NotiGrid WordPress plugin enables seamless integration between your WordPress site and the NotiGrid notification platform. Send order confirmations, form submission alerts, user registration notifications, and custom events across Email, Slack, SMS, and Push channels.
What you will learn:
- Install and configure the NotiGrid WordPress plugin
- Connect your WordPress site to NotiGrid
- Set up WooCommerce order notifications
- Configure team alerts via Slack
- Handle form submission notifications
- Create custom event triggers
Why Use NotiGrid with WordPress?
Default WordPress Email Limitations
| Issue | Problem | NotiGrid Solution |
|---|---|---|
| Deliverability | Emails often go to spam | Professional email providers (SES, Resend) |
| Reliability | PHP mail() is unreliable | Queued, guaranteed delivery |
| Multi-channel | Email only | Email, Slack, SMS, Push |
| Team notifications | Not available | Real-time Slack alerts |
| Templates | Basic, hard to customize | Rich HTML templates with variables |
| Tracking | No delivery confirmation | Full delivery logs |
Use Cases
| Site Type | Notifications |
|---|---|
| WooCommerce Store | Order confirmations, shipping updates, low stock alerts |
| Membership Site | Welcome emails, renewal reminders, expiration warnings |
| Community/Forum | New post alerts, reply notifications, mention alerts |
| Business Site | Form submissions, appointment bookings, contact requests |
| Agency Sites | Client notifications, lead alerts, status updates |
Prerequisites
Before starting, ensure you have:
- A WordPress site (version 5.8 or higher)
- Admin access to WordPress dashboard
- A NotiGrid account (sign up free)
- At least one NotiGrid integration configured (Email or Slack)
- At least one notification channel created
Step 1: Install the NotiGrid Plugin
Option A: WordPress Plugin Directory
- Log in to your WordPress admin dashboard
- Navigate to Plugins > Add New
- Search for "NotiGrid"
- Click Install Now on the NotiGrid plugin
- Click Activate
Option B: Manual Upload
- Download the plugin from NotiGrid Downloads
- Go to Plugins > Add New > Upload Plugin
- Choose the downloaded zip file
- Click Install Now
- Click Activate
Option C: WP-CLI
wp plugin install notigrid --activateStep 2: Configure Plugin Settings
Navigate to Settings > NotiGrid in your WordPress admin.
General Settings Tab
Enable NotiGrid
Toggle this on to activate the plugin. When disabled, no notifications will be sent.
API Key
Enter your NotiGrid API key:
- Log in to NotiGrid Dashboard
- Go to Settings > API Keys
- Copy your API key (starts with
ng_live_orng_test_) - Paste into the API Key field
API Endpoint
Leave as default (https://api.notigrid.com) unless you are using a custom deployment.
Error Notification Channel
Select a channel to receive notifications when plugin errors occur. This helps you stay informed about delivery issues.
Test Connection
Click the Test Connection button to verify your API key is working. You should see:
- Success message with organization name
- Available channels count
- API version
If the test fails:
- Verify your API key is correct
- Check that your server can reach api.notigrid.com
- Ensure your API key has the required permissions
Step 3: WooCommerce Integration
If WooCommerce is installed, you'll see a WooCommerce tab.
Enable WooCommerce Events
Toggle each event type you want to send notifications for:
| Event | Description | Recommended |
|---|---|---|
| New Order | When customer places an order | Yes |
| Order Completed | When order status changes to completed | Yes |
| Order Failed | When payment fails | Yes |
| Order Refunded | When refund is processed | Yes |
| Order Cancelled | When order is cancelled | Optional |
| Low Stock | When product stock is low | Yes |
| Out of Stock | When product reaches zero stock | Yes |
| High-Value Order | Orders above threshold | Optional |
| Payment Failed | Payment processing failure | Yes |
Channel Selection
For each event, select a notification channel from the dropdown:
Event -> Channel
─────────────────────────────────────
New Order -> woocommerce-orders
Order Completed -> customer-updates
Order Failed -> urgent-alerts
Low Stock -> inventory-alerts
High-Value Order -> vip-orders
The dropdown shows all channels available in your NotiGrid account. Create channels in your NotiGrid Dashboard first.
High-Value Order Threshold
Set the minimum order amount (in your store's currency) to trigger high-value order notifications. For example:
500= Orders of $500 or more1000= Orders of $1000 or more
Step 4: Available Variables
The plugin automatically extracts data from WordPress/WooCommerce and sends it as variables.
Order Variables
Use these in your NotiGrid templates:
| Variable | Description | Example |
|---|---|---|
[order_id] | Order ID | 1234 |
[order_number] | Order number | WC-1234 |
[order_status] | Current status | processing |
[order_total] | Total amount | 149.99 |
[currency] | Currency code | USD |
[customer_name] | Customer name | John Smith |
[customer_email] | Customer email | john@example.com |
[payment_method] | Payment method | Credit Card |
[items_count] | Number of items | 3 |
[product_name] | First product | Blue T-Shirt |
[product_names] | All products | Blue T-Shirt, Jeans |
[products_list] | Products with qty | Blue T-Shirt x2 |
[site_name] | Site name | My Store |
[site_url] | Site URL | https://mystore.com |
[order_url] | Admin order URL | https://mystore.com/wp-admin/... |
Inventory Variables
| Variable | Description | Example |
|---|---|---|
[product_id] | Product ID | 567 |
[product_name] | Product name | Blue T-Shirt |
[product_sku] | Product SKU | BLU-TSH-M |
[stock_quantity] | Current stock | 5 |
[product_url] | Admin product URL | https://mystore.com/wp-admin/... |
Step 5: Create NotiGrid Templates
In your NotiGrid dashboard, create templates that use the variables above.
Example: Order Confirmation Email
Name: woocommerce-new-order
Type: email
Subject: Order #[order_number] Confirmed
Body:
<h1>Thank you for your order, [customer_name]!</h1>
<p>We've received your order and it's being processed.</p>
<div style="background: #f8f9fa; padding: 20px; border-radius: 8px;">
<h2>Order Details</h2>
<p><strong>Order:</strong> #[order_number]</p>
<p><strong>Total:</strong> [order_total] [currency]</p>
<p><strong>Payment:</strong> [payment_method]</p>
</div>
<h3>Products</h3>
<p>[products_list]</p>
<p>Questions? Reply to this email.</p>
<p>Thanks,<br>[site_name] Team</p>
Example: Slack New Order Alert
Name: woocommerce-new-order-slack
Type: slack
Body:
:package: *New Order #[order_number]*
*Customer:* [customer_name]
*Email:* [customer_email]
*Total:* *[order_total] [currency]*
Products: [product_names]
<[order_url]|View Order>
Example: Low Stock Slack Alert
Name: woocommerce-low-stock
Type: slack
Body:
:warning: *Low Stock Alert*
*[product_name]*
SKU: [product_sku]
Stock: *[stock_quantity] units remaining*
<[product_url]|Manage Product>
Step 6: Create Notification Channels
In NotiGrid, create channels that combine templates with integrations.
Order Notifications Channel
{
name: "woocommerce-orders",
description: "New order notifications",
steps: [
{
order: 0,
type: "email",
integrationId: "your-email-integration",
templateId: "woocommerce-new-order",
config: {
to: "[customer_email]"
}
},
{
order: 1,
type: "slack",
integrationId: "your-slack-webhook",
templateId: "woocommerce-new-order-slack"
}
]
}Inventory Alerts Channel
{
name: "inventory-alerts",
description: "Stock level alerts",
steps: [
{
order: 0,
type: "slack",
integrationId: "your-slack-webhook",
templateId: "woocommerce-low-stock"
}
]
}Step 7: Testing Your Setup
Test Order Flow
- Add a product to your cart
- Complete checkout with a test payment
- Check:
- Customer receives order confirmation email
- Team receives Slack notification
- View logs in NotiGrid dashboard
Test Inventory Alerts
- Edit a product in WooCommerce
- Set stock quantity to a low number (e.g., 3)
- Save the product
- Check Slack for low stock alert
View Notification Logs
- Log in to NotiGrid Dashboard
- Go to Logs
- Filter by channel or time range
- View delivery status for each notification
Advanced Configuration
Custom Events
For advanced users, trigger custom NotiGrid notifications from PHP:
// Get the NotiGrid client
$notigrid = notigrid_get_client();
if ($notigrid) {
$notigrid->send_notification(
'custom-channel-id',
'custom-template-name',
array(
'user_name' => 'Jane Doe',
'action' => 'Completed profile',
'timestamp' => current_time('mysql')
)
);
}Form Submission Notifications
Hook into popular form plugins:
// Contact Form 7
add_action('wpcf7_mail_sent', function($contact_form) {
$submission = WPCF7_Submission::get_instance();
$data = $submission->get_posted_data();
$notigrid = notigrid_get_client();
if ($notigrid) {
$notigrid->send_notification(
'form-submissions',
'contact-form',
array(
'name' => $data['your-name'],
'email' => $data['your-email'],
'message' => $data['your-message'],
'form_title' => $contact_form->title()
)
);
}
});User Registration Notifications
add_action('user_register', function($user_id) {
$user = get_userdata($user_id);
$notigrid = notigrid_get_client();
if ($notigrid) {
$notigrid->send_notification(
'user-signups',
'new-user',
array(
'user_id' => $user_id,
'username' => $user->user_login,
'email' => $user->user_email,
'display_name' => $user->display_name,
'registered' => $user->user_registered
)
);
}
});Troubleshooting
Plugin Not Sending Notifications
- Check plugin is enabled - Toggle must be ON in settings
- Verify API key - Click Test Connection
- Check channel selection - Each event needs a channel assigned
- Review NotiGrid logs - Check dashboard for errors
- Check PHP error log - Look for NotiGrid-related errors
"Failed to fetch channels" Error
- Verify API key is correct and active
- Check server can reach api.notigrid.com
- Ensure API key has read permissions
Emails Going to Spam
- Configure SPF/DKIM for your sending domain
- Use a verified domain in your email integration
- Review email content for spam triggers
Missing Variables in Templates
- Ensure variable names match exactly (case-sensitive)
- Check NotiGrid logs for the actual payload sent
- Update plugin to latest version
Frequently Asked Questions
Does this replace WooCommerce emails?
The NotiGrid plugin sends additional notifications alongside WooCommerce's built-in emails. You can disable WooCommerce emails if you want NotiGrid to be the sole email sender.
Can I use this without WooCommerce?
Yes. The plugin works with any WordPress site. WooCommerce integration is optional and only appears if WooCommerce is installed.
How do I send different notifications per product?
Currently, notifications are event-based. For product-specific logic, use custom code with the PHP API to check product IDs and route to different channels.
Is there a notification limit?
Limits depend on your NotiGrid plan:
- Free: 10,000/month
- Pro: 50,000/month
- Team: 200,000/month
- Scale: 500,000+/month
Can I test without sending real notifications?
Use NotiGrid test mode (API key starting with ng_test_) to send test notifications that appear in logs but don't deliver to real recipients.
Does this work with WordPress Multisite?
Yes, the plugin works with Multisite. Each site can have its own API key and configuration.
Summary
Setting up NotiGrid with WordPress enables:
- Reliable email delivery via professional providers
- Multi-channel notifications across Email, Slack, SMS
- Real-time team alerts for orders and events
- Inventory monitoring with automatic alerts
- Custom event triggers for any WordPress action
The plugin handles WooCommerce integration automatically, while providing hooks for custom notifications.
Next Steps
- WooCommerce Notifications Blog Post - Detailed WooCommerce setup
- Template Guide - Create effective templates
- Email vs Slack vs SMS Guide - Choose the right channels
- Getting Started with NotiGrid - SDK setup guide
Need Help?
Email Support: support@notigrid.com Documentation: docs.notigrid.com Schedule a Demo: notigrid.com/demo
Ready to send your first notification?
Get started with NotiGrid today and send notifications across email, SMS, Slack, and more.