With SharePoint Online, the shift to client-side development is complete: the last possibility to deploy server-side code (using sandbox solutions with code), was disabled in summer 2016. With all the advantages that client-side development brings, we have also witnessed some of the disadvantages. Developing daemons, such as event handlers and timer jobs, which was a huge part of traditional SharePoint development, was “left behind” in the client development world for a long time. Provider-hosted AddIns — with all its shortcomings — were the only way to get this done.
This changed recently: web hooks in SharePoint Online, and Azure Functions, both introduced recently, gave us the necessary tools to tackle this issue. This development session will demonstrate how to develop “timer job equivalents” with Azure Functions and Azure Active Directory applications using app-only permissions. We will see how to emulate event handlers, using web hooks and Azure Functions, using both App-Only permissions for “elevated privileges mode” or simply where the user identity is not important, or with delegated permissions where knowing the user identity is crucial.