As enterprises continue to add tools to support omnichannel conversion, one common requirement is an integration with Microsoft Outlook/Office 365.
This integration removes the manual creation of calendar items, tasks, and contacts in Microsoft Outlook and Office 365 for all staff, and enables them to use a familiar tool resulting in quicker implementation and higher user adoption.
JRNI’s extensive integration with Microsoft Outlook/Office 365 is designed to provide a full suite of capabilities needed to deliver seamless, intelligent, and scalable scheduling. Our integration offers a host of benefits to enterprises including:
Increases the visibility of key information across multiple business applications
Removal of duplicate data entry
Reduction in administrative time and cost
Increases employee productivity
Quicker training time with a familiar toolset
Dynamic content creation for email subject and body text
A recent successful implementation required JRNI to deliver this integration at significant scale, ensuring the user upload, sync, and confirmation response times of bookings between JRNI and Exchange. In order to deliver at this scale, all components of the integration have to work in tandem from the underlying architecture, to load balancing, to syncing of data.
Over the past three months, JRNI has been improving a host of performance and scalability enhancements to this integration based on our initial benchmark performance results.
This blog looks at some of these improvements in more detail and the positive results this has delivered for our customers.
Task prioritization
Using new capabilities, JRNI is now able to determine which tasks take longer than others, and which are more critical when it comes to syncing between JRNI and Exchange. We identified that certain tasks need to be completed in near real-time, where other integration background tasks can take a few moments longer.
For example, we know that performing a calendar sync is a higher priority in terms of making sure that availability is correct. Therefore, these tasks are set as high priority.
Concurrency of tasks
In addition to task prioritization, we have invested a lot of time looking at how we can do things concurrently rather than sequentially, working out parts of the Exchange integration which were not reliant on the completion of other parts.
We are now able to split each “chunk” of tasks into its own process, meaning that we are able to effectively infinitely scale horizontally depending on how many calendars we needed to sync within a given time period.
Utilization of multithreading
In order to know that something has changed within a given Exchange calendar, we need to listen to streaming events. The integration was flawless at a hundred to a thousand events, but as the numbers increased, there was an issue in effectively scaling without delays.
To address this issue, we added additional utilization of multi-threading and background processes to speed this up.
New sync process
We also delivered a new method of getting Exchange calendar information. Our new approach only returns items changed since the sync id that is passed to the function resulting in a lot less data being returned in the API response. Less data to compare and process has resulted in a single person having sync time decrease from 6 seconds to less than half a second.
Dynamic content creation for email subject and body text
The integration also includes personalized calendar interactions controlled within our admin experience, Studio. Businesses can now customize the subject and body descriptions sent to staff in their event invitations via dynamic objects which sync with Outlook and Office 365.
To achieve this, JRNI implemented liquid templates. Liquid uses a combination of tags, objects, logic, and filters to load dynamic content.
The end result for our users
Since delivering these enhancements, the overall result is a significant reduction in the time we have received a notification that something in the Outlook or Office 365 calendar has changed and that change being reflected within JRNI’s system.
The detailed results have also been incredible. The latest version of the integration delivered the following benchmark results at scale:
74% improved performance on total time to conduct Business as Usual sync
91% improvement in notification response time
Horizontal scalability to manage increased users and load management
Ability to prioritize work processes to make the integration more intelligent