Agenda synchronisatie met Office 365

Johan

UPDATE 10-2018: Op basis van feedback hebben we dit artikel herschreven met meer uitleg over de stappen die zijn te volgen

Met CallPro CalendarSync voor Exchange Server wordt de CallPro agenda gesynchroniseerd met een Exchange agenda. Hiervoor moet in CallPro bij de Agenda wel een account worden ingesteld om toegang te krijgen tot de Exchange agenda. Dit kan direct met de account van de eigenaar van de agenda, maar dat heeft als nadeel dat als deze gebruiker zijn wachtwoord wijzigt de synchronisatie niet meer werkt.

Een betere oplossing is om gebruik te maken van “account impersonation”. In deze post leggen we uit hoe je dat voor Office 365 kunt instellen.

Maak een nieuwe gebruiker aan die gebruikt wordt door het call center

Deze gebruiker geven we de rechten die nodig zijn om afspraken te plaatsen in de agenda’s van de buitendienst medewerkers.

Maak een extra admin role aan

Deze rol krijgt de benodigde “ApplicationImpersonation” rechten en we plaatsen hier de nieuwe account “svcServiceAccount” in.

De svcServiceAccount heeft nu de benodigde rechten. Geef de gebruikersnaam (incl. de volledige tennant suffix die we hier overal weg blurren) en het wachtwoord door aan het callcenter.

Geef ze ook een lijst met gebruikers die gekoppeld moeten worden aan een agenda in CallPro in het call center. Meestal is dit het primaire email adres (en ook meestal de gebruikersnaam voor deze medewerkers).

Extra beperking op ApplicationImpersonation

Hoewel dit voor de meeste klanten voldoende is omdat de svcServiceAccount alleen te gebruiken is vanuit onze software zijn er klanten die de rechten specifieker willen toekennen. Dit vergt enige extra stappen die helaas grotendeels via Powershell moeten worden uitgevoerd.

Stap 1 – Maak een security group

Als eerste stap maken we een security group in de admin portal waar we alle buitendienst medewerkers in zetten die we straks vanuit CallPro willen bedienen. De svcServiceAccount kan dan alleen bij deze mailboxen.

Ga hiervoor in de admin portal naar “Recipients” en dan het tabblad “groups” en kies de optie “Mail-enabled security group”

Maak nu een security group als aangegeven. Bij owner staat de ingelogde gebruiker/administrator die deze taak uitvoert. Vul bij Member alle mailboxen in die straks via CallPro van afspraken moeten worden voorzien. Als voorbeeld staat hier de gebruiker “Ad Viseur”

Stap 2- Verberg de security groep uit adreslijsten

Na het maken kan deze groep nog worden verborgen in adreslijsten van Exchange zodat deze niet voor reguliere gebruikers zichtbaar is.

Helaas kunnen via de admin portal geen beperkende instellingen worden gedaan. Hiervoor is Powershell nodig.

Om de Impersonation rechten die zojuist zijn uitgedeeld aan de “svcServiceAccount” gebruiker te beperken tot specifieke mailboxen via de security groep “SecurityGroup-CallPro Calendar Access” is powershell nodig.

Stap 3 – Powershell

Open een Powershell venster en gebruik onderstaande commando om in te loggen op de tenant.

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session

Log in met een admin account die voldoende rechten heeft om de nieuwe assignments te doen (dezelfde als die gebruikt is om in de Office 365 admin portal in te loggen).

Stap 4 – Controleer of de svcServiceAccount de Impersonation rechten heeft

Als eerste stap is het goed om te controleren of de account die we gaan gebruiken de benodigde rechten heeft. Omdat we zojuist via de admin portal deze rechten hebben toegekend verwachten we dat we hier resultaten zien. Dit wordt gecontroleerd met het volgende commando:

Get-ManagementRoleAssignment -RoleAssignee "svcServiceAccount" -Role ApplicationImpersonation | fl

Als dit geen resultaten teruggeeft zijn de vorige stappen niet correct doorlopen. Je zou uitvoer in de vorm van onderstaande verwachten. Onthoud de Identity naam die hier wordt weergegeven.

Stap 5 – Maak een nieuwe ManagementScope

Maak een nieuwe ManagementScope die is gekoppeld aan de security group die we zojuist via de admin portal hebben gemaakt.

$ADGroup = Get-Group -Identity "SecurityGroup-CallPro Claendar Access"
New-ManagementScope "Scope-CallPro Calendar Access" -RecipientRestrictionFilter "MemberOfGroup -eq '$($ADGroup.DistinguishedName)'"

Stap 6 – Koppel de nieuwe ManagementScope aan onze ManagementRole

Nu zetten we deze ManagementScope op de eerder via de admin portal aangemaakte ManagementRole om deze te begrenzen tot alleen gebruikers die in de security groep zitten.

LET OP! Hoewel we in de admin portal onze role group de naam “CallPro Calendar Access” hebben gegeven heeft de portal onder water als unieke naam iets anders gekozen die we eerder bij Identity zagen staan. Die naam moet gebruikt worden.

Stap 7 – Verificatie

De svcServiceAccount staat nu ingesteld met Impersonation rechten op de gebruikers in de security group “SecurityGroup-Callpro Calendar Access”

Dit is ook te controleren door nogmaals de Get-ManagementRoleAssignment commando uit te voeren:

En om te controleren wat deze Scope beperkt:

Instellingen in CallPro om bovenstaande account te gebruiken

Vervolgens kan in CallPro bij de agenda deze service account gebruikt worden om in te loggen, en kan de Gebruikers-id van de buitendienstmedewerker worden gebruikt om aan te geven welke Exchange agenda moet worden gesynchroniseerd. Bij url wordt de Exchange url van Office 365 ingevuld, deze is “https://outlook.office365.com/ews/exchange.asmx“.

More great articles

Real-time contractwaarde berekening in het belscript

We hebben een "recept" gemaakt waarmee je in minder dan 10 minuten een real-time contractwaarde berekening kunt toevoegen aan het belscript.…

Read Story

Stap nu over van vbscript naar javascript

Met de introductie van IE11 heeft Microsoft de VBscript taal de aanduiding deprecated gegeven (link) Hiermee wordt aangeduid dat de…

Read Story

Belpogingen begrenzing op basis van conversie

CallPro registreert van elk gesprek een belpoging. Deze belpogingen hebben volgnummers, en op deze volgnummers zijn begrenzingen in te stellen.…

Read Story
Arrow-up