I often use Zapier to communicate between services, mainly because it offers quite a bit of standardization. Imagine processing a request from one API and passing it onto another. Hell, even just interacting with complex (and sometimes downright ancient) APIs is easier with Zapier.

Today, Zapier officially announced their CLI for building custom Zapier integrations. Why is this awesome? Because as a developer, the last thing I want to have to do is log into a service, and paste my custom code into a little box. Here’s an example:

A client of mine needs to interact with Salesforce from Gravity Forms. If you’ve ever worked with Salesforce’s API, you probably just cringed. For making requests, you have two options: their poorly maintained PHP SOAP library, or their newer REST API that requires directly passing Salesforce¬†queries to it. For receiving them, you have the joy of their XML-based outbound messages. Needless to say, making a Salesforce integration for this client is a nightmare.

First off, Zapier allows both myself and the client to interact with Salesforce using pre-defined queries. If I want to search for a value, then do something with that value, it’s just a few clicks away. Seriously, it’s that easy and it allows my client to make small changes on their own without the need to contact me.

What if that request needs some more conditional logic, or needs a loop? Well, that’s going to require either an overly-complicated setup¬†or a custom app. To add the extra functionality to the custom app, I just need to write that bit of functionality into the Zapier zap using JavaScript.

Simple enough, right? Well, sort of. To insert that custom JavaScript or add additional actions, I’ll need to click a million buttons and do a whole lot of writing code into a web-based text field. Not ideal.

That’s where this new Zapier CLI tool shines. I can write my entire custom app directly within the CLI tool, and use version control to make changes. If I need to adjust it, I just pull it down from GitHub, make my changes, and deploy it. No more logging in and clicking. All of my logic is written in JavaScript and I don’t even have to touch a GUI.

The new Zapier CLI tool is awesome. Check it out on GitHub.