SlideShare a Scribd company logo
1 of 18
Webhooks in
SharePoint Online
MATT MAHER
About Netwoven
 Microsoft gold partner
 Enterprise Content collaboration
 Customer relationship management
 Cloud productivity and development
 Since 2001
Agenda
 What are Webhooks
 Who uses Webhooks
 How webhooks are implemented in SharePoint
 Demos
 Advantages/Disadvantages
What are webhooks?
 A pattern that allows for event driven notification
 Uses a push not pull concept
 Supported in most modern platforms
 SharePoint Implementation
 Still in preview for SharePoint Online
 Preview only supports Lists and Libraries
 No official plans for an on-prem feature pack
What are the alternatives within
SharePoint?
 Remote Event Receivers
 Workflows
 Flow
 RSS feeds
 Email Alerts
 CSOM Change log
Webhooks vs Traditional API
Client
SharePoint
Did
anything
change?
Nope
Did
anything
change?
Nope
Did
anything
change?
Nope
Did
anything
change?
Nope
Did
anything
change?
Nope
Did
anything
change?
Yes,
Item 5
Please
give me
details on
Item 5
Details
for Item 5
Client
SharePoint
Your item
changed
Please give
me details on
the change
Details
for Item 5
Webhooks
Traditional API
Who uses webhooks?
Subscribe
HTTP/ 200 OK
{GUID}
SharePoint
Online
POST /_api/web/lists('list-id')/subscriptions
Your application
POST https://{your host}/your/webhook/service
?validationtoken={GUID}
WebHook
notification
endpoint
HTTP/ 201 Created
Your application
{
"resource":"https://netwoveninc.sharepoint.com/_api/web/Lists/getbytitle('Documents') ",
“notificationUrl":"http://spsaturday.westus.cloudapp.azure.com",
"expirationDateTime":"2016-12-02T00:00:00+00:00"
}
{
"id": "a8e6d5e6-9f7f-497a-b97f-8ffe8f559dc7",
"expirationDateTime": "2016-12-27T16:17:57Z",
"notificationUrl": " http://spsaturday.westus.cloudapp.azure.com ",
"resource": “{list or library id}“
}
https://doc.co/Jwbh8r
Webhook Subscribe - Demo
Event notification in action
HTTP/ 200 OK
SharePoint
Online
WebHook
notification
endpoint
POST https://{your host}/your/webhook/service
{
"value":[
{
"subscriptionId":"91779246-afe9-4525-b122-6c199ae89211",
"clientState":"00000000-0000-0000-0000-000000000000",
"expirationDateTime":"2016-04-30T17:27:00.0000000Z",
"resource":"b9f6f714-9df8-470b-b22e-653855e1c181",
"tenantId":"00000000-0000-0000-0000-000000000000",
"siteUrl":"/",
"webId":"dbc5a806-e4d4-46e5-951c-6344d70b62fa"
}
]
}
https://doc.co/Jwbh8r
Webhook Notification - Demo
Webhooks Advantages
 Simple subscription and notification
 Retry ability
 Support delete events
 Industry standard approach to notifications
 In line with modern development stack of SPFx
Webhooks Disadvantages
 6 month max expiration
 Bare minimum information from SPO
 Only Lists and Libraries are supported in SPO preview
 Acknowledgement must be received quickly
 May take upwards of 5 minutes to receive the notification
 No synchronous events from SPO
 Subscriptions and notifications go over the same URL
Webhooks Best Practice
 Always implement an asynchronous process
 Your App should update its subscriptions on a timed interval
 Keep limited number of event subscriptions to minimize http requests
to server
 Log processed events to avoid duplicate event processing
 Webhook notification acknowledgement has to be within 5 sec
 BPM engines should still be used for more complex processes
 Webhooks to replace your Nintex or SharePoint workflows
Webhook client notification - Demo
Resources
 Video: https://dev.office.com/blogs/introducing-sharepoint-
webhooks
 MSDN Details:
https://dev.office.com/sharepoint/docs/apis/webhooks/overview-
sharepoint-webhooks
 Webhook events:
https://dev.office.com/sharepoint/docs/apis/webhooks/lists/overvie
w-sharepoint-list-webhooks
 Github sample: https://github.com/SharePoint/sp-dev-
samples/tree/master/Samples/WebHooks.Nodejs
Questions?
THANK YOU

More Related Content

What's hot

The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Kai Wähner
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache Kafka
Guido Schmutz
 

