Zapier
Reviewed July 25, 2019Zapier is a workflow automation tool with 1500+ integrations to the most popular SaaS apps. It allows non-technical users, mostly individuals or small businesses, to automate workflows that would've otherwise been busywork. It was founded in 2011, raised $1.3M, achieved profitability and hasn't raised funding since.
Product Feel
- ๐ An abundance of integrations
- ๐ Advanced built-ins, like code and storage (below)
- ๐ Quick feedback: live data, helpful input box, testing at each step
- ๐ Difficult to get a global view of complex logic
- ๐ Coding via mouse & dialog boxes
- ๐ Latency can feel a bit slow, unfluid
- ๐ Difficult to assimilate the โZapier way of thinkingโ, know whatโs possible: hacks & ad hoc workarounds for specific tasks
Basic Usage
The above video from the Zapier tutorials creates a "zap" that is triggered from a Wufoo form, creates an event on a Google Calendar, and sends a message to Slack. It demonstrates:
- setting up a trigger from Wufoo
- testing a 3rd party account connection
- testing a trigger to provide sample data for future steps
- adding an event to Google Calendar
- use data from previous steps via the drop down menu
- test creating an event in Google Calendar
- adding a second step to a zap
- test creating an event in Slack
Solid built-ins
Zapier makes many of the most common programming tasks easy with its built-in apps, a few of which will be highlighted below.
Formatter
Rich in intuitive functionality, Zapier's Formatter could be an entire product on its own, meriting its own review. It allows for a number of extremely common, but otherwise tedious, text manipulation tasks:
The following video demonstrates truncating text, stripping HTML, and summing numbers via the formatter:
Convenient Type Operations
To make itself more usable by non-programmers, Zapier features a number of convenience operations. For example, you can easily manipulate dates with shorthands such as: -45m
, +7h
, +10d -30s
, and next friday at 7pm
. And booleans can be represented by any of the following: yes
, 1
, no
, 0
, f
.
Paths & Filters
Paths and filters are Zapiers answer to conditional branching. Both of these features require a paid Zapier account. Paths allow users to branch execution based on a series of boolean tests. However, unlike traditional if-else branches, Zapier paths are non-exclusive, so control flow proceeds in every branch where a test succeeds. Here is a video of setting up a Path in Zapier.
Filters are a simpler concept: they only allow a zap to proceed when a certain condition is met, as in the following photo:
Email Parser
The following video shows how to create a Parser Mailbox which allows you to forward email to a unique email address to be parsed and processed in a zap. It features a direct manipulation editor for specifying what data to parse. It's a useful meta-zap that you can use as a way to simulate integrations that Zapier doesn't haves: simply set your email account to auto-forward specific notifications from an unsupported app to an Zapier email parser mailbox.
Code
For extra control, Zapier features a built-in code app that allows users to run custom JavaScript (Node v8) and Python scripts inside zaps. On the plus side, Zapier Code has quick and easy access to storage (provided by Zapier Store), but on the downside, there's no npm or pip to import libraries, and their "online IDE" is really just a textbox with only syntax highlighting. Free plans are allowed 1 second of evaluation and 128mb of RAM. Paid accounts get 10 seconds of evaluation and 256mb of RAM.
Add a Search Step
Zapier has a number of convenience features that facilitate complex logic. For example, some operations require searching for a resource before updating it, so Zapier has a specific button "Add a Search Step" to scaffold this interaction:
Pressing "Add a Search Step" inserts a search step immediately before the action step so that the resultant data will appear in the available fields in that action step:
Integrations
The main selling point of Zapier is its plethora of integrations to popular services, such as GMail and Google Drive, Trello, Salesforce, etc. And for each service, Zapier features a number of triggers, actions, and searches. For example, Google Sheets can be triggered on a new or edited spreadsheet row, can create, update, or delete rows, and also can lookup rows in a sheet.
Visual integration builder
One of the reasons Zapier has so many integrations is because it makes it almost as easy for its integration partners to create them as it is for users to use them. Below are shown the three different tabs of creating a new action for an integration. First, the basic settings:
Designing the setup page:
Configuring the HTTP request to be made to the API:
Explaining the schema of the API's returned data to Zapier so it can populate the available fields in the dropdown to users:
Pricing
Zapier's free account allows for 5 running zaps. Accounts can be purchased with a max number of running zaps of 20, 50, and 125 at a monthly rate of $1/zap (no matter how many zaps are used that month). Team accounts are $250/month and allow unlimited zaps.
Wishes
- A less complex debugging process
- More complex control flow
- Two-way sync a la Pie Sync