The Zapier Engineering Blog

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

Scaling Zapier to Automate Billions of Tasks

Bryan Helmig / March 2, 2016
Scaling Zapier

Zapier is a web service that automates data flow between over 500 web apps, including MailChimp, Salesforce, GitHub, and Trello.

Imagine building a workflow (or a "Zap" as we call it) that triggers when a user fills out your...

Why Zapier Doesn't Use Gevent (Yet)

Rob Golding / January 10, 2016

At Zapier, we make a lot of outbound API requests. Almost 500 per second, to be exact. That means we spend a long time waiting for those APIs to get back to us—particularly if a popular service is experiencing issues. In fact, if you were to add up all...

Do Apps That Integrate With Zapier Have Lower Churn?

Christopher Peters / March 12, 2015

At Zapier, we like to test claims against facts.

With that in mind, we recently partnered with our friends at Typeform to validate the proclamation of the Zapier Developer Platform: "Make your app stickier than honey." That is, when an app integrates with Zapier (in effect, integrating with over 400...

React JS Tutorial and Guide to the Gotchas

Justin Deal / February 26, 2015

If you haven't used React at all, you're in the right place. If you have used React, but you've run into some confusing edges, you're still in the right place. This guide covers all the...

Unlock Your Database and Create a Business Intelligence Radar in One Move

Christopher Peters / July 15, 2014
database query automation

One of the best aspects of Zapier's company culture is that the whole team does customer support. On top of that, we eat our own dog food—the Zapier team relies on many Zaps. Together, these practices give each teammate a stake in our customers' concerns, and they often...

When REST Gets Messy

Brian Cooksey / July 10, 2014

Back in January, we launched a new version of the Developer Platform – the place where companies can add their APIs to Zapier. Part of that project involved converting the existing views – standard Django forms – into Backbone.js views powered by a yet-to-be-written API. It was a fun...

Security Exploit Bounty Program

Mike Knoop / May 20, 2014

Responsible Disclosure

Security of user data and communication is of utmost importance to Zapier. In pursuit of the best possible security for our service, we welcome responsible disclosure of any vulnerability you find in Zapier. Principles of responsible disclosure include, but are not limited to:

  • Access or expose only customer...

How to Set Up TravisCI-like Continuous Integration with Docker and Jenkins

James Carr / April 21, 2014

Docker, Jenkins and Github

Lately, I've been working on a number of improvements to our continuous integration setup here at Zapier. It's a delicious combination of Jenkins, Docker and the Github Commit API that anyone can accomplish with a little work!

The Vision

Before delving into our continuous integration (CI) setup, it...

Profiling Python Like a Boss

Bryan Helmig / December 2, 2013

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. ~Donald Knuth

It is unwise to embark on an optimization quest without first considering the famous quote by Knuth. However, sometimes that quick and hacky O(N^2) code you...

Debugging Python Like a Boss

Brian Cooksey / November 19, 2013
def make_pie(self, ingredients):
    print '******WHAT IS GOING ON HERE******'
    print ingredients
    self.oven.preheat()
    print self.oven.temperature

Is the above code snippet similar to your tried-and-true debugging techniques? Yea, that used to be me too. Honestly, it's not so bad. Slap in some prints, run...