What's hot (20)

The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
 
Apache Flink, AWS Kinesis, Analytics
Apache Flink, AWS Kinesis, Analytics Apache Flink, AWS Kinesis, Analytics
Apache Flink, AWS Kinesis, Analytics
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafka
 
Apache Kafka Security
Apache Kafka Security Apache Kafka Security
Apache Kafka Security
 
Kafka Retry and DLQ
Kafka Retry and DLQKafka Retry and DLQ
Kafka Retry and DLQ
 
Delivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWSDelivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWS
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache KafkaLocation Analytics - Real-Time Geofencing using Apache Kafka
Location Analytics - Real-Time Geofencing using Apache Kafka
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
Flexible Authentication Strategies with SASL/OAUTHBEARER (Michael Kaminski, T...
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka error handling patterns and best practices | Hemant Desale and Aruna Ka...
Kafka error handling patterns and best practices | Hemant Desale and Aruna Ka...Kafka error handling patterns and best practices | Hemant Desale and Aruna Ka...
Kafka error handling patterns and best practices | Hemant Desale and Aruna Ka...
 
Apache Nifi Crash Course
Apache Nifi Crash CourseApache Nifi Crash Course
Apache Nifi Crash Course
 
RESTFul API for news application using strapi headless cms
RESTFul API for news application using strapi headless cms RESTFul API for news application using strapi headless cms
RESTFul API for news application using strapi headless cms
 
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Kafka Tutorial: Kafka Security
Kafka Tutorial: Kafka SecurityKafka Tutorial: Kafka Security
Kafka Tutorial: Kafka Security
 
API Security in a Microservice Architecture
API Security in a Microservice ArchitectureAPI Security in a Microservice Architecture
API Security in a Microservice Architecture
 
Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014
 
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
 

Viewers also liked

WebHookの調査と実装
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装
moai kids
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
 

Viewers also liked (7)

WebHookの調査と実装
WebHookの調査と実装WebHookの調査と実装
WebHookの調査と実装
 
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
kintoneとMicrosoft Flowで学ぶイマドキのシステム間連携
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップASP.NET SPA開発をはじめよう~今と未来とステップアップ
ASP.NET SPA開発をはじめよう~今と未来とステップアップ
 
はじめての ASP.NET MVC
はじめての ASP.NET MVCはじめての ASP.NET MVC
はじめての ASP.NET MVC
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 

Similar to Webhooks in Microsoft SharePoint Online

Black Friday - MuleSoft Automation.pdf
Black Friday - MuleSoft Automation.pdfBlack Friday - MuleSoft Automation.pdf
Black Friday - MuleSoft Automation.pdf
Amir Khan
 

Similar to Webhooks in Microsoft SharePoint Online (20)

Enhance SharePoint with the best BPM capabilities
Enhance SharePoint with the best BPM capabilitiesEnhance SharePoint with the best BPM capabilities
Enhance SharePoint with the best BPM capabilities
 
Enterprise Deployments & SOA
Enterprise Deployments & SOAEnterprise Deployments & SOA
Enterprise Deployments & SOA
 
Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0Office 365 Deployment Strategies 2.0
Office 365 Deployment Strategies 2.0
 
Three SOA Case Studies
Three SOA Case StudiesThree SOA Case Studies
Three SOA Case Studies
 
Intro apps
Intro appsIntro apps
Intro apps
 
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
F1_Design Mission Critical Enterprise Applications with Power Automate and Do...
 
Telco - Community Meetup - Automation.pdf
Telco - Community Meetup - Automation.pdfTelco - Community Meetup - Automation.pdf
Telco - Community Meetup - Automation.pdf
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
The World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePointThe World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePoint
 
SharePoint 2010 design and deploy
SharePoint  2010 design and deploySharePoint  2010 design and deploy
SharePoint 2010 design and deploy
 
SharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in ActionSharePoint Saturday Workflow in Action
SharePoint Saturday Workflow in Action
 
Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...Design mission-critical enterprise applications with Power Automate and Docto...
Design mission-critical enterprise applications with Power Automate and Docto...
 
Sharepoint2
Sharepoint2Sharepoint2
Sharepoint2
 
SharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro OverviewSharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro Overview
 
Black Friday - MuleSoft Automation.pdf
Black Friday - MuleSoft Automation.pdfBlack Friday - MuleSoft Automation.pdf
Black Friday - MuleSoft Automation.pdf
 
TOPdesk product update webinar Q3 2019.pdf
TOPdesk product update webinar Q3 2019.pdfTOPdesk product update webinar Q3 2019.pdf
TOPdesk product update webinar Q3 2019.pdf
 
SPSCBR - Pitfalls of Migrating to SharePoint 2013
SPSCBR - Pitfalls of Migrating to SharePoint 2013SPSCBR - Pitfalls of Migrating to SharePoint 2013
SPSCBR - Pitfalls of Migrating to SharePoint 2013
 
2020-04-10 Modern workplace summit Integrate the Power Platform with ShareP...
2020-04-10 Modern workplace summit   Integrate the Power Platform with ShareP...2020-04-10 Modern workplace summit   Integrate the Power Platform with ShareP...
2020-04-10 Modern workplace summit Integrate the Power Platform with ShareP...
 
SharePoint Fest Seattle - Three Must-Have Workflows with Microsoft Flow
SharePoint Fest Seattle - Three Must-Have Workflows with Microsoft FlowSharePoint Fest Seattle - Three Must-Have Workflows with Microsoft Flow
SharePoint Fest Seattle - Three Must-Have Workflows with Microsoft Flow
 

More from Netwoven Inc.

More from Netwoven Inc. (20)

How to boost your productivity with Nintex workflow automation software
How to boost your productivity with Nintex workflow automation softwareHow to boost your productivity with Nintex workflow automation software
How to boost your productivity with Nintex workflow automation software
 
Nintex Workflow Makes Your Business Efficient
Nintex Workflow Makes Your Business Efficient Nintex Workflow Makes Your Business Efficient
Nintex Workflow Makes Your Business Efficient
 
Nintex Webinar - Building SharePoint/O365 Forms and Workflows
Nintex Webinar - Building SharePoint/O365 Forms and WorkflowsNintex Webinar - Building SharePoint/O365 Forms and Workflows
Nintex Webinar - Building SharePoint/O365 Forms and Workflows
 
Introduction to Nintex - Building SharePoint/O365 Forms and Workflows
Introduction to Nintex - Building SharePoint/O365 Forms and WorkflowsIntroduction to Nintex - Building SharePoint/O365 Forms and Workflows
Introduction to Nintex - Building SharePoint/O365 Forms and Workflows
 
Nintex presentation Building forms and Workflows
Nintex presentation Building forms and Workflows Nintex presentation Building forms and Workflows
Nintex presentation Building forms and Workflows
 
Enterprise search Information
Enterprise search Information Enterprise search Information
Enterprise search Information
 
Nintex Webinar February 23, 2017
Nintex Webinar February 23, 2017Nintex Webinar February 23, 2017
Nintex Webinar February 23, 2017
 
Click Dimensions Webinar
Click Dimensions WebinarClick Dimensions Webinar
Click Dimensions Webinar
 
Nintex Workflow Cloud
Nintex Workflow Cloud Nintex Workflow Cloud
Nintex Workflow Cloud
 
Building Microsoft SharePoint Workflow & Forms using Nintex
Building Microsoft SharePoint Workflow & Forms using NintexBuilding Microsoft SharePoint Workflow & Forms using Nintex
Building Microsoft SharePoint Workflow & Forms using Nintex
 
Netwoven nintex hawkeye webinar presentation
Netwoven nintex hawkeye webinar presentationNetwoven nintex hawkeye webinar presentation
Netwoven nintex hawkeye webinar presentation
 
Nintex Webinar
Nintex WebinarNintex Webinar
Nintex Webinar
 
5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...5 steps to get started with effective content governance strategy and how Off...
5 steps to get started with effective content governance strategy and how Off...
 
SharePoint, Nintex and DocuSign - Putting it all together
SharePoint, Nintex and DocuSign - Putting it all together SharePoint, Nintex and DocuSign - Putting it all together
SharePoint, Nintex and DocuSign - Putting it all together
 
Inspiring Insights to Drive Action using Power BI
Inspiring Insights to Drive Action using Power BIInspiring Insights to Drive Action using Power BI
Inspiring Insights to Drive Action using Power BI
 
xRM and unlock your data
xRM and unlock your dataxRM and unlock your data
xRM and unlock your data
 
Nuts and Bolts of Building Compliance Process with Nintex and SharePoint 2013
Nuts and Bolts of Building Compliance Process with Nintex and SharePoint 2013Nuts and Bolts of Building Compliance Process with Nintex and SharePoint 2013
Nuts and Bolts of Building Compliance Process with Nintex and SharePoint 2013
 
Migration to share point online
Migration to share point onlineMigration to share point online
Migration to share point online
 
Learn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce Data
Learn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce DataLearn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce Data
Learn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce Data
 
Sales Analytics Using Power BI
Sales Analytics Using Power BISales Analytics Using Power BI
Sales Analytics Using Power BI
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Webhooks in Microsoft SharePoint Online

  • 2. About Netwoven  Microsoft gold partner  Enterprise Content collaboration  Customer relationship management  Cloud productivity and development  Since 2001
  • 3. Agenda  What are Webhooks  Who uses Webhooks  How webhooks are implemented in SharePoint  Demos  Advantages/Disadvantages
  • 4. What are webhooks?  A pattern that allows for event driven notification  Uses a push not pull concept  Supported in most modern platforms  SharePoint Implementation  Still in preview for SharePoint Online  Preview only supports Lists and Libraries  No official plans for an on-prem feature pack
  • 5. What are the alternatives within SharePoint?  Remote Event Receivers  Workflows  Flow  RSS feeds  Email Alerts  CSOM Change log
  • 6. Webhooks vs Traditional API Client SharePoint Did anything change? Nope Did anything change? Nope Did anything change? Nope Did anything change? Nope Did anything change? Nope Did anything change? Yes, Item 5 Please give me details on Item 5 Details for Item 5 Client SharePoint Your item changed Please give me details on the change Details for Item 5 Webhooks Traditional API
  • 8. Subscribe HTTP/ 200 OK {GUID} SharePoint Online POST /_api/web/lists('list-id')/subscriptions Your application POST https://{your host}/your/webhook/service ?validationtoken={GUID} WebHook notification endpoint HTTP/ 201 Created Your application { "resource":"https://netwoveninc.sharepoint.com/_api/web/Lists/getbytitle('Documents') ", “notificationUrl":"http://spsaturday.westus.cloudapp.azure.com", "expirationDateTime":"2016-12-02T00:00:00+00:00" } { "id": "a8e6d5e6-9f7f-497a-b97f-8ffe8f559dc7", "expirationDateTime": "2016-12-27T16:17:57Z", "notificationUrl": " http://spsaturday.westus.cloudapp.azure.com ", "resource": “{list or library id}“ } https://doc.co/Jwbh8r
  • 10. Event notification in action HTTP/ 200 OK SharePoint Online WebHook notification endpoint POST https://{your host}/your/webhook/service { "value":[ { "subscriptionId":"91779246-afe9-4525-b122-6c199ae89211", "clientState":"00000000-0000-0000-0000-000000000000", "expirationDateTime":"2016-04-30T17:27:00.0000000Z", "resource":"b9f6f714-9df8-470b-b22e-653855e1c181", "tenantId":"00000000-0000-0000-0000-000000000000", "siteUrl":"/", "webId":"dbc5a806-e4d4-46e5-951c-6344d70b62fa" } ] } https://doc.co/Jwbh8r
  • 12. Webhooks Advantages  Simple subscription and notification  Retry ability  Support delete events  Industry standard approach to notifications  In line with modern development stack of SPFx
  • 13. Webhooks Disadvantages  6 month max expiration  Bare minimum information from SPO  Only Lists and Libraries are supported in SPO preview  Acknowledgement must be received quickly  May take upwards of 5 minutes to receive the notification  No synchronous events from SPO  Subscriptions and notifications go over the same URL
  • 14. Webhooks Best Practice  Always implement an asynchronous process  Your App should update its subscriptions on a timed interval  Keep limited number of event subscriptions to minimize http requests to server  Log processed events to avoid duplicate event processing  Webhook notification acknowledgement has to be within 5 sec  BPM engines should still be used for more complex processes  Webhooks to replace your Nintex or SharePoint workflows
  • 16. Resources  Video: https://dev.office.com/blogs/introducing-sharepoint- webhooks  MSDN Details: https://dev.office.com/sharepoint/docs/apis/webhooks/overview- sharepoint-webhooks  Webhook events: https://dev.office.com/sharepoint/docs/apis/webhooks/lists/overvie w-sharepoint-list-webhooks  Github sample: https://github.com/SharePoint/sp-dev- samples/tree/master/Samples/WebHooks.Nodejs