Epic Games Free Game Discord Notifier - n8n Workflow

Use this powerful n8n workflow template to automatically monitor the Epic Games Store for new free game releases. Features include Puppeteer scraping, retry logic, change detection, and rich Discord notifications.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Gamers who want real-time updates on new free Epic Games titles without manually checking the store.

  • Automation specialists needing a robust web scraping solution using n8n and Puppeteer.

  • Server administrators who want to automatically post game news to their Discord channels.

  • Users looking for advanced examples of state management and change detection within an n8n workflow.

Overview

Keeping track of rotating free game offers can be tedious. This sophisticated n8n workflow solves this by autonomously checking the Epic Games Store daily. Due to modern anti-bot measures (like Cloudflare), this n8n template leverages the Puppeteer n8n node to perform headless browser scraping, ensuring reliable data extraction. The workflow includes essential error handling, such as a retry loop that attempts scraping up to five times if the initial attempt fails to find the game listings. Crucially, it uses static workflow data to perform hash-based change detection, meaning the Discord notification is only sent when a genuinely new or updated offer is detected, preventing spam. This complex n8n workflow demonstrates advanced concepts in reliable data monitoring and notification systems.

How it Works

The entire process is initiated by the Schedule Trigger n8n node, set to run once daily at 19:
00.


  1. Initialization and Fetch: The n8n trigger starts the workflow, and the Set Retries n8n node initializes the retry count. The workflow then uses the GET Epic Games Free Games page Puppeteer n8n node to load and render the free games page, bypassing potential scraping blocks.

  2. Data Extraction and Validation: The Extract offers HTML n8n node attempts to pull relevant HTML containers containing offer data. The If has Results filter checks if any offers were found. If not, the workflow enters a robust retry loop (Wait between requests, Update Retries, If Has Retries) for up to 5 attempts. If all retries fail, an error notification is sent to Discord.

  3. Parsing: Successfully extracted offers are split using the Split Out n8n node. Parallel paths then extract specific data: Extract title and image pulls the game name, URL, and artwork, while Extract label determines the offer status ("Free Now," "Coming Soon," or "Mystery") using conditional expressions within an n8n node.

  4. Change Detection: The data is combined in Prepare data. The Check if changed Code n8n node calculates a unique hash based on the current titles and statuses. It compares this against the hash stored from the last successful execution using workflow static data. The Only when changed Filter n8n node proceeds only if the hash indicates a genuine change.

  5. Notification: The Prepare notification Code n8n node formats the filtered results into a custom JSON payload compliant with Discord Webhook embed standards. This data is then sent instantly via the Notify Discord HTTP Request n8n node.

  6. State Management: After a successful Discord notification, the Save Static Data Code n8n node updates the stored hash, ensuring the current state is recorded for the next cycle of the n8n workflow.

Installation Guide

To deploy this n8n template, follow these steps:


  1. Import: Copy the entire n8n workflow JSON provided and import it directly into your n8n instance.

  2. Puppeteer Setup: This workflow requires the n8n-nodes-puppeteer package. If you are self-hosting n8n, ensure you have the required dependencies (Chromium/Chrome) and that the Puppeteer service is accessible. The default URL configured in the GET Epic Games Free Games page n8n node uses a service running at ws://n8n-chrome:3000/.

  3. Discord Webhook: Set up a webhook URL in your desired Discord channel.

  4. Credentials/Configuration:

Notify Discord n8n node (HTTP Request): Replace the placeholder URL in the URL field with your actual Discord Webhook URL.
Notify on error n8n node (Discord): Configure the necessary Discord Webhook credentials or URL here to receive failure alerts.

  1. Activation: Ensure the n8n workflow is active. The Schedule Trigger n8n node will automatically begin monitoring at the set time.

Node Details

Schedule Trigger n8n node: Initiates the monitoring process daily at 19:00.
GET Epic Games Free Games page (Puppeteer): The crucial scraping n8n node. It renders the target webpage to retrieve dynamic content, necessary for bypassing Cloudflare and other bot protections.
Extract offers (HTML n8n node): Uses the CSS selector [data-component="OfferCard"] to isolate game listing containers.
Split Out n8n node: Transforms the array of HTML containers into individual items, allowing parallel data processing for each game.
Extract title and image (HTML n8n node): Scrapes specific data points (title, image URL, game URL) from each individual game container.
Extract label (Set n8n node): Adds a descriptive status label ("Free Now," "Coming Soon") based on complex conditional checks against the container HTML content.
Check if changed (Code n8n node): Implements change detection logic by creating and comparing a hash derived from the current game titles and statuses against static workflow data.
Only when changed (Filter n8n node): Ensures subsequent actions (Discord notification) are executed only if the game listings have updated.
Prepare notification (Code n8n node): Constructs the final JSON payload, ensuring the data is formatted correctly for rich Discord embeds.


  • Notify Discord (HTTP Request n8n node): Executes the final action, posting the structured free game announcement to the designated Discord channel using the configured Discord webhook URL.

Related n8n Workflows

Free

Nodes: 13 Nodes
Updated: December 26 2025
View all
Created by
Pawel
Pawel

Featured*