The Zapier Engineering Blog

A blog about hacking, development workflow automation, and how to get things done with less work.

How We Automated Our Engineering Skills Test for Hundreds of Applicants

Brian Cooksey / Published June 21, 2018

Implement an algorithm that computes a minimum spanning tree for a weighted undirected graph.

Don’t worry, we aren’t going to ask you a question like that. At Zapier, we think putting candidates through a crummy interview process is a poor way to assess them and doesn’t help us make Zapier...

A Place for Manualization in an Automated World

sunny paris / Published April 5, 2018

Editor’s note: We publish occasional guest posts on the Zapier Engineering Blog, like this one from Sunny Paris, CEO of

For decades, programmers have been manually initiating automation. The perennial example is the trusty shell script, run from the command line at the moment it’s needed. When so much...

Webhooks for Productive Developers

Adam DuVander / Published March 29, 2018

Webhooks by Zapier

Keeping it simple is usually the best course of action in most things. There are a bunch of problems that can be solved without your development environment. For the many cases that require moving data or alerting when data changes, webhook notifications are a useful pattern to reduce–and sometimes, eliminate–the...

The Technical Debt Behind Your Integrations Strategy

Adam DuVander / Published February 22, 2018

An integrations strategy promises to connect your software to all the other tools your customers use. Approached correctly, you can connect All The Things. But it’s not easy. With one or two integrations, maybe you can stay on top of the changes in just a handful of APIs. More...

Security Exploit Bounty Program

Mike Knoop / Last updated January 20, 2022

Closure of Public Bounty Program

As of 20 January 2022 we have closed our public bounty program in favour of a managed program through HackerOne. While our HackerOne program is not currently public, we still welcome submissions from security researchers! Please use the form linked below to submit through...

Decreasing RAM Usage by 40% Using jemalloc with Python & Celery

Bryan Helmig / Published December 14, 2017

At Zapier, we're running hundreds of instances of Python and Celery, a distributed queue that helps us perform thousands of tasks per second. With that kind of load, the RAM usage has become a point of contention for us.

To process all the activity within our service, we run...

Minimize Downtime for MySQL Upgrades: How to Work Around RDS Limitations

Kishore Nallan / Published November 30, 2017

If you've worked on a web application backed by a relational database, you will understand how frequently the underlying schema changes. You might add or remove columns, change the type of existing columns, or add new indices as your business evolves.

While modern ORMs make such schema changes fairly simple,...

Thinking Fast and Estimating Wrong

Justin Deal / Published November 16, 2017

Software estimates are fundamentally flawed. I've always intuitively known this, but a year ago, I did a little experiment inside Zapier to prove it. Now when I say "prove," I don't mean full-on lab coats, large population, double-blind, scientific study. So please don't beat me up too much about my...

The Developer-Friendly Way to Change Your API Auth

Ben Peter / Published November 2, 2017

During the lengthy history of public-facing APIs on the Internet, the process of requiring a user's authorization has progressed through a variety of methods. It's great when an API provider supports a newer (and hopefully better) authorization method, but deprecating the older method sometimes leaves the existing users and integrations...

How Zapier Drives Upgrades for Autopilot

Ellie Wilkinson / Published October 27, 2017

Welcome to our series of case studies about our partners. This month, we sat down with the team behind marketing automation software Autopilot to learn about how Zapier has impacted their business.

Read on to learn more or jump ahead to learn how the Autopilot team increased upgrades by: