Hi All,
How can I find a list of Nintex forms and workflows on a site collection or subsite in SPO? I searched around and couldn't find anything
Thanks,
Nathan
Hi All,
How can I find a list of Nintex forms and workflows on a site collection or subsite in SPO? I searched around and couldn't find anything
Thanks,
Nathan
I had this same question a few years ago and there is no feature that I know of to find all your Nintex Forms and Workflows in O365.
If you go to Nintex Customer Central, under Usage,
( https://customer.nintex.com/usage/Pages/default.aspx )
it shows # of Production Workflows Used, Production Forms Used, Development Workflows Used, and Development Forms Used, so you would think it could also show you where to find them.
I can easily tell that when it tells me I have 35 production forms in use, that number is high. Maybe someone here created a form for testing and then deleted it or deleted the list and it still counts for these numbers, but those numbers are wrong. We maybe have 10 forms in production, at best, so it would be nice to go through and clean up any unused forms.
For forms, you might try the following PowerShell script to get a list of site collections that have the Nintex app installed in them. You'll need to be at least a SharePoint tenant admin:
$cred = Get-Credential
Connect-PnPOnline 'https://domainname-admin.sharepoint.com' -Credentials $cred
#Search for a specific app by list name
$ListName = 'NintexFormXml'
$SiteCollections = Get-PnPTenantSite
$SiteCollectionsCount = $siteCollections.Count
foreach ($SiteCollection in $SiteCollections){
$SiteCollectionUrl = $SiteCollection.Url
try {Write-Host "Trying to connect to: $SiteCollectionUrl"
Connect-PnPOnline -Url $SiteCollection.Url -Credentials $cred
}
catch {Write-Host "Cannot connect"}
$list = Get-PnPList -Identity $ListName
if ($list) {
$list
}
$SiteCollectionsCount = ($SiteCollectionsCount - 1)
$SiteCollectionsCount
}
I hope this helps someone else out. I wrote a PnP PowerShell script to get the Forms and Form Count
# Connect to your SharePoint admin site
Connect-PnPOnline -Url "https://yourSPSiteName-admin.sharepoint.com/" -Interactive
$entitlementType = "<EntitlementType>Production</EntitlementType>"
$ProductionFormsCount = 0
$DevelopmentFormsCount = 0
# Get all site collections
$siteCollections = Get-PnPTenantSite
foreach ($SiteCollection in $SiteCollections) {
$SiteCollectionUrl = $SiteCollection.Url
try {
#Write-Host "Trying to connect to: $SiteCollectionUrl"
Connect-PnPOnline -Url $SiteCollection.Url -Interactive
# Check if the web has a "NintexForms" list
$nintexFormsList = Get-PnPList -Identity "NintexFormXml"
if ($null -ne $nintexFormsList) {
Write-Host "Site: $SiteCollectionUrl"
# Get all items in the "NintexForms" list
$nintexFormsItems = Get-PnPListItem -List $nintexFormsList
foreach ($item in $nintexFormsItems) {
$formType = ""
try {
$xmlFile = Get-PnPFile -Url $item["FileRef"] -AsString
if ($xmlFile -match $entitlementType) {
$formType = "Production"
}
else {
$formType = "Development"
}
}
catch {
Write-host -f foregroundcolor red "Encountered Error:"$_.Exception.Message
<#Do this if a terminating exception happens#>
}
$fileLeafRef = $item["FileLeafRef"]
$splitString = $fileLeafRef -split "_"
$listId = $splitString[1]
try {
$formList = Get-PnPList -Identity $listId
Write-Host ("Form Type: " + $formType + ", List Name: " + $formList.Title + ", View Url: " + $formList.RootFolder.ServerRelativeUrl )
if ($formType -eq "Production") {
$ProductionFormsCount = ($ProductionFormsCount + 1)
}
else {
$DevelopmentFormsCount = ($DevelopmentFormsCount + 1)
}
}
catch {
#Write-Host "List does not exist"
}
}
Write-Host " "
}
}
catch {
<#Do this if a terminating exception happens#>
}
}
Write-Host ("Production Forms Count: " + $ProductionFormsCount + ", Development Forms Count: " + $DevelopmentFormsCount)
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.