1) What is Zapier ?

Zapier is an easiest way to do automation as their tagline says “superpower to get your work done”. Its a Web-App which allows different web apps to communicate amongst themselves very easily.

This communication between two apps, is called a zap, associate a pair(trigger and action) with each zap.

Example: Say you receive an email from a very important source, and want to notified quickly and create an event/task in your calendar to perform action related to email. This entire task can be configured in Zapier to track a particular email, send you a sms instantly and create an event in google calendar. In this example we have two zap, first receive email and send sms. Receive Email is a trigger in gmail, and Send SMS is action via SMS service.

This is done automatically by zapier, no manual work or programming is required at our end.

2) How to use Zapier and how it works?

A zap can be created between two existing apps in Zapier’s registered app library like in the above example i.e Gmail and Google Calendar.

Zapier has many live zap templates, we can choose those and configure the zap individually and save it.

The process of adding a zap is documented very clearly on https://zapier.com/how-it-works/. So start creating some useful zaps for your day-to-day activity.

Also, one can also register a custom app in zapier for any Web application.

3) How to add your app to Zapier?

To add your application, we need to understand three topics: authentication, trigger and actions.

Add an authentication mechanism to your app to allow a secure handshake(Develop an API and endpoints, we can approach an API via various means, like basic, digest, oauth, etc). Authentication is added to secure application’s url end-points and to restrict user to only access permitted data.

Once authenticated, we can add triggers and actions for the url endpoints of the app.
Please read the style guide, https://zapier.com/developer/documentation/style-guide/. This will help create a zapier app which would be more user-friendly and would be recognized on a larger scale.

We can add a Zapier app for any existing application, if we understand the API of that application. For pivotaltracker, https://zapier.com/developer/documentation/api-key-action/

4) Why we used it in Realvolve?

Realvolve wants to use zapier to share and receive data to/from various other real estate application. Example: A new property is added on realvolve automatically if a property is added on another real estate site. Similarly we want user to sync any data across any site to/from realvolve and we need not write code for each of them.

5) How we implemented it in Realvolve ?

  1. We created an API and exposed API endpoints for sending and receiving data.

  2. The Realvolve API is implemented as JSON over HTTP(API Key Headers). Only a valid realvolve user can have access to the Realvolve API

  3. To access the api_key, register an account on realvolve. Once registered user has a unique domain and provided with an api key.

  4. Only with a valid api key an user can access Realvolve’s API’s Endpoint

  5. We created an app for realvolve on zapier and configured the app as per the API. And created triggers and actions for it.

6) Other information that is useful to use Zapier?

  1. Zapier does not support two way sync. Create a different zap for each purpose.

  2. Zapier doesn’t support sync of existing data. Refer common problems with zapier: https://zapier.com/help/common-problems/

  3. You can use a free account till 30 days, this free account can be continued further but with certain limits

If any technical details is needed, please feel free to ask me or reach out to technical team at zapier. The documentation, and the support is of very high standard at zapier.