Before starting
The feature must initially be activated on your platform by the Lucca Help desk. Please contact us to request this. This feature is free of charge if you set the parameters yourself, otherwise a service will be offered.
You will then need the following Timmi Absences permissions to be able to configure leave synchronizations:
- Configuration
- Manage leave synchronizations
- Consult leave synchronizations
Timmi Absences lets you synchronize absences in real time with employee Outlook calendars (with Office 365 or Exchange). When an absence is created/approved/deleted in Timmi Absences, it is automatically created/updated/deleted in the employee's calendar.
Note: Exchange Server versions 2010 or 2013 are no longer supported by the publisher, which may result in an impaired experience and security risks. We recommend upgrading to Microsoft Exchange 2019 or Office 365 before using synchronization.
Please note: Timmi Absences also allows synchronization with Google Calendar.
In this file you will find:
- configuration assistance for Office 365
- configuration assistance for Exchange on-premise
- the main problems encountered and their solutions
Configuration for Office 365 (and Exchange Online with Microsoft account)
- Access the absence synchronization module in the Timmi Absences application > Settings > Absence synchronization.
- Click on "Create a synchronization"
- Choose the establishments where you want to create this absence synchronization
- Select synchronization type: Exchange
- Click on "Create a configuration" to confirm
- On your new configuration panel, click on "Configure".
- On the configuration page, click on "Grant access rights"
- Then, in the window that opens, connect to Office 365 with an administrator account (from the Office 365 application) to give Timmi Absences the necessary permissions to access your calendar.
Technically, today, only the permission Calendars.ReadWrite is essential, but we use (historically) a Microsoft (EWS) library which automatically positions the other permissions, which is what is found here.
Details of the permissions can be found here: Reference of the Microsoft Graph authorizations - Microsoft Graph
- Read and write access to all calendars in all mailboxes = Permission Calendars.ReadWrite
This is the basic permission required to create calendar events
- Read all user mailbox settings = Permission MailboxSettings.Read
Get user mailbox settings - Microsoft Graph v1.0
This is the permission required to retrieve timezone and language information (date format, locale (language and country/region), time format, time zone) to allow us to create events correctly
- Read full profiles of all users = Permission User.Read
- Activate the connection and read the user profile = Permission User.Read.All
Today, we no longer use the last 3 permissions but, as specified above, this comes from the library used originally.
- Once consent is given, the synchronization is updated and ready to go.
Configuration for Exchange on-premise (hosted on your servers)
In the case of an on-premises Outlook synchronization, Timmi Absences relies on a service account, which has the read and write permissions to the calendars of employees.
Here is how to create the service account in Exchange Server 2010 or 2013:
- Start by creating a user (called "SynchroFiggoUser" in this example)
- Create a customized permission scope that we will call SynchroFiggoScope:
New-ManagementScope –Name:SynchroFiggoScope –RecipientRestrictionFilter:{RecipientType -eq "UserMailbox"}
- Assign the standard impersonation role to the user created for Timmi Absences:
New-ManagementRoleAssignment –Name:SynchroFiggoAssignment –
Role:ApplicationImpersonation –User:SynchroFiggoUser –CustomRecipientWriteScope:SynchroFiggoScope
-
Force update to make associations effective:
gpupdate /force
Then in Timmi Absences:
- Go to Settings > Absence synchronization
- Click on "Create a synchronization"
- Choose the establishments where you want to create this absence synchronization
- Select synchronization type: Exchange
- Click on "Create a configuration" to confirm
- On your new configuration panel, click on "Configure".
- Then go to Connection settings on the configuration page
- Select "Exchange"
- Next, enter the server URL and the service account ID and password (please note that your username and password must be case-sensitive and exactly the same as those entered in the service account) in the settings for the Exchange synchronization ():
The URL of the Exchange server must be in the following form: https://mail.societe.com/ews/exchange.asmx.
You must also make sure that the IP address of the Lucca webservice has authorization to access the server in question.
Note: synchronization with an Exchange server uses HTTPS and requires a certificate issued by a certification organization. Self-signed certificates are not sufficient.
Enter the different settings for your absence synchronization. Click on "Apply change" to validate.
Once this is done, you can go back to the synchronizations list. Then click your synchronization insert to go to monitoring
Important: let the synchronization run for a while before trying to find the sent events and checking if they are actually visible on your calendar.
Details of synchronized information
Event labels
You can choose to show the type of absence or not (PL, Comp day, Illness etc.) in the event label. By default, labels are hidden (the event displays "Absent").
- If, in the Timmi Absences account, the "Counted as an absence" setting is checked (=yes) the event will appear as Busy in Outlook.
-
If, in the Timmi Absences account, the "Counted as an absence" setting is not checked (=no) the event will appear as Working Elsewherein Microsoft.
- Unless the account is of the type "Remote working" (property disabled with the use of Timmi Office), in which case the status displayed in Microsoft will be "Free" or "Available."
In addition, the synchronization settings can be used to send event labels, which correspond to the name of the account in Timmi Absences:
- If the setting "Hide labels" = yes in the synchronization settings: Timmi Absences sends the "Absent" label to Outlook, except for Timmi Absences accounts where the setting "public reason" is checked (=yes), where the name of the account as it appears in Timmi Absences is sent.
- If the "Hide labels" setting= no in the synchronization settings: Timmi Absences always sends the account label to Outlook as it appears in Timmi Absences.
Whole days
For one-day events, you can choose to send them as a "whole day" or a time entry. If you choose the time entry, Timmi Absences will create an event at the set times.
This corresponds to the "Send whole days as time entries" setting available in your synchronization configuration.
Note: for half days, absences will always be sent as time entries, even if this setting is unchecked in the configuration.
Status
When a request pending approval is entered, a temporary event is created in the calendar. When the request is approved, the event is confirmed.
Batch synchronization of absences
It is possible to force the synchronization of absences already present in Timmi Absences using the Batch synchronization of absences feature available at the bottom of the settings page of your synchronization.
This feature is particularly useful when testing synchronization.
The date field allows you to specify the date from which Timmi Absences should synchronize absences. This allows you to retrieve absences from the last month, for example.
You must choose the establishments for which to synchronize absences. This makes it possible to force synchronization only for certain establishments.
Note: the balance of the "Initialize x events" button is always incremented according to the date entered in the field.
The number of events does not indicate the number of events pending synchronization, but rather the number of events existing after this date.
Frequent problems
When setting up a calendar synchronization, you may encounter the following errors.
-
All events are erroneous: this is usually a server URL (Exchange on-premises) or service account access permissions issue.
In this case, we advise:- Resolving the configuration error on the Azure side
- Validating the configuration by performing an event retry
- If the event has been sent (now appears as "Success"): perform another batch synchronization of absences from the "Configure" space
-
The events are erroneous for some users: check the email address of the employees in Lucca. It may not be the same as in Office365/Exchange.
The error code in the logs (by clicking on Detail on the erroneous event) is generally the following one.
-
Absence cancellations are erroneous, with this type of error code:
Two possible causes.- Either the absence was created by an ICS from Timmi Absences notifications, and not by the synchronization module. This is normal when setting up the sync, after 2-3 months the problem should not happen any more.
- Or the absence has already been deleted from the calendar by the employee.
Feature "Mark events as processed"
If events are marked as processed, then we will no longer try to re-synchronize these events in the future, either automatically or manually via the "Batch synchronization of absences" feature