Upgrade to support Office365 users
Upgrade Folio to support Office365 users, increasing the number of potential subscribers by the 200 million people actively using Office365.
The Client: Folio by Amitree
Folio works like a virtual assistant that sorts emails into actionable and organized streams (Smart Folders) using proprietary AI technology. Folio is available as a web app, and for GMail users, as a Chrome browser extension.
The Project: Expand support to other cloud services
The enhanced product would have to support the same features offered to Folio’s existing Gmail users including email organization and the creation of corresponding calendar events and contacts. Because the initial implementation was built around Google’s API, extending the product to the large segment of Office365 users would require Folio to be re-engineered.

Clockspring expanded Folio to allow customers to sign up using their Office365 credentials, and, after logging in, have the same great experience as Gmail users. Clockspring’s implementation was rolled out without any disruption to existing customers and designed to support other cloud services should Folio wish to expand its potential user base in the future.

The Implementation:
What was originally built only for Google’s API, had to be generalized enough to accommodate not only Office365, but other cloud based services. This implementation refactoring required a deep understanding of the existing architecture. In addition to getting the Office365 API calls working, changes had to be made to the database schema and a level of abstraction put in place so that software running closer to the user’s experience need not be concerned with which cloud service they used.

When a user first signs up, they specify if they wish to use Gmail or Office365. Choosing Office365 creates a Folio account by taking the user through the Office365 OAuth interface. Their emails are then evaluated using Folio’s existing AI and sorted into Smart Folders. The user can see this organization in the Folio app as well as Outlook where folders are created and corresponding emails moved into them.

The Folio app shows the user which emails are included in a SmartFolder, a list of attachments for those emails, as well as contacts derived from the email senders, recipients, and user input. These contacts are added to Outlook so that both the Folio and Outlook information is in sync.

Smart Folders also have timelines associated with them, which allow the user to set up events with the option for emailed or sms reminders. The events are date and time specific, and when created, are added to the Office365 Calendar.

Folio’s features require the creating and updating of Outlook emails, their attachments, folders, contacts, and calendar events through Office365’s api calls. Depending on the scale of the operation, some tasks run immediately in response to user action, while others are scheduled to run in server jobs.

Clockspring provided full test coverage, both frontend and backend. The implementation design supports future expansion to other cloud services. And development, approval, and roll out was successfully completed without any disruption to Folio’s existing users.

The Requirements:
  • Office365 API for the retrieval of emails and attachments, and the creation and updating of contacts and calendar events
  • Office365 OAuth to request appropriate permission scopes through Office365’s login
  • Sync Folio with Office365 emails, contacts, and calendars in real time and in scheduled jobs
  • Build to allow future integration of other cloud services
  • Roll out without any disruptions to current users
  • All necessary database schema changes, backend API integration, frontend interactive elements, Rails specs and Javascript tests
The Technologies Used: