Zapier’s New Platform CLI Allows Integrations to be Built From the Command Line

Zapier, an Integration Platform as a Service (iPaaS) provider, has launched a new command-line interface (CLI) tool that allows developers to build Zapier integrations from a command line. The newly launched Zapier Platform CLI is based on Node.js allowing developers to build apps for Zapier entirely with JavaScript, and use their preferred NPM (Node Package Manager) libraries. The new CLI tool allows apps to be tested with Node testing libraries like Mocha, and app changes can be tracked with version control systems like Git. iPaaS has been a rapidly growing trend in recent years, and Zapier is just one of many companies providing iPaaS platforms. Other companies providing iPaaS platforms include Built.io, DataFire, IFTTT, MuleSoft, and SnapLogic, just to name a few.

According to the documentation, a CLI App "is an implementation of your app's API." The developer first builds a Node.js app that exports a JSON schema (a single object that represents the full app) and then uploads the JSON schema to Zapier. Zapier inspects the definition to determine the app’s capabilities and the options to present to end users in the Zap Editor. Developers can create apps on their local machine with the CLI tool, and apps remain local until they are registered with Zapier.

The CLI tool is designed for highly skilled developers and engineers with JavaScript experience. Zapier also provides a Web Builder Interface that allows users to add an app to Zapier typically without having to write any new code. While the Web Builder Interface does allow apps to be quickly added to Zapier, there are some disadvantages that the CLI tool addresses. For example, the Web Builder Interface does not allow coding to be done locally and developers cannot control the API calls required to set up authentication using the interface.

We reached out to Zapier CTO and Co-founder Bryan Helmig who provided ProgrammableWeb some details about the new Zapier Platform CLI. Zapier relies on AWS Lambda to securely run dev apps; it allows developers to use any Node module on NPM in isolation from all other Zapier apps. AWS Lambda currently supports Node.js, Python, Java, and C#. The company chose to make CLI apps based on Node.js because JavaScript is a popular and growing language, and the Web Builder interface also optionally uses JavaScript. Helmig said that support for other languages is not out of the question; however, they would like to refine the experience before adding support for other languages.

We asked if developers could upload OpenAPI or RAML API definition files to the CLI tool. "We're definitely exploring this option as a way to "bootstrap" integrations - but OpenAPI/RAML/etc. solve a very different problem than Zapier and our schema," said Helmig. "Our schema focuses more on the UX and messaging since users are ultimately the ones interacting with the output (we have support for limited verbs like "Create," generic nouns like "Lead" or "Tweet," labels, help text, etc.)."

We also asked if OpenAPI and/or RAML support is something the company might add to the Platform CLI in the future. "Yep! But probably never as a ‘drop it in and done’ as raw connectivity is only a start," said Helmig. "We're solving lots of UX and interoperability issues so there are key extensions we'll have to weave in. Our final audience is the end user that uses the integrations so we're always keeping that in mind."

Connecting apps to the Zapier Developer program, maintaining apps privately, and launching apps publicly to all Zapier users, are completely free of charge. Developers do not have to move existing apps built with the Zapier Web Builder to the new Platform CLI. The company plans on supporting both the Web Builder and Platform CLI long term.

"The original developer platform has been a massive success for Zapier - but as we see more and more engineering resources across partners dedicated to building on our platform, we realized there was a need for tooling that met engineers in their own environment (IE: not the browser)," said Helmig. "It is the result of hundreds of hours of work and you can find all the code on GitHub!"

For more information about Zapier and the new Platform CLI visit the official company website.

Disclaimer: Companies mentioned in this article are competitors to ProgrammableWeb's parent company Mulesoft.

Be sure to read the next Integration article: Why Messages Queues Might Not Suck

 

Comments (0)