APIs are sprouting up everywhere. This is great for developers (and for end users) because it allows all kinds of automation. However, there are times when the investment of writing code to connect two APIs is too much.
Why might writing code be too much?
- The problem is still fluid and writing code will lock in a solution.
- There are more pressing business problems to solve.
- There are no engineering resources available, and/or no money to hire a dev.
If any of these reasons apply to a problem you are facing, consider Zapier (or a competitor like IFTTT). These services are much like Excel macros–they require less software engineering expertise but can leverage some of the power of programming to automate away work. I’m only going to write about Zapier, since that is the solution with which I am familiar.
Zapier runs the connections between each service (called ‘Zaps’) at regular intervals. Zaps are built using a web only interface that leverages the APIs in a manner that, while not completely intuitive, is thoroughly manageable by anyone who can sum up a column in Excel.
Here’s the class of problems for which Zapier is good:
- Connecting two services for which Zapier has connectors–this list is quite extensive.
- Syncing needs to happen no more than every 5 minutes (15 for the free account).
- No processing of the data during the transfer is needed (except possibly omitting some fields)–you are simply moving data from one place to another–no Yahoo! Pipes like transformations are possible in transit.
- One way sync is OK (though there are workarounds).
- You don’t need to bulk load initial data via Zapier–you either can disregard initial data or load it in some other fashion.
- You have a reasonable number of sources and sinks–each linked source and sink will take up one Zap.
- You have to have valid accounts with each source and sink.
That’s a fair number of limitations, but even so there are a large number of common problems that are solvable by Zapier. Some examples:
- Syncing a list of contacts from one source to another.
- Taking a google form submission and adding a user to a mailing list.
- Moving a row from one Google spreadsheet to another.
- Taking an email and adding it to a database.
- Adding a customer who you have just invoiced in QuickBooks to an email list.
These are all types of problems that can be done manually, but if frequency or scale increases, the process can run people ragged.
I want to call special attention to the email processing ability of Zapier. If you have a well-formatted email that you often receive that you want to further process, Zapier can parse it into interesting fields and send that data along to a sink like a Google Spreadsheet. Examples of well-formatted emails include order confirmations, contact us forms, and newsletter subscriptions.
I have found the Zapier support folks very responsive, whether that was troubleshooting an issue with Google docs, finding out how to pronounce the company name, or explaining why having 100 Zaps reading from one Google spreadsheet was a bad idea. Having responsive support staff reassures me, because once Zapier gets embedded into business processes, ripping it out is going to be very painful and a lot of work.
You can also write your own Zaps if you have custom APIs that you’d like to integrate with. I haven’t explored this much–it does seem like a developer centric task.
Zapier is not an all purpose tool nor a total replacement for developers, but it is definitely a great app to have in your toolbox. Take a look and see what little (or big) niggling problem that you haven’t had time to write code for (or, if you can’t write code, what you haven’t been able to get an engineer to write code for) it might solve.