Free Game Alerts via Reddit, Zapier & Discord (or PushBullet)

Free Game Alerts via Reddit, Zapier & Discord (or PushBullet)

Free stuff is good. I like free stuff, I like custom notifications, and I like needlessly complicating automating things. I especially love automation for alerts - it's cool to automate a tedious task that requires manual interaction like turning on a light, but triggering alerts as they occur is one of my absolute favourite uses of automation.

This can also also obviously be adapted for any type of noitification from Reddit.

For quite some time, I'd been using an IFTTT automation to watch for new Reddit posts about PC games available to claim for free then send me a notification to claim them. I had recently switched from IFTTT to Zapier, until a Reddit update broke my Zapier automation and I was forced to go back to IFTTT. The Zapier/Reddit integration is now fixed, so while I may try and set up a self-hosted version of this at some point, here's the updated process with Zapier.

If This Then That (IFTTT)

I used to love IFTTT. It used to be my favourite tool for connecting my favourite apps, services or devices to one another to build out automations. If X happens in Service 1, then make Y happen in Service 2. It was great. Post a picture to Facebook, then automatically post it to Twitter. Hit your daily steps goal on your fitness tracker, then flash an IoT light green. Before I invested in an uninterrupted power supply for my NAS, I used to use one applet to translate a local RSS weather feed into tweets, then use another applet to scan the tweets for terms relating to inclement weather and trigger a safe shutdown if there was a chance of a power outage.

My favourite personal use was to annoy a friend: I put an NFC sticker on my bathroom vanity, directly across from my toilet. Whenever I sat down on the toilet, I'd tap my phone to the sticker, which would trigger an IFTTT automation that would send my friend Denis a text message that said "I'm poopin'." I also had a button on my phone that would do the same thing, so if I was away from my apartment, I could tap a shortcut to send Denis a text that said "I'm poopin' away from home," that also included a helpful map to let Denis know exactly where I was doing my business.

But Enshittification came for IFTTT. They dropped the number of applets available to free users from 5 to a paltry 2, gave it a worse UI, removed several of the available services, and changed the pricing plans for paid users despite assurances otherwise. The pricing isn't terrible at $3/month for 20 applets, but that's still not great value.

IFTTT Sucks, What Now

We have 2 requirements the If and the Then:

  1. If: Text in content matches keywords.
  2. Then: Send an alert to [whatever] service.

That means our automation needs to have 3 parts:

  1. Content source
  2. Automation tool
  3. Notification service

There are a bunch of options here, probably way more than I've listed below.

Content Sources

This is where the free game alert originates. I'm sure there are plenty of other sources, but below are the ones I'm familiar with.

  • r/GameDeals subreddit. I typically use Reddit because I like the discourse, and since posts in r/GameDeals follow a pretty well-defined structure, it allows for some decent filtering. r/FreeGameFindings is similar, but I find it messier to use.
  • IsThereAnyDeal. ITAD is a great resource for game pricing in general. After creating an account, you can connect your Steam or GOG accounts and import your wishlist and game libraries - you can connect Humble and Fanatical as well, but I personally just use Steam as a catch-all. You can then configure ITAD to send alerts when games on your wishlist hit specified pricing. Alerts can be fired off via email (simplest), RSS feed or webhooks (I have yet to get webhooks to work).
  • GG.Deals. Similar to ITAD. It looks more polished in terms of UI, but feels a bit less flexible and doesn't have the same degree of price history. I tried it briefly, but didn't like it for whatever reason. I vaguely recall the alert options lacking compared to ITAD.

Automation Tools

The engine that runs the automation process. It's going to look at the source, do some parsing and formatting, then spit out a notification.

I'll be using Zapier for this use-case because I'm very familiar with it and what we're setting up is pretty simple.

  • Zapier. Zapier is basically an enterprise-level IFTTT. It ties into basically any business tool that has an API. It's lacking a bit as far as consumer-specific tools like IoT devices, but for more general-use or business services, it's insanely powerful. Zapier can do ridiculous things with spreadsheets, emails, CRMs, etc...
  • IFTTT. IFTTT is fine. It will do the trick. I personally don't want to have to jump into several different services to do different things if I can avoid it., but I do keep it as a backup. IFTTT has better integrations for IoT toys, but it's less powerful and severely more limited.
  • Make. I haven't played around with Make very much. As far as I can tell it's essentially a more visual Zapier. The integrations and tools on the free account seem a bit more robust (webhooks are included which is fantastic).
  • Notifiarr. I use Notifiarr for pretty the majority of my server alerts. Media downloads, program updates or errors, etc. A Reddit search integration is available, but I've found that it keeps wiping out my search queries, so I was receiving notifications about every post in the specified subreddits.

Notification Service

Wherever the notification will ultimately occur. There are about a million ways to receive a notification on whatever device you're using. These can generally all be connected with your automation platform of choice, one way or another.

  • Discord. I use a personal/private Discord server as a hub for all of my server notifications, as well as a handful of others. It's cross-platform, has a ton of integration and you can easily invite friends or family members. It's basically an alternative to Slack.
  • PushBullet. I mainly use PushBullet to send links or text between my devices, but it also allows for third-party integrations. ntfy is often mentioned as a solid alternative.
  • Email, SMS, social posts, IFTTT in-app, probably Tasker...

Set Up

You'll obviously need accounts for Reddit, Zapier and Discord, as well as a Discord server, so go ahead and set those up. I'll include PushBullet as well, so set up an account there if you'd prefer it vs Discord.

