Search K
Appearance
Appearance
Event handlers are automations that execute when specific capture actions occur. They enable Capture to trigger downstream processes, send notifications, update systems, and integrate with workflows.
Capture supports three event types:
Triggers: When a user submits a capture
Use for:
Available for: Submit and Approve/Reject submission types
Triggers: When a reviewer approves a capture
Use for:
Available for: Approve/Reject submission type only
Triggers: When a reviewer rejects a capture
Use for:
Available for: Approve/Reject submission type only
Capture supports two types of event handlers:
Overview:
Capabilities:
Limitations:
Overview:
Capabilities:
Advantages:
Goal: Send email when capture is submitted
PowerShell Approach:
# Get capture details
$captureName = $Capture.Name
$submitter = $Capture.CreatedBy
# Send email
Send-MailMessage `
-To "reviewer@company.com" `
-From "minuteview@company.com" `
-Subject "New Capture: $captureName" `
-Body "A new capture has been submitted by $submitter"Workflow Approach:
Goal: Change Vault file states when capture approved
PowerShell Approach:
# Get artifacts from capture
$artifacts = $Capture.Artifacts
# Update each file state in Vault
foreach ($artifact in $artifacts) {
$file = Get-VaultFile -FileId $artifact.FileId
Update-VaultFileState -File $file -NewState "Released"
}Workflow Approach:
Goal: Create rework task when capture rejected
PowerShell Approach:
# Get rejection details
$rejector = $Capture.Reviewer
$comments = $Capture.Comments
$submitter = $Capture.CreatedBy
# Create task in project system (example API call)
Invoke-RestMethod `
-Uri "https://tasks.company.com/api/tasks" `
-Method Post `
-Body @{
title = "Address Rejected Capture"
assignedTo = $submitter
description = "Comments: $comments"
}Workflow Approach:
Goal: Copy approved files to document control folder
PowerShell Approach:
# Get approved artifacts
$artifacts = $Capture.Artifacts
$destinationPath = "\\server\docs\approved\"
foreach ($artifact in $artifacts) {
# Download from Vault
$file = Get-VaultFile -FileId $artifact.FileId
$localPath = Download-VaultFile -File $file
# Copy to document control
Copy-Item $localPath "$destinationPath\$($file.Name)"
}Workflow Approach:
Event handlers have access to capture data:
$Capture.Id - Unique capture identifier$Capture.Name - Capture name/title$Capture.TemplateName - Template used$Capture.CreatedBy - User who created capture$Capture.CreatedDate - When capture was created$Capture.Status - Current status$Capture.Comments - User comments$Capture.Fields["FieldName"] - Access custom field values$projectCode = $Capture.Fields["Project Code"]$Capture.Artifacts - Array of associated artifactsOn Approve/Reject:
$Capture.Reviewer - Who approved/rejected$Capture.ReviewDate - When review occurred$Capture.ReviewComments - Reviewer commentsMinuteView provides PowerShell modules with CMDlets for common operations:
Get-VaultFile - Retrieve file informationUpdate-VaultFileState - Change file lifecycle stateDownload-VaultFile - Download file locallyUpload-VaultFile - Upload file to VaultGet-VaultFileProperties - Get file metadataGet-CaptureDetails - Retrieve capture informationUpdate-CaptureField - Modify capture field valueGet-CaptureArtifacts - Get list of artifactsAdd-CaptureComment - Add comment to captureSend-CaptureNotification - Send email notificationSend-TeamsNotification - Send Microsoft Teams messageInvoke-RestMethod - Call external APIsInvoke-WebRequest - HTTP requestsPowerShell:
try {
# Your automation code
Update-VaultFileState -File $file -NewState "Released"
}
catch {
# Log error
Write-Error "Failed to update file state: $_"
# Optionally notify admin
}Workflows:
Check:
Check:
Debugging:
Write-Output statementsCheck:
Symptoms:
Solutions:
If you have existing PowerShell event handlers and want to migrate to workflows:
| PowerShell Operation | Workflow Node |
|---|---|
| Send-MailMessage | Send Email |
| Update-VaultFileState | Update File State |
| Copy-Item | Export Files |
| Invoke-RestMethod | HTTP Request |
| ForEach loop | For Each Loop |
Some configurations allow chaining handlers:
Execution order matters—configure appropriately.
PowerShell:
if ($Capture.Fields["Priority"] -eq "High") {
# Send urgent notification
}
else {
# Standard notification
}Workflows:
Integrate with:
Your configuration is complete! Continue with: