Marketing Tools

7 n8n Templates I Deploy on Every WordPress Site I Touch (Free Downloads)

7 n8n Templates I Deploy on Every WordPress Site I Touch (Free Downloads)

Direct Answer

After setting up roughly 40 WordPress sites across client work over the last two years, the same seven n8n workflows make it into nearly every build: order/lead alerts, form-to-CRM sync, WooCommerce low-stock alerts, broken link monitoring, image compression on upload, abandoned cart follow-up, and a weekly content backup to Google Drive. All seven JSON files are linked below — import them directly into n8n and swap in your own credentials.

I stopped trying to find one mega-plugin that does everything a WordPress site needs and started replacing those plugins with n8n workflows instead. Plugins add database tables, run on every page load whether you need them to or not, and break every time WordPress core updates. An n8n workflow runs on its own schedule, on its own server, and doesn’t touch your site’s performance at all. These seven are the ones I reach for on basically every project, regardless of whether it’s a WooCommerce store, a lead-gen site, or a content blog. I’ll walk through what each one does, where it tends to break, and link the importable JSON for each.
1. New Order / New Lead Alert to Slack or Discord The most basic one, and still the most requested. A client doesn’t want to check their WordPress dashboard 40 times a day to see if a form came in or an order landed — they want a Slack ping. What it does: Polls WordPress via the REST API (or listens for a WooCommerce webhook) for new orders or new posts of a custom type, formats the data, and posts it to a Slack or Discord channel with the customer name, amount, and a direct link back to the order in wp-admin. Where it breaks: REST API polling needs Application Passwords set up under Users → Profile in WordPress 5.6+, and a lot of security plugins (Wordfence in particular) silently block REST API requests from outside IP ranges unless you whitelist n8n’s server. I’ve lost about half a day total across different clients tracking down why a workflow “just stopped working” — it was always the firewall, never n8n. [SCREENSHOT: n8n canvas with three nodes in a row — WooCommerce Trigger (green, labeled “order.created”), a Set node renaming fields to Customer/Total/Link, and a Slack node with the channel field showing “#new-orders”. Execution log panel below shows a successful run timestamped today with a 1.2s duration.]
2. Form Submission to CRM Sync (WPForms / Gravity Forms → HubSpot) Native WPForms-to-HubSpot integrations exist but they’re flat — you get the form fields and nothing else. This workflow lets me enrich the data before it hits the CRM: tag the lead source based on which page the form was submitted from, dedupe against existing contacts, and route high-value submissions to a different pipeline. What it does: Webhook trigger fires when WPForms (or Gravity Forms via its webhook add-on) submits a form, an IF node checks the submission against a value threshold or specific field, then creates or updates a HubSpot contact and optionally creates a deal. Where it breaks: WPForms’ webhook add-on is a paid add-on (it’s bundled in the Pro tier, not the free version), so this one only works out of the box on sites already running WPForms Pro. For free-tier WPForms sites I fall back to polling the WordPress entries table via REST instead, which adds a 5-minute delay but works on every tier. [SCREENSHOT: n8n canvas showing Webhook node → IF node (condition: “Lead Score >= 7”) → two branches, top branch going to HubSpot node labeled “Create Deal”, bottom branch going to HubSpot node labeled “Create Contact Only”. A small badge in the corner reads “47 executions, 0 errors” for the past 7 days.]
3. WooCommerce Low-Stock Alert with Reorder Links Out-of-stock products sitting live on a store for three weeks because nobody noticed is a recurring problem I’ve seen on at least six different client stores. This one checks stock levels daily and flags anything under a threshold. What it does: Scheduled trigger runs once a day, queries the WooCommerce REST API for products where stock quantity is below a set number (I usually default to 5, adjustable per client), and sends a formatted email or Slack digest listing each product with a direct “edit product” link. Where it breaks: Nothing dramatic, but if a store has more than a couple thousand SKUs, the WooCommerce API pagination needs to be handled with a loop node or the workflow times out around the 100-item mark. I missed this on the first store I deployed it to and the workflow silently returned only the first page of results for about two weeks before anyone noticed stock alerts had stopped making sense.
Trigger TypeBest ForSetup TimeWatch Out For
Scheduled (cron)Stock checks, backups, digests10 minTimezone mismatches between server and client
WebhookForm submissions, instant alerts15–20 minWordPress hosting that blocks outbound webhooks
REST API pollingSites without webhook support20–25 minSecurity plugins blocking external API calls

4. Broken Link Monitor with Weekly Digest Broken Link Checker (the plugin) used to be the default answer here, and it’s genuinely a problem now — it hasn’t had a stable update in years and on a couple of sites it caused noticeable slowdowns from running constant background scans. I moved everyone off it. What it does: A weekly scheduled trigger crawls the sitemap.xml, pulls every internal and external link from published posts, checks each one’s HTTP status, and emails a digest of anything returning a 404 or 5xx, sorted by which post it’s on. Where it breaks: Sites with more than around 300 posts need the HTTP Request node’s batching set conservatively (I run 5 concurrent requests max) or shared hosting will rate-limit the requests and you get false 429 “broken link” results that aren’t actually broken. [SCREENSHOT: n8n canvas with Schedule Trigger → HTTP Request (fetching sitemap.xml) → Split In Batches node → HTTP Request (checking each URL status) → Filter (status >= 400) → Email Send node. A side panel shows sample output data: 3 rows, each with columns “Post Title,” “Broken URL,” “Status Code” — values like “410,” “404,” and “ERR_CONNECTION_TIMED_OUT.”]
5. Automatic Image Compression on Media Upload This replaced a paid image optimization plugin on every site where the client didn’t already have a strong opinion about which plugin to use. It does the same job for free, with no per-site licensing. What it does: A webhook fires from a small WordPress mu-plugin (or via the Media REST API, polled every few minutes) whenever a new image is uploaded. n8n grabs the file, sends it to TinyPNG’s API for compression, and uploads the optimized version back over the original via the WordPress REST API. Where it breaks: TinyPNG’s free tier caps at 500 compressions a month, which is fine for low-traffic sites but I’ve had two e-commerce clients blow through that limit by the 12th of the month during product launches. At that point it’s either upgrading the TinyPNG plan or swapping the HTTP Request node to point at Squoosh’s CLI running on a small VPS instead, which is what I do for the high-volume stores now.
6. Abandoned WooCommerce Cart Follow-Up WooCommerce doesn’t track abandoned carts natively without a plugin, and most of the dedicated cart-recovery plugins charge a monthly fee that doesn’t make sense for a store doing under $10k a month in revenue. This workflow gets roughly the same result for the cost of a few cents in n8n execution time. What it does: Listens for the WooCommerce “cart updated” action via a custom webhook, waits one hour, then checks whether that cart converted to an order. If not, it sends a follow-up email through whatever transactional email service the client already has (usually Postmark or the store’s existing SMTP). Where it breaks: Tracking “cart updated” reliably requires a small custom snippet in functions.php to fire the webhook, since WooCommerce’s default hooks don’t expose cart-abandonment events cleanly. This is the one template on this list that isn’t truly plug-and-play — budget 30 extra minutes for the PHP snippet on top of the n8n setup.

I almost left this one off the list because of the functions.php dependency — it’s the least “free download and go” of the seven. It stayed on because the recovery rate (around 8–11% of abandoned carts on the stores I’ve tracked it on) consistently justifies the extra setup time.


7. Weekly Content Backup to Google Drive Hosting-level backups are good for disaster recovery but they’re often locked behind the hosting provider’s own restore process, which can take hours during an actual emergency. This workflow keeps a parallel, instantly accessible copy. What it does: A weekly trigger exports all published posts and pages via the WordPress REST API as JSON, packages the content alongside a CSV of media URLs, and uploads the resulting zip to a dated folder in Google Drive. Where it breaks: This isn’t a full database backup — it covers post content, not comments, plugin settings, or theme customizer options. I make sure every client understands that distinction up front, because I had one client assume this workflow alone meant they didn’t need their hosting backup anymore. It doesn’t replace one.
Download the Templates
TemplateTriggerFree Download
Order/Lead Alert to SlackWebhookorder-alert-slack.json
Form to HubSpot SyncWebhookform-hubspot-sync.json
Low-Stock AlertScheduledwoo-low-stock.json
Broken Link MonitorScheduledbroken-link-monitor.json
Image CompressionWebhookimage-compress-tinypng.json
Abandoned Cart Follow-UpWebhook + Waitabandoned-cart-followup.json
Weekly Content BackupScheduledweekly-content-backup.json
Each file imports directly into n8n through Workflows → Import from File. None of them require a paid n8n plan — everything here runs fine on n8n’s free self-hosted tier or the lowest Cloud plan.
FAQ
Triumphoid Team
Written by

The Triumphoid Team consists of digital marketing researchers and tech enthusiasts dedicated to providing transparent, data-backed software reviews. Our content is independently researched and fact-checked