Tuesday, 6 February 2018

Introduction to SharePoint Webhooks

Views

What is Webhook?


Web hook is a general concept for http based events, which will provide remote event mechanisms.

Say for example, you have a built a custom application separately which has some specific product related content. Whenever there is a data change on the product repository, your data on the custom application should also be updated. For this scenario, will you be keep on checking the product repository for the changes? The answer should be No. Instead of your application keep on poll the product for changes, product should notify or push the changes to your application.

What is SharePoint Webhook?


Previously for working with event based processes, we were using the server side event receivers and remote events receivers. Such processes can be replaced with the webhooks.


SharePoint webhooks provides the ability to receive notification from the SharePoint. That is, SharePoint will push the changes happening on the lists and libraries to the subscribed system seamlessly. The below snapshot depicts the same. In my case, the subscribed system will be on Azure.

The developers should register their webhook with the SharePoint using the REST end points available. SharePoint will start sending notifications for the actions like item added, item deleted, item updated, etc.

SharePoint has started supporting webhooks concept for SharePoint online platforms. It was available as preview from 2016 September and officially rolled out from the early 2017.

Advantages of using SharePoint Webhook:


  • Secure way of pushing the changes to the external systems. That is, whenever there is a change, very minimal data is pushed during the notifications. Meaning notification will not contain everything about the change, rather the notification will contain the subscription and site details and also the list on which changes has happened.
  • Retry mechanism – Once the push notification fails from SharePoint, it retries 5 times to the external system about the change.
  • Easily consumable – Any application can subscribe to the webhook developed on SharePoint and receive the notifications or changes for the resource subscribed.
  • Light weight – Webhooks can be written using any HTTPS enabled services for receiving the changes.


In my next posts, let us look at the detailed steps involved with the samples.