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

What's hot (20)

Marketing's 7 Deadly Sins
Marketing's 7 Deadly SinsMarketing's 7 Deadly Sins
Marketing's 7 Deadly Sins
 
17 Things Powerful People Say
17 Things Powerful People Say17 Things Powerful People Say
17 Things Powerful People Say
 
DREAM: Distribution. Rules. Everything. Around. Me
DREAM: Distribution. Rules. Everything. Around. MeDREAM: Distribution. Rules. Everything. Around. Me
DREAM: Distribution. Rules. Everything. Around. Me
 
10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation10 Ways Your Boss Kills Employee Motivation
10 Ways Your Boss Kills Employee Motivation
 
Growth hacking secrets
Growth hacking secrets Growth hacking secrets
Growth hacking secrets
 
Lead Generation Strategy
Lead Generation StrategyLead Generation Strategy
Lead Generation Strategy
 
Creating Successful MVPs in Agile Teams - Agile 2014
Creating Successful MVPs in Agile Teams - Agile 2014Creating Successful MVPs in Agile Teams - Agile 2014
Creating Successful MVPs in Agile Teams - Agile 2014
 
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&APreparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
 
Networking, Relationship Building, and Community
Networking, Relationship Building, and CommunityNetworking, Relationship Building, and Community
Networking, Relationship Building, and Community
 
B2B SaaS Marketing - B2B Search Engine Optimization (SEO)
B2B SaaS Marketing - B2B Search Engine Optimization (SEO)B2B SaaS Marketing - B2B Search Engine Optimization (SEO)
B2B SaaS Marketing - B2B Search Engine Optimization (SEO)
 
Tips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PMTips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PM
 
How to Design a Killer Deck - 8 Essential Tips in Presentation Design
How to Design a Killer Deck - 8 Essential Tips in Presentation DesignHow to Design a Killer Deck - 8 Essential Tips in Presentation Design
How to Design a Killer Deck - 8 Essential Tips in Presentation Design
 
Build Better Products: How to Identify and Validate Assumptions
Build Better Products: How to Identify and Validate AssumptionsBuild Better Products: How to Identify and Validate Assumptions
Build Better Products: How to Identify and Validate Assumptions
 
LEAD GENERATION
LEAD GENERATIONLEAD GENERATION
LEAD GENERATION
 
LinkedIn Checklist 2022
LinkedIn Checklist 2022LinkedIn Checklist 2022
LinkedIn Checklist 2022
 
C:\Shared\Rapid Results\Training Programmes\Lego Serious Play\15 Top Tips Lsp
C:\Shared\Rapid Results\Training Programmes\Lego Serious Play\15 Top Tips LspC:\Shared\Rapid Results\Training Programmes\Lego Serious Play\15 Top Tips Lsp
C:\Shared\Rapid Results\Training Programmes\Lego Serious Play\15 Top Tips Lsp
 
Territorio DSM 2022 - SEO para e-commerce
Territorio DSM 2022 - SEO para e-commerceTerritorio DSM 2022 - SEO para e-commerce
Territorio DSM 2022 - SEO para e-commerce
 
Model storming
Model stormingModel storming
Model storming
 
Freelancing: How to Get Started... or Not.
Freelancing: How to Get Started... or Not.Freelancing: How to Get Started... or Not.
Freelancing: How to Get Started... or Not.
 
LEGO ® Serious Play® 101
LEGO ® Serious Play® 101LEGO ® Serious Play® 101
LEGO ® Serious Play® 101
 

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

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
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)

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 

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