• Bartosz Dobrzelecki

Zapier Integrations: A short path to self-managed service interoperability

Nowadays, one does not always need to develop new software in order to deliver valuable products on the Internet. Different Software-as-a-Service offerings can be integrated to create value for customers. Product development can then focus on deep knowledge of the domain and its customers. The complex world of technology development can be kept out of the picture.

Our client, delivering a customer relationship management system for practices in the aesthetic medicine domain builds their solution on top of the HubSpot platform. The client’s goal was to further differentiate their already successful product by providing integration of CRM automation workflows with electronic medical record (EMR) systems used by medical practices.

Our task was to propose the most cost-effective solution linking HubSpot (https://www.hubspot.com/) with a popular US-based EMR system provided by Modernizing Medicine (https://www.linkedin.com/company/modernizing-medicine/).

Time-to-market was of paramount importance as was the requirement for the solution to be self-managed.

The default: Build a custom solution

Integrating services that expose their APIs is, usually, not a difficult task. There may be some challenges with private APIs like the ModMed API as there is no “community wisdom” one could tap into, but in general, it is a bread and butter for most software houses.

A custom solution would require the following components:

  • Web based user interface for integration configuration

  • API exposing the back-end system responsible for handling configuration request, authentication and authorization

  • Synchronization scheduler

  • Persistent storage

  • Execution infrastructure

Such small integration could be built using serverless infrastructure, with simple, cloud-based storage used for persistence (no need for database). Web interface would require some custom development. All components would be deployed on a cloud infrastructure.

Such a cloud-native solution of relatively low complexity should deliver hassle-free management (it should just work). However, there still would be a chance that the system will not be truly self-managed, and some technical support would be needed in the future to deal with occasional failures.

Plus, there was some development work done that maybe could be reduced if we could leverage an existing platform that helps in building service integrations. This could potentially reduce the development cost and take the issue of execution infrastructure management of the picture. A truly deploy-and-forget solution.

Leveraging an existing integrations service

Zapier is a platform that can be used to connect internet apps, automate different tasks and more. Its workflows are called Zaps and usually consists of a trigger and one or more actions that are executed when a trigger is activated. There are many zaps on platform.

For example, a new Outlook Calendar event can be created (action) when a new row is added in Google Sheets (trigger).

The main requirement that our client put forward was to be able to present a potential client with an up-to-date calendar of appointment slots available at a medical practice. It should also be possible to book an appointment directly from the CRM. A booked appointment should become immediately visible to a practitioner using an EMR system.

Case study

Get started: Our client was already familiar with Zapier, so when we proposed to build a Zapier Integration his reaction was very enthusiastic. Apart from fulfilling the main requirement, the existing automation workflows built on top platform could become even more expressive. The entire execution infrastructure would be managed by Zapier thus delivering the non-functional requirement for the system to be self-managed.

The Zapier integration that we have developed consisted of:

  • a trigger that was fired when a change in the appointments calendar of the EMR system was detected

  • an action that created a new patient record (with patient deduplication built in) and a new appointment linking a patient with a practitioner

The HubSpot part of the solution leveraged HubSpot’s built-in Google Calendar integrations. Calendar related triggers and actions came from the Zapier’s standard library of integrations.

How to cereate self-managed solution with Zapier?

The ModMed Zapier Integration that we have developed is available to z Zapier user as part of the standard library of integrations. It can be mixed and matched with several external services.

To on-board a new medical practice, ones the solution manager, creates a new Zap that starts from the ModMed Create appointment trigger. ModMed credentials are obtained and stored using Zapier built in authorization module.

After successful authentication, the trigger is configured to synchronize free slots for a specific practitioners and a specific appointment type – all choices are dynamically fetched from the ModMed EMR system. Some additional details, like opening hours can be specified in order to reduce the number of requests needed to pull appointment slot data.

Google Calendar related triggers and actions require user to authorize Zapier account to manage their calendar. Linking Zapier with a Google account comes for free and frees us from implementing infrastructure for OAuth flow handling. Calendar triggers come for free as part of the Zapier standard library.

New appointments originating from the HubSpot based CRM trigger the Create Appointment action which is part of the ModMed Integrations developed by Leaware. User interface components are provided by a Zapier platform.

And that is it – a new practice has been onboarded. Once z Zap is enabled – it will start synchronizing. Zapier takes care of all the execution details and infrastructure.

Getting started! Many ways to use Zapier platform

But this is not all. Zapier connects more web apps than anyone. Platform comes with some more - an extensive library of triggers and actions that allow us to further automate our workflows. For example, in our case, there is a small window of time where a slot may become unavailable between user being presented with a calendar and a booking request reaching the ModMed EMR. Zapier allows us to define a conditional part of the workflow that is executed only when the appointment creation fails. In our case, an email is sent to a receptionist informing that a client tried to book an appointment and that an offline follow-up is needed to negotiate a new appointment date.


When challenged with create a new next service integrations, one should not default to a fully custom solution and consider alternatives. Zapier is one of the possibilities that not only allows to quickly deliver the core integrations, but automatically opens possibility of many integrations and automate tasks.

Developing a new integrations can also be a cross-selling opportunity for your product team. You can sell your integrations on Zapier’s Marketplace or make your service more desirable by providing your integrations for free to your valued customers.

It is worth mentioning that due to its monetization structure, a Zapier may not be the most cost-efficient choice for some integrations. Our experience, however, allows us to make informed decisions depending on your needs.

When time-to-market and cost-efficiency are important, consider developing your next apps like service integrations using Zapier.

Consider getting in touch with us. We can help you!

Contact us: