This guide describes how to activate the In-Body Update feature in your Synergy SKY platform.
The "In-Body Update" feature allows for updating the organizer's meeting invitation in their calendar and sending an updated meeting invitation to all invitees, rather than sending a separate email with dial-in information to everyone. This feature requires more permissions in the Microsoft Exchange environment than sending dial-in information emails.
The workflow of this feature involves Synergy SKY logging into the calendar of the meeting Organizer and updating the appointment with the dial-in information for the meeting based upon the email template specified in Configure Email Templates guide. The invitation will be re-sent to the invitees with the updated appointment body once successfully updated. An email with the dial-in information will be sent to the meeting organizer if the body could not be updated. The administrator will also be notified when a meeting could not be updated.
Note: Synergy SKY will not monitor each user's calendar for changes to meetings, but rather base this on changes to invitations sent to room/ resource accounts.
Exchange Permissions |
|
The following permissions are required for the Calendar Update method to work. It is recommended that these permissions are added to the PowerShell script used when creating new users so that all new users are set up with the right permissions.
The Exchange service account needs "send as" permissions for each user to send an updated invitation to all recipients in the appointment
Option 1
Option 2
Alternatively, you can log on to the Exchange Management Shell and use the below command to provide the service account with send as permission on the users mailbox
Add-RecipientPermission -Identity jane.smith@company.com -Trustee meetingroommanager@company.com -AccessRights sendas -Confirm:$false
Note: some Microsoft Exchange environments require the command to be in the following format:
Add-ADPermission -Identity jane.smith@company.com -User meetingroommanager@company.com -AccessRights ExtendedRight -ExtendedRights "Send As"
The Exchange service account needs "Editor" access to the calendar of each user to update the calendar appointment with the dial-in information. This is normally accomplished by running the following command. However the calendar folder name may be something else than "calendar" if the user is not set up with an English mailbox (e.g. Calendrier in French)
Configuration Steps
Log on to the Exchange Management Shell and use the below command to provide the service account with Editor permission to the users calendar
Add-MailboxFolderPermission -Identity jane.smith@company.com:\Calendar -User meetingroommanager@company.com -AccessRights Editor
Note that the script will find the localized name of the calendars in the exchange environment to apply the permissions to the right folder.
The following script can be used to update all existing users in the organization with the right permissions.
The sections that you have to amend are highlighted in red
$resourceAccount = 'meetingroommanager@company.com'
foreach($mbx in Get-Mailbox -RecipientTypeDetails usermailbox -ResultSize Unlimited | Select-Object -ExpandProperty Alias){
$userAccount=$Mbx
$Mbx += ':\' + [string](Get-mailboxfolderstatistics -Identity $Mbx -folderscope calendar | where-object {$_.FolderType -eq "Calendar"}).Name
$test = Get-MailboxFolderPermission -Identity $mbx -erroraction silentlycontinue
if($test -ne $null)
{
Write-Host "Setting Editor access on $mbx"
Add-MailboxFolderPermission -Identity $mbx -User $resourceAccount -AccessRights Editor
Write-Host "Setting sendas permissions for $userAccount"
Add-RecipientPermission -Identity $userAccount -Trustee $resourceAccount -AccessRights sendas -Confirm:$false
}
}
The following script can be used to update just one user while letting the script figuring out the correct name of the calendar folder:
The sections that you have to ammend are highlighted in red
$userAccount = 'jane.smith@company.com'
$resourceAccount = 'meetingroommanager@company.com'
foreach($mbx in Get-Mailbox -RecipientTypeDetails usermailbox -Identity $userAccount -ResultSize Unlimited | Select-Object -ExpandProperty Alias){
$Mbx += ':\' + [string](Get-mailboxfolderstatistics -Identity $Mbx -folderscope calendar | where-object {$_.FolderType -eq "Calendar"}).Name
$test = Get-MailboxFolderPermission -Identity $mbx -erroraction silentlycontinue
if($test -ne $null)
{
Write-Host "Setting permissions for $mbx"
Add-MailboxFolderPermission -Identity $mbx -User $resourceAccount -AccessRights Editor
Write-Host "Setting sendas permissions for $userAccount"
Add-RecipientPermission -Identity $userAccount -Trustee $resourceAccount -AccessRights sendas -Confirm:$false
}
}
The scripts above do not allow for updating the invitation body of meetings that are booked as Private in Outlook. The line in the script with "Add-MailboxFolderPermission" must be replaced with the line below which includes SharingPermissionFlags for allowing the update of private meetings:
Add-MailboxFolderPermission -Identity $mbx -User $resourceAccount -AccessRights Editor -SharingPermissionFlags delegate,canviewprivateitems -SendNotificationToUser $true