Skip to main content

Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack

Workflow preview

Workflow preview
100%
Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack preview
Open on n8n.io

1. Workflow Overview

Promo Code Expiry Alert System Webhook, Google Sheets, Gmail & Slack This workflow automates promo code management by receiving data via webhook, validating expiry, storing it in Google Sheets...

Best for

  • Miscellaneous automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.webhook, n8n-nodes-base.set, n8n-nodes-base.if, n8n-nodes-base.gmail, n8n-nodes-base.googlesheets, n8n-nodes-base.slack, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by WeblineIndia.

Original n8n.io source

1.1 Workflow description

Title
Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack
Workflow name
Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack

Promo Code Expiry Alert System

> Webhook, Google Sheets, Gmail & Slack


This workflow automates promo code management by receiving data via webhook, validating expiry, storing it in Google Sheets and sending alerts through Gmail and Slack based on urgency. It ensures teams never miss expiring promotions and can act proactively.

Quick Implementation Steps

  • Import the workflow JSON into your n8n account
  • Configure Webhook node and test with sample data
  • Connect Gmail, Google Sheets and Slack credentials
  • Update sheet columns and Slack channel IDs
  • Activate workflow and start sending POST requests

What It Does

This workflow automates the complete lifecycle of promo code tracking and alerting. It starts by receiving promo data through a webhook, which can be triggered from any external system like a form, API or application. The data is then normalized to maintain consistency across all fields.

Once the data is structured, the workflow validates whether the promo code is still active based on its expiry date. If valid, it proceeds to send an email notification and store the details in a Google Sheet for record-keeping and tracking purposes.

The workflow then calculates the number of days remaining until expiry and intelligently categorizes the promo into urgency levels. Based on this, it sends Slack alerts—urgent alerts for promos expiring in one day and warning alerts for those expiring within two to three days.

Who It's For

  • Marketing teams managing promotional campaigns
  • E-commerce businesses tracking discount codes
  • Operations teams needing real-time alerts
  • Developers automating backend workflows
  • Startups looking for low-code automation solutions

Requirements

  • n8n account (cloud or self-hosted)
  • Gmail account (OAuth configured)
  • Google Sheets account with a sheet created
  • Slack workspace with API access
  • Basic understanding of webhook requests

How It Works & Set Up

  1. Create a new workflow in n8n and import the provided JSON file.
  2. Configure the Webhook node to accept POST requests and copy the generated URL.
  3. Send test data with fields: code, discount_type, value, expiry and usage_limit.
  4. Set up Gmail credentials in the “Send Promo Email” node.
  5. Connect your Google Sheets account and ensure the sheet has columns: Code, Discount, Expiry, Usage Limit.
  6. Configure Slack credentials and select the appropriate channel in both alert nodes.
  7. Verify expressions used in Set and IF nodes for correct data mapping and calculations.
  8. Test the workflow end-to-end using sample payloads.
  9. Activate the workflow to enable real-time execution.

How To Customize Nodes

  • Webhook Node: Modify path or method if integrating with a specific system
  • Set Node: Add or remove fields based on your promo structure
  • IF Nodes: Adjust conditions for different expiry ranges (e.g., 5 days warning)
  • Gmail Node: Customize subject and HTML message format
  • Google Sheets Node: Map additional fields like campaign name or category
  • Slack Nodes: Change message format, emojis or channel IDs

Add-ons

  • Add Cron node for daily expiry checks
  • Integrate WhatsApp or SMS notifications
  • Add database storage (MySQL, MongoDB)
  • Include duplicate promo validation
  • Add dashboard visualization using BI tools

Use Case Examples

  • Track limited-time discount codes for e-commerce stores
  • Monitor SaaS subscription promo offers
  • Alert teams about expiring affiliate campaigns
  • Manage seasonal marketing promotions
  • Automate coupon lifecycle tracking

There can be many more use cases depending on how promo or expiry-based data is used in your system.

Troubleshooting Guide

Issue Possible Cause Solution
Workflow not triggering Webhook not active Activate workflow and use correct URL
No data in Google Sheets wrong column mapping Verify field mapping in Sheets node
Slack message not sent Wrong channel ID or credentials Reconnect Slack and check channel चयन
Wrong days calculation Date format issue Ensure expiry is in YYYY-MM-DD format
IF condition not working Type mismatch (string vs number) Use correct data types in expressions

Need Help?

If you need assistance setting up this workflow or want to extend it with advanced features like dashboards, CRM integration or multi-channel notifications, feel free to reach out our n8n automtion experts at WeblineIndia

We specialize in building scalable automation workflows tailored to your business needs. Whether you're just getting started or looking to optimize existing processes, we’re here to help you succeed.

Get in touch to build custom n8n workflows or enhance this solution further.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Receive Promo Request

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2.1

Block 2 - Normalize Promo Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 3 - Expiry Is Valid

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 4 - Send Promo Email

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 5 - Save Promo to Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 6 - Calculate Days Left

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 7 - Is Urgent (1 Day Left)

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 8 - Slack Urgent Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 9 - Is Warning (2–3 Days Left)

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 10 - Slack Warning Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 11 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack
Complexity advanced
Nodes 16
Categories Miscellaneous
Author WeblineIndia
Published 22 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15238/15238.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Send promo code expiry alerts using Webhook, Google Sheets, Gmail and Slack do?

Promo Code Expiry Alert System Webhook, Google Sheets, Gmail & Slack This workflow automates promo code management by receiving data via webhook, validating expiry, storing it in Google Sheets...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Miscellaneous use case.