SharePoint Online: Create Alerts using PowerShell CSOM
Requirement: Create SharePoint Alert using PowerShell
How to Create Alerts in SharePoint Online?
Alerts in SharePoint Online helps to track changes such as addition/changes/delete to the content E.g. Lists and libraries, pages, etc. To create an Alert for a SharePoint Online document library, follow these steps:
SharePoint Online: PowerShell to Create Alert
We want to add an alert programmatically using PowerShell to a SharePoint Online list when new items are added.
How to Create Alerts in SharePoint Online?
Alerts in SharePoint Online helps to track changes such as addition/changes/delete to the content E.g. Lists and libraries, pages, etc. To create an Alert for a SharePoint Online document library, follow these steps:
- Go to your SharePoint Online site, Navigate to the document library for which you want to create an alert
- From the Toolbar, Click on the ellipses and select "Alert Me".
- In the new alert creation page, Type the alert title, enter users who will receive notifications, Select E-mail or SMS for "Delivery Method". Select the condition for this alert (e.g. "Anything changes") and when to send alerts.
- Scroll to the bottom of the page and click "OK" to create an alert for the document library.
SharePoint Online: PowerShell to Create Alert
We want to add an alert programmatically using PowerShell to a SharePoint Online list when new items are added.
#Load SharePoint CSOM Assemblies Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll" Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll" #Config Parameters $SiteURL= "https://crescent.sharepoint.com" $ListName="Documents" $UserID="[email protected]" #Setup Credentials to connect $Cred = Get-Credential $Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password) Try { #Setup the context $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL) $Ctx.Credentials = $Cred #Get the List and User Objects $List = $Ctx.Web.Lists.GetByTitle($ListName) $User = $Ctx.Web.EnsureUser($UserID) $Ctx.Load($List) $Ctx.Load($User) $Ctx.ExecuteQuery() #Create new alert Object and Set its Properties $Alert = New-Object Microsoft.SharePoint.Client.AlertCreationInformation $Alert.List = $List $Alert.User = $User $Alert.Title = "New Documents in Project Docs - Alert" $Alert.AlertFrequency = [Microsoft.SharePoint.Client.AlertFrequency]::Immediate $Alert.AlertType = [Microsoft.SharePoint.Client.AlertType]::List $Alert.DeliveryChannels = [Microsoft.SharePoint.Client.AlertDeliveryChannel]::Email $Alert.Status = [Microsoft.SharePoint.Client.AlertStatus]::On $Alert.EventType = [Microsoft.SharePoint.Client.AlertEventType]::AddObject #Or All $Alert.Filter = "0" #Anything Changes - Other values: 1, 2, 3 # Add the alert for the user $AlertGuid = $User.Alerts.Add($Alert) $User.Update() $Ctx.ExecuteQuery() Write-host -f Green "New Alert Has been Created!" } Catch { write-host -f Red "Error Creating Alert!" $_.Exception.Message }
hi the script is very good but iam unable to update the $Alert.Filter value
ReplyDeleteyes iam also facing the same problem please let me know if anyone got how to update that feature
DeleteHi Thanks, for sharing this script, i have observed in this script $Alert.Filter Property values are not updated in target. Could you share who we can update the $Alert.Filter Property value.
ReplyDelete