Overview:

Automate your PC game deal tracking using Tines and CheapShark API with this Tines automation story. This Tines story lets you instantly receive Discord alerts when digital PC games go on sale. Customize your receiving Webhook URLs and deal filters in seconds. Perfect for gamers, streamers, or automation fans looking for their next budget game purchase!

Some concepts you will need to be familiar with to create this story:

  • HTTP Requests
    • Payload content 
    • API Endpoints
      • POST / GET
  • Trigger IF/Else filtering
  • JSON formatting as well as interacting with JSON content
  • Webhooks
  • Minor string content formatting (optional for preference readability)

Guide:

[Intro]

Welcome back to Tines with Tyler.

This post details how I get PC games for free or at a massive discount, completely legally, using a free and mostly automated setup.

The two tools I’m using for this are:

  • Tines – a visual automation platform that lets me build workflows using a near codeless, drag-and-drop interface. I use it for almost all of my automation projects.

  • CheapShark.com – a site dedicated to tracking the best digital game deals across stores like Steam, Epic Games, Humble Store, and GOG.

Let’s jump into how I’ve built this out.

[Main]

Step 1: Pull Deals from CheapShark’s API

I already have this story built out in Tines, but if you’re starting fresh, you’ll want your first action to be an HTTP Request to CheapShark’s /deals endpoint using their 1.0 API.

Set the method to GET. That’s all you need to start pulling the current top deals.


Step 2: Break the Results into Single Game Entries

I use an Event Transform action with an explode function to separate the array of games returned from the API into individual game objects. This makes it easier to process each one separately.

I also added a deduplication step using the dealID to avoid sending repeated alerts. This is super helpful since the API returns all active deals every time, not just the new ones.


Step 3: Filter Out Junk Deals

At this point, we’re narrowing things down so I only get alerts for deals I actually care about. I used a trigger to filter out any deals that:

  • Weren’t updated in the last 2 days

  • Have a deal rating lower than 8

  • Aren’t actually on sale

  • Have less than 50% off

After this filter step, I went from around 60 total deals down to just 33.


Step 4: Format and Send the Alerts

Now, I don’t want to send all 33 at once—especially during testing—so I just pick one to preview the output.

Inside Tines, I go back to the explode action and re-emit the last event so I can look at a single item. Then, I open up the event viewer, click into the exploded event, and check out the fields CheapShark provides:

  • Deal ID

  • IsOnSale (1 for yes, 0 for no)

  • Normal price

  • Sale price

  • Savings percentage

  • CheapShark deal rating

  • Game release date

  • Last change timestamp

With all that info available, I can pick and choose what I want to include in my final alert. For example, I might want to show the game title and savings. I can just copy the path to the title and paste it directly into my webhook payload.

In Tines, you don’t even need to manually add the value—just paste the path directly if you’ve copied it from the event. Once that’s set up, I rerun the story, and boom—the alert pops up in my Discord channel.

Bonus: Make the Output Cleaner with Store Names

Rather than just showing the store ID (like 1 for Steam), I saved a JSON resource in Tines that maps store IDs to store names. This lets me display clean store names in my alerts without hardcoding them everywhere.

Here’s how it works:

  • I pass the store ID from the exploded event.

  • I look up that ID in my JSON resource (which includes all the store names).

  • Then I display the actual store name like “Steam” or “GOG” instead of a number.

This way, the final Discord alert includes the title, sale price, savings percentage, and which store it’s available on, all in a clean, readable format.

Don’t Want to Build This from Scratch?

If you’d rather skip the self setup, I’ve put together a ready-to-import Tines story that lets you spin up this exact setup in just a few clicks. You’ll find that in my shop here: https://shop.tylertwong.com/products/tines-automation-story-cheapshark-alerts-json

[End]

That’s how I’ve built a free-to-use, fully automated system to keep myself and my community updated on any free or heavily discounted PC games—no sketchy sites, no effort once it’s set up.

Let me know in the comments what digital games you’ve found amazing deals on—or which ones you’re still waiting to catch a break on.

And if this was helpful, smash the like and subscribe buttons. I post a lot of creative automation projects that are easy and usually free to implement.

If you’re interested in creating more projects or wanting to learn how to automate more cool things in Tines, be sure to like, subscribe and check out other posts

About The Author

Tyler

Tyler is a professional Tines automation specialist with a knack for problem-solving and troubleshooting. He has leveraged the Tines platform in non-traditional ways to streamline workplace tasks and also create unique interactive tools.

Leave a Comment