Details
About the Reviewer
Reviewer Organization
Reviewer Tech Stack
Other Products Considered
Summary
Product Usage: Cronofy was utilized within the telemedicine company as a consultation scheduling tool, directly integrated with Google Calendar for real-time availability updates.
Strengths: Cronofy was HIPAA compliant, offering robust scheduling management through API-first approach and seamless Google Calendar integration.
Weaknesses: Difficulty in managing users’ working hours flexibility and occasional problems with users accidentally deleting their specific Cronofy-linked calendars within Google Calendar.
Overall Judgment: Cronofy was a cost-effective, flexible, and valuable tool for the operations of the telemedicine company, handling scheduling efficiently with only minor issues related to user error.
Review
Today we’re talking about Cronofy. Before we jump into that, could you give a brief overview of the company and your role there?
I worked for a direct-to-patient telemedicine startup. Our main goal was to provide a complete telemedicine experience, from initial patient intake to fulfilling any prescribed medications or treatments. Essentially, we aimed to cover every step of the telemedicine process. Specifically, as a product manager, my main focus was on improving various touch points within the healthcare process, such as audio-video communication and asynchronous messaging. Any time people were interacting, that’s where I concentrated my efforts. Making meetings and consultations easier for everyone involved was a major focus for us.
When did you purchase Cronofy, and how long had you been using it in production?
We started using it in 2021, and it’s been in production since then.
What were the problems that Cronofy solved for your organization?
At the time, our company was using an external, third party solution for consultation scheduling, which meant that we didn’t have direct access to comprehensive funnel data for consultation scheduling. The lack of scheduling data created a significant gap in our understanding of the patient journey and resource utilization, as we had a network of various healthcare providers, both in-house and contracted, who used individually managed accounts to conduct patient consults. Our original vendor also decided that it would no longer sign any BAAs and therefore would not be considered HIPAA compliant. We needed to migrate to a HIPAA compliant platform, which was our primary motivation to explore new options.
We also faced challenges in tracking the availability of healthcare providers, both in-house and contractors. It was crucial for us to have a flexible system that could accommodate the varying work schedules and contract terms. One particular issue we encountered was determining the overall availability of providers on a weekly basis. The method we were using did not consider their meetings, blocked-off time, or other engagements, which made it unreliable for scheduling consultations. Consequently, providers would often get double-booked or be unavailable when they were expected to be free for consultations. This resulted in a negative experience for patients, something we wanted to avoid. We also wanted a more effective method for the company to gauge how much time practitioners were actually setting aside for us. The availability aspect was crucial, and we needed a better way to capture it.
When transitioning to a new platform, it’s common to want to get it up and running quickly. However, in our case, we had a specific brand presence and user experience that we wanted to maintain throughout the entire scheduling process. Unfortunately, many out-of-the-box platforms don’t allow for customization or have limited options for changing the user interface. We wanted the flexibility to customize the UI, so we either needed a highly customizable scheduling widget or an API-based scheduling experience that would allow us to build our own UI on top of it.
How did your users, both internal and external, interact with Cronofy?
As a part of our patient intake process, the patient completed an intake form. As a follow up, someone from our company would reach out and ask them to schedule an appointment. We created our own scheduling widget and embedded it in our intake form so that patients could schedule immediately upon submitting. Our system would select an available provider based on our predefined criteria, and we’d get that provider’s real time availability and present it to the patient. We relied heavily on Cronofy’s integration with Google Calendar to access real-time availability data. If the scheduling widget was not used, providers had the ability to create new appointments themselves with an API call to Cronofy to create a new appointment with a specific provider and to check their availability. Internally, our team could either request patients to pick a suitable time or schedule the appointment on their behalf.
One of the best things about the out-of-the-box Cronofy setup was the Google Calendar integration. We had our providers create appointment calendars on their enterprise accounts with our company, which allowed us to see any open slots on their calendars. We could only see if they were free or busy, but could not access any details of their appointments. And if a patient scheduled an appointment, we could automatically send them a calendar invitation through the Google Calendar integration. This way, they could easily add the appointment to their calendars as a private event. The invitation served as a reminder, ensuring that both parties were on the same page. This feature was a game-changer compared to simply sending a message about scheduling a meeting for the following week.
In addition to the internal workflow, we also had a rescheduling flow for patients. If a patient needed to reschedule an appointment with the same provider, we could facilitate that through Cronofy. We also built a bulk actions tool for appointments so if a doctor had to call out, they could send a batch call to Cronofy requesting that all appointments be rescheduled by the patients. The patients would receive a message asking them to pick a new date and time, with any necessary context. We developed the bulk tool in-house, rather than relying on the vendor, but it was actually quite easy to do.
How was the process of building on top of Cronofy using their API endpoints?
During our vendor analysis, we were impressed by the excellent developer documentation and API documentation provided by Cronofy. We found it to be intuitive and easy to understand, even for someone without a developer background. The documentation was comprehensive and robust, exceeding our expectations. They also have a straightforward startup guide that makes implementation simple. And although we ultimately chose to build our own UI using Cronofy’s APIs as the backend, the vendor does offer various pre-built widgets and web pages that can be quickly spun up.
The API had all the endpoints we needed. They were fairly accommodating, and their support team was responsive, with minimal downtime. Whenever we had questions about the best approach for specific calls or which endpoints to use, our team closely collaborated with their support team for guidance. Despite being a small team, they were reliable. Scheduling, although complex in healthcare with creating, rescheduling, and canceling appointments, was handled efficiently with their standard yet flexible set of endpoints. They provided additional endpoints for supporting third-party content, although we didn’t utilize them at that time because we were mainly focused on one-to-one interactions.
Another great thing about Cronofy is their startup guides. They offer guidance on connecting different types of calendars, whether it’s Exchange, Google, or iCloud. They provide all the necessary documentation to help you set things up. In terms of implementation, both end users and organizations using Cronofy as a vendor have the flexibility to do various things with it. However, it’s also possible to create a simple appointment data model that aligns perfectly with their endpoints, making it incredibly straightforward. The key takeaway is that you have the option to complicate it as much as you want, but it can also be kept very simple.
On the integration front, were there different integrations for different systems? For instance, with Google Calendar, did you find that it was effective in terms of syncing into the calendar?
We didn’t really take advantage of all the integrations they had already established. They have integrations with various CRM platforms like Salesforce and different HR systems. It’s also used a lot for interviewing purposes, as a platform. Additionally, they have a range of pre-built features available for Zendesk and Slack that we didn’t explore much, as we were mainly focused on a specific use case. However, they provide comprehensive online documentation, which is really helpful if people are interested in learning more about these integrations.
Regarding the Google Calendar integration, it was quite simple. We implemented a straightforward authorization process for our providers by adding a button in our EMR that allowed them to authorize the integration between Google Calendar and Cronofy. In case of any issues, we would step in to assist, although problems rarely occurred.
There were a few minor challenges during the setup. We requested our providers to use a specific calendar where all their information would be stored alongside their primary calendar in Google Calendar. This was crucial for Cronofy’s integration, as it allowed appointments to be placed on a dedicated calendar we had created for them. We usually granted access to these calendars to our medical operations team members. Google Calendar allows you to grant shared access to individual calendars (vs. all calendars for a given user), enabling support or admin personnel for clinical consultations without compromising the privacy of the user’s complete calendar.
There was a high potential for user error in this setup, with the main issue being providers accidentally deleting the specific calendar. Many times, it was not a technical error, but rather the user hiding or deleting the calendar. We developed a simple procedure to follow if they had deleted the calendar to guide them on recreating it correctly. If the issue persisted, we would have them try reauthorizing the calendar, essentially going through the same workflow again. This manual reauthorization pathway proved helpful in some cases where users had made mistakes. In most cases, human error rather than technical error was the cause of issues. To mitigate this, we decided to transfer all appointment data into our EMR instead of relying on Google Calendar. Since we already had all the necessary data in our system, this step helped reduce the likelihood of accidental disruptions or changes by users.
There are a few other issues with integrations that I’ve come across. One was the free and busy concept within Cronofy, specifically regarding working hours. If you’re setting it up for an individual, you can customize their working hours based on their time zone. In our case, we had a network of people working at various times throughout the day, so we didn’t set specific hours. Instead, we allowed people to set their own working hours. However, this meant that they had to block off their calendars for times when they weren’t working. There’s definitely a better way to handle this, but at the time, we simply had people block off any time they didn’t want consults, and that seemed to work for us.
Can you discuss the sales process overall, how you compared vendors and determined product requirements? Ultimately, what brought you over to Cronofy?
We chose Cronofy for several reasons. First and foremost, they were HIPAA compliant, which was crucial for us. They were willing to sign a Business Associate Agreement. Additionally, they had the Google Calendar integration ready to go, which surprisingly wasn’t as common as we expected. We needed a solution that could provide real-time availability and have that information reflected to patients immediately. If two people attempted to book an appointment at the same time, one patient would be notified instantly that the slot was no longer available, preventing scheduling conflicts. Another important aspect was the flexibility Cronofy offered. We found many scheduling vendors that met most of our requirements, but they either had their own limited widget or lacked flexibility in the scheduling user experience. They either didn’t have an API, or if they did, it came with a scheduling widget that couldn’t be customized much. We wanted the opportunity to build our own scheduling UI on top of the backend capabilities. Cronofy’s API-first approach, combined with the Google Calendar integration and HIPAA compliance, made them the right choice for us. Moreover, the pricing was very reasonable, around $780 per month (caveat that I’m not sure if this is still the going rate).
There were many other scheduling vendors available, but they either didn’t meet all of our criteria or they were incredibly expensive. We considered another vendor, but they were lacking some important functionality. They said they were able to build what we needed, but they couldn’t provide us with a timeline. However, Cronofy was very responsive. I think they were also relatively new and trying to establish themselves in the market, so it was a great opportunity for us to take advantage of their expertise.
I know someone who works for a different telemedicine company, and they tried to add a lot more features to Acuity than it was originally designed for. However, we took a different approach with Cronofy. We kept our data model simple and our use cases straightforward. We didn’t try to expand it beyond its intended scope. So I can’t say how robust it is if you want to add more features, but we were able to include identifying information like chief complaint and type of visit to the appointment data model, and that was really helpful for us. It’s not a completely basic system, but it’s not comprehensive for use cases outside of consultations.
With the sales process as a whole, how was your interaction with the leadership team?
We worked closely with their CEO throughout the whole process. Although we hope they have hired others to help with the process by now, he was efficient. We did negotiate during the contracting phase, but once the contract was signed, we were ready to proceed. They provided us with sandbox API endpoints and other resources to experiment with before accessing the production environment. This helped us understand the setup requirements and streamlined implementation. Overall, it was a great experience working with them. Moreover, they have expanded their functionality since our initial collaboration, which is a positive sign. Not many people I know in the industry have worked with Cronofy, likely because of their relative newness and smaller size compared to popular players like Acuity. Nonetheless, they definitely met our needs.
Can you explain how the pricing model works?
At that time, Cronofy offered different tiers based on the number of authorized users. “Authorized” referred to individuals who had integrated their Google Calendars with Cronofy, allowing the latter to read their availability and manage scheduling workflows. Each tier had a specific number of authorized users, and some functionalities were limited to certain tiers. We chose the middle tier, which provided for a specific number of users and a specific set of functionalities for a monthly price. If we exceeded the range of authorized users, they would simply add a per-person or per-authorized-user fee, and once our total cost matched the next tier up, they would automatically upgrade us instead of charging us incrementally per person.
In terms of onboarding and implementation support, do you feel that Cronofy did a good job?
I would rate it a 7 out of 10. Overall, the support provided was decent. The process of onboarding went smoothly, and they were quite responsive during that phase. However, when it came to making modifications or adding functionality to our initial setup, things tended to take longer. I believe this was because they had a small team, though they were doing their best. They generally managed to get back to us within a couple of days at most, especially if we emphasized the urgency of our request. It wasn’t the best customer support I’ve ever experienced, but it was satisfactory.
Who do you think is an ideal customer for Cronofy?
Our company found itself in a unique situation where our homegrown EMR didn’t have built-in scheduling capabilities. I know that many big-box EMRs offer this feature. So, for organizations that have either a homegrown EMR or one without scheduling capabilities, it’s a great option. It’s very cost competitive and offers robust and flexible features. The ability to collect provider availability information was particularly helpful. If you don’t want to build your own scheduling engine, especially if you’re a small healthcare company without scheduling capabilities in your EMR by default, it’s a great solution. If you don’t prioritize user experience as much, there might be other options that are easier to set up, such as external scheduling apps. However, if you want something integrated, I think this option is pretty solid.
What should someone who is selecting their scheduling tooling right now consider?
My biggest piece of advice would be to collaborate closely with your operational partners and understand how availability collection currently works and how you would like to improve it. It’s important to assess the comprehensiveness of your network and determine how many individuals actually require their own scheduling account. Additionally, consider whether your goal is to establish one-on-one appointments and/or appointments with specific providers (vs. a random selection within a group or practice). Alternatively, you might opt for a pooled availability approach where patients simply request an appointment and you have a group of available people who can serve them on a first-come, first-served basis.
I think dealing with scheduling capabilities is relatively easy. However, when it comes to different companies and their specific operations, things can quickly become more complex. It’s crucial to understand and clearly define how your company operates to ensure that it aligns with your requirements. In our case, this understanding was immensely helpful in selecting the right vendor, since there were certain vendors that couldn’t meet our operational needs. Even after the initial implementation, we experienced changes in our operational requirements. Fortunately, we were able to quickly adapt and find solutions with Cronofy. Ultimately, it’s the operational side that can make or break a system. You can have a flawless data model and everything set up perfectly, but if it doesn’t fit your operations, it can cause significant issues.