A common requirement for SAAS (Software as a Service) product owners is to synchronise the Calendar in the web based SAAS tool with their client’s Outlook calendar.
There are two options to do this:
- Create an Outlook plugin which can be installed on the client’s PC.
- Create a software service using Exchange Web Services which requires no client installation.
Create an Outlook plugin Sync tool
An Outlook plugin synchronisation tool can be configured to synchronise the user’s Outlook calendar with the SAAS product. The SAAS product would need to implement a webservice which the plugin could call to carry out the synchronisation.
The synchronisation could be carried out as a background task so that it did not greatly impact the user. It would run (say) every 15 minutes, and check for changes in the local Outlook Calendar (by checking directly), and in the SAAS product Calendar (by calling the webservice and asking for a list of changes since last time).
- Works for any Outlook windows desktop client.
- Client does not need to be using MS Exchange / Office 365 for email.
- User does not need to enter their username password for the sync to run.
- Needs to be installed on the Windows client.
- Outlook needs to be open for the sync to run.
Create a Software as a Service Sync Tool
A server based sync tool can be created which does not require any installation on the client’s PC. It could run on the SAAS product owners servers – as a part of the service, or it could be installed on the client’s server – inside their firewall if security and access is an issue for the client.
The tool would consist of a web front end which would enable to the user to provide their Exchange / Office 365 username and password. The web front end would then need to provide an interface to allow the user to select the calendar to be synchronised, together with any other configuration parameters.
The sync tool would then log in directly to Exchange / Office 365 using EWS (Exchange Web Services). It would perform a synchronisation similar to that discussed above in the plugin – checking the Calendar for changed items, and accessing the SAAS product Calendar via the webservice.
EWS allows for two kinds of synchronisation – a timed (say every 15 minutes) check, or an always on subscription that would provide instant notification of changes. The latter is more complex to setup and manage – but obviously provides a faster sync / higher perceived level of service.
- Does not require any local installation
- Works irrespective of which Outlook client is being used (e.g. Outlook for Mac).
- Sync runs 24 x 7. No need to leave Outlook running.
- Only works for clients using MS Exchange / Office 365 for email.
- The sync client requires a username/password to log in to Exchange for the sync to run.
- Requires a server and database environment be set up in the cloud.
Calendar Sync Considerations
When designing a tool to synchronise calendars, there are a few areas for consideration:
- Sync just future appointments, or past as well.
- How to manage Recurring appointments (This can be complex and is a big deal)
- Time zones
Davton have created Calendar sync tools for a number of clients – both plugin based and EWS based. If you would like to discuss creating a sync tool for your product, please contact us for an initial discussion.