Step 1: Reddit

This used to be less involved, but the recent updates and Zapier's fix for them requires some additional steps.

  1. Got to Reddit's Preferences > Apps page, and click the "Create an App" button at the bottom.
  2. Fill out the form.
  3. Name: Whatever you want.
    Type: Web app
    Description: If you feel so inclined.
    About URL: Leave empty.
    Redirect URL: https://zapier.com/dashboard/auth/oauth/return/RedditDevAPI/
  4. Save.
  5. After saving, you'll see your connected app. Underneath the app name there will be an App ID an App Secret.

Step 2: Zapier Trigger

  1. After logging in, click on App Connections in the left sidebar then the New Connection button in the upper right. Search for Reddit and add.
  2. Fill in the App ID and Secret in the pop-up, then follow the prompts.
  1. While we're here, add Discord and/or PushBullet. You'll just need to log into each service and authorize.
  2. Back up in the top left, click Create > Zap. Ignore the AI tool.
  3. Zaps, on the free account at least, contain a trigger and an action. Click the trigger and search for Reddit.
    1. Trigger Event: New Post Matching Search and Continue.
    2. Search Query: This where we'll set up the query to match whatever search terms we're after. We'll be using Reddit's search operators to determine how this happens. Here are the instructions if you want to set up your own filtering or modify mine for your use, but for my automation this is what I'm using (broken up to 2 lines for readability):
      subreddit:gamedeals title:(100% OR Prime)
      NOT ("itch" OR "IndieGala" OR "Gala")

      This is telling Zapier to check the r/GameDeals subreddit for posts with a title that contains either 100% (free games) or Prime (Prime Games are free to Amazon Prime users, so "free" but they technically require a subscription), while excluding posts about freebies on Itch.io and IndieGala ("gala" added separately as people occasionally write is as "Indie Gala"). I don't find Itch or IndieGala freebies to ever be worth my time.
    3. Ensure Include Subreddits is set to No.
    4. Click continue and test. After testing, a few recent posts matching the query should pop up, indicating that the Trigger step is working. Select one of the test records and give it a quick review. Each individual element listed here can be used as content in the alert. Click continue when ready.
💡
Keep in mind that the search query isn't perfect, and occasionally a false positive may get sent through. For example, if the title of a game on sale contains the word "Prime" or if the post title contains "Free Weekend," it may trigger the automation and send an alert.

Adjust as you need to if it's a constant annoyance, but most of the time I don't find it to be an issue.

Step 3a: Discord

After clicking continue in the last step, the Zapier Action should pop up. If not just click it.

  1. I'm selecting Discord, but PushBullet will work basically the same way with slightly different steps. You're a smart guy, you'll figure it out.
  2. Event: Send Channel Message and clcik Continue
  3. In the Configure menu, here's where we set up what the alert looks like.
  4. In channel, select the server channel you'd like alerts to appear in.
  5. In Message Text, we can customize the message that pops up in Discord however we want. What's really cool here is that each element of the Reddit post that Zapier is able to grab can be dynamically inserted into the Message text box - click the + in the upper right of the text box to see your available options. . You can also use to format it however you want. Here are Discord and Zapier's Markdown guides, and below is an example of what I'm using.
💡
I despise link previews in Discord. They're too big and clutter up my channel. By wrapping the URL in < and > brackets, we can tell Discord not to generate a link preview. The downside is that we can't use a tidier formatted markdown link, which I would prefer but whatever

There's an option to disable link previews in Discord, however this actually doesn't work with links from integrations or webhooks. The other solution is a shortlink - while Zapier can generate shortlinks, we can't make use of them on a free plan as we're limited to 2-step automations. Oddly enough, IFTTT uses shortlinks by default so it's a non-issue.
  1. You can also include a Bot Name and Bot Icon, which will display in Discord. Otherwise, the notification will appear as Zapier. For the icon, find an image you'd like to use, upload it somewhere like Imgur, then copy and paste the file path into the text box.
  2. When done, click Continue. The next screen allows us to preview the data in and out, and test the Discord message. Click the Test button, and if everything works correctly, you should see your new Discord alert pop up in a few seconds.

And we're done.

Step 3b: PushBullet

To use PushBullet (or any other notification service), the process is pretty much the same. Set up the trigger exactly the same as in Step 1, then for the action and select PushBullet. The sending options are to send a note or to send a link: a note will allow for manually added (unformatted) text, a link will just push a URL that will instantly open. I prefer the note for these alerts.

Continue and test.

Step 3c: IFTTT

At this point I might as well include IFTTT. It's a similar process, so I'll quickly run through it.

  1. For the If, select Reddit and "New Post from Search" as the trigger, then fill out the same search query.
  1. For the Then, select Discord and "Post a message to a channel" as the trigger (or "Post a rich text message to a channel" if you want to apply more formatting to your notification). I'm using a rich text message. Fill out the text boxes however you like, using the "Add Ingredient" button to add content from the Reddit post into your message.

There's no way to test with IFTTT as far as I'm aware, at least on a free plan, so you'll need to wait for a matching Reddit post to trigger the automation. Epic Games releases freebies every Thursday at 11:00 EST, so setting this up on a Thursday morning will let you run a quick test.

IFTTT posts admittedly look a bit tidier thanks to the Discord embed function.

And there you have it. Enjoy the freebies (99% of which we'll never get around to playing).





Find this helpful and/or entertaining?

Consider buying me a coffee.


Buy Me A Coffee