Background information
The Figgo absence synchronisation web service syncs a user’s Figgo absences with their calendar (Outlook, Google Calendar) in real time. When an absence is created/approved/deleted in Figgo, the employee’s calendar will create/update/delete it.
This article covers the following points:
How does Figgo connect to the calendar?
When syncing with Outlook (Exchange, Office 365), Figgo relies on a service account with rights over the employees’ schedules. When syncing with Google Calendar, Figgo relies on Lucca API access authorisation set up in the Google App account.
What information is synchronised?
Event description
You can choose to have the absence type (annual leave, RTT, Sick, etc.) appear in the event description or not. By default, the descriptions are hidden (the event shows as ‘Absent’).
Full days
For one-day events, you can choose to send them as a ‘full day’ or time slot (for Outlook syncing only). If you choose time slot, Figgo will create an event for the configured hours.
Status
When a request is entered and is pending approval, a temporary event is created in the calendar. When the request is approved, the event is confirmed.
Initialising
Absences already in Figgo can be synced using the initialisation function at the bottom of the configuration page.
Simply enter a date: all absences after this date will be synced. This allows you to retrieve absences from the last month, for example.
You must choose the legal entities whose absences you want synced. This allows you to launch initialisation for only certain entities.
Setting up syncing with Exchange/Office 365
You must create an impersonation account on your Exchange server.
Depending on the version of the Exchange server, choose one of the following two sections:
When the account is created, you can send Lucca the login name (AccountLogin) and password (AccountPass) for the account in question or enter them directly in the configuration interface.
You must also provide the Exchange server’s URL (ServerURL), in the https://mail.societe.com/ews/exchange.asmx format. Also make sure that the Lucca web service IP is authorised to access the server in question.
Syncing for Office 365
These are the steps for creating an impersonation account in Office 365:
- Run Windows PowerShell on your PC and enter the 3 lines below to log in to Windows PowerShell on your Exchange Online server:
$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic-AllowRedirection
Import-PSSession $Session
Then follow the next steps in order:
- First create a user (service account) e.g.: SyncServiceAccount
- Create a new ‘ImpersonatableUsers’ scope:
New-ManagementScope –Name:UtilisateursUsurpables –RecipientRestrictionFilter:{RecipientType -eq "UserMailbox"}
- Assign this role to SyncServiceAccount:
New-ManagementRoleAssignment –Name:ImpersonationSyncServiceAccount –Role:ApplicationImpersonation –User:SyncServiceAccount –CustomRecipientWriteScope:ImpersonatableUsers
- Refresh for associations to take effect:
gpupdate /force.
Enter this login information into the sync configuration.
Depending on the settings, Office 365 can force users to change their passwords every 3 months.
This poses a problem for sync set-up: every 3 months,
the SyncServiceAccount service will no longer be recognised and will not sync.
To not have to change your password, you can execute the following PowerShell command:
Set-MsolUser -UserPrincipalName SyncServiceAccount -PasswordNeverExpires $true
Syncing for Exchange 2015 or 2013
To enable Figgo synchronisation to your users’ Calendars, you must create the authentication information (login name, password) for an account that has write access to your users’ calendar, called an impersonation account.
These are the steps for creating an impersonation account under Exchange Server 2010 or 2013:
- First create a user. We will call it SynchroFiggoUser.
- Create a custom permission scope; we will call it SynchroFiggoScope:
New-ManagementScope –Name:SynchroFiggoScope –RecipientRestrictionFilter:{RecipientType -eq "UserMailbox"}
- Assign the standard impersonation role to the user created for Figgo
New-ManagementRoleAssignment –Name:SynchroFiggoAssignment –
Role:ApplicationImpersonation –User:SynchroFiggoUser –CustomRecipientWriteScope:SynchroFiggoScope
- Refresh for associations to take effect:
gpupdate /force
This information and the server URL must be entered in the Exchange sync configuration.
How do you set up syncing with Google Calendar?
In Google App, you must authorise Lucca to manipulate the Calendar of the Google accounts it manages, as follows:
- Go to https://admin.google.com/AdminHome. Then ‘Security’ > ‘Advanced Settings’ > ‘Manage API Client Access’.
Important: if you do not have access to this screen, then it is not a Google App account and you cannot configure syncing. - You should see the following screen:
- Enter:
- in Client Name: 81140126067-vnqh1mls69br8sc44seadjlg5qkbmej8.apps.googleusercontent.com
- and in “authorised to access... ”: https://www.googleapis.com/auth/calendar