• 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 new 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 integrations 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.


Zapier: Leveraging an existing integration service


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

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 free 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.


Our client was already familiar with Zapier, so when we proposed to build a custom Zapier Integration his reaction was very enthusiastic. Apart from fulfilling the main requirement, the existing automation workflows built on top Zapier 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 integration. Google Calendar related triggers and actions came from the Zapier’s standard library of integrations.


Self-managed solution


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, 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 to manage their calendar. Linking Zapier with a Google account comes for free and frees us from implementing infrastructure for OAuth flow handling. Google Calendar triggers and actions 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 Integration developed by Leaware. User interface components are provided by the 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.


But this is not all. Zapier comes with 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.



Conclusion


When challenged with the next service integration, 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 integration, but automatically opens possibility of many new integrations.


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

It is worth mentioning that due to its monetization structure, 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 service integration using Zapier. Consider getting in touch with us.

Join to our product development mailing list 

We send every month a newsletter with news in a product development area. We promise not to use your email to any other purposes!

How we can help you ? Contact us.

If you're not absolutely satisfied, we don't want your money. Read more.

SUCCESS STORIES
  • Grey Twitter Icon
  • Grey LinkedIn Icon
  • Grey Facebook Icon

© 2020 by Leaware