DEV Community

Stephano kambeta
Stephano kambeta

Posted on

Zapier vs GitHub Actions: I Automated the Same Workflow Both Ways

Comparisons of Zapier and GitHub Actions usually stay abstract — pricing tiers, feature lists, "one is no-code and one isn't." That's true, but it doesn't tell you much about what it's actually like to build the same thing in both.

So I built the same workflow twice: a website uptime check that pings a URL on a schedule and sends an alert to Discord if the site is down. Here's how the two versions actually compared.

The workflow

Nothing fancy. Every few minutes, check if a website responds. If it doesn't, or the response code isn't in the 200 range, send a Discord alert. If you want the full build with actual code, I wrote it up separately as a standalone Python uptime monitor guide, and there's a ready-to-use template if you'd rather skip straight to running it.

Building it in Zapier

In Zapier, this took about ten minutes. A Schedule trigger, an HTTP request step to hit the site, a Filter step to check the response, and a Discord action if the filter passes. No code, no repo, no deploy step. It just worked.

The catch showed up at the pricing page. Zapier's free tier caps you at a check interval that's too slow for real uptime monitoring, and the paid tiers price by "tasks," which adds up fast if you're checking multiple sites every few minutes. For one site checked occasionally, this is fine. For anything more frequent or with more sites, the cost scales in a way that stops feeling worth it for something this simple.

Building it in GitHub Actions

This version took longer to set up — maybe 30–40 minutes, most of it writing the Python script and testing the workflow YAML. A schedule trigger with a cron expression, a step to run the script, and the script itself handling the request, the status check, and the Discord webhook call.

Once it was working, though, the ongoing cost was effectively nothing. GitHub Actions gives generous free minutes, and a script like this barely uses any of them. There's also no vendor dashboard to check — everything lives in the repo, and you can read exactly what it does by opening the file.

What's actually different

The real tradeoff isn't "no-code vs code." It's where the complexity lives. Zapier moves the complexity into a UI you don't have to maintain yourself, and charges you for that convenience as usage grows. GitHub Actions moves the complexity into your own script, where you maintain it — but once it's working, it keeps working for free, and you have full control over exactly what it does when something goes wrong.

If the workflow is genuinely simple and low-frequency, Zapier's setup speed is hard to beat. If it needs to run often, needs custom logic, or you just don't want a monthly bill scaling with usage, GitHub Actions ends up cheaper and more flexible once it's built.

Related: if part of your workflow needs to notify another system the moment something happens, rather than run on a fixed schedule, it's worth understanding how webhooks actually work — both the Discord alert here and a lot of what Zapier does under the hood is built on exactly that mechanism.

Where I landed

I kept the GitHub Actions version. Not because Zapier did anything wrong — it didn't — but because this particular task runs often enough that the free-minutes version made more sense long-term than a task-based subscription. For something I'd only check once a day, I'd probably have kept the Zapier version instead.

More comparisons and build notes like this over at Procwire.

Top comments (0)