For a .pdf version of this help article to download, please see:


The People HR Holiday Sync Service (HSS) is a tool designed to sync People HR holidays to Exchange server.

Currently, it is a one-way sync and supports Exchange 2010, 2013, 2016. It creates and updates existing holidays from People HR into your Exchange Server, and deletes all those holidays, which exist in Exchange server but have been deleted from People HR.

--Setting up--

On the Exchange server side, you need to use an Admin mailbox user, to manage all of your user mailbox calendars. This way, we put in credentials of one user into the tool, to manage all of the users calendar folders.

For this, you need to grant permission on target mailbox user to this Admin mailbox like this:

Add-MailboxFolderPermission -Identity\calendar -user -AccessRights Author

where is the Admin mailbox and is yourmailbox with Calendar.

To grant calendar permissions for multiple users, like mailbox users from an OU, use following commands:

$mailboxes =get-mailbox -OrganizationalUnit ‘OU_Name_Here’;

Foreach ($mailbox in $mailboxes) { $calendar =(($mailbox.PrimarySmtpAddress.ToString())+ ":\Calendar") ;$calendar; AddMailboxFolderPermission$calendar -User -AccessRightsAuthor}

**Note: Be careful and run each of the two commands as one line in ExchangeManagement Shell.**

--Building the queries for this tool--

-Holiday Query-

  1. The query requires the following selected areas: 

2. Once selected, click 'Next' to go into the 'Filters' page. Please refer to the below screenshot on the filter required. 

3. Click 'Next'. This query needs to be called: Holiday : Outlook Feed (DO NOT REMOVE)

-Other Event Query-

The query requires the following selected areas: 

2. Once selected, click 'Next' to go into the 'Filters' page. Please refer to the below screenshot on the filter required. 

3. Click 'Next'. This query needs to be called: Other Events : Outlook Feed (DO NOT REMOVE)


1. You'll first need to create an API key - this will need to include the Employee endpoint, the access to both the Holiday and other event query you have just built. Click here to learn how to build an API key. 

2. Holiday Sync Service (HSS) consists of a Config App, and a Windows Service. Download the tool from the below location -

3. Unzip the file, and run the setup.exe.

4. The config App is called ‘Holiday Sync Service Config App’, and manages all the settings for HSS. It reads and writes all the settings to HolidaySyncService.config file, placed in the installation location, which by default is:

C:\Program Files\PeopleHR\Holiday Sync Service

5. Click Next, 3 times, to setup at default location. Otherwise, you can modify this toinstall this to a different location.

6. Now open ‘Holiday Sync Service Config’ app from ‘Start -> People HR location’,and fill in the Exchange Server and the People HR connection details.

Here is the explanation of each of the parameter:

Exchange Server and People HR config:

Server: Exchange Server IP or Host name.
Admin: Admin mailbox email address or login ID.
Password: Admin mailbox password.
Service URL: Read only field, showing Exchange Web Services API endpoint from Exchange Server.
TimeZone: Time Zone of your outlook client, or exchange server.
Service Interval: A value in minutes, after which service schedule repeats itself to sync the holidays.
People API Key: Paste your API key in here to retrieve holiday records from People HR system.

Exchange Holiday Deletion Time Window:

To delete non-existing people HR holidays from Exchange Server, the sync service retrieves holidays from your Exchange Server using a time window (start and end times)

It then deletes those holidays which exist in Exchange server, but not in People HRsystem:

No. Of Days in Past: This is used to create Start date to retrieve the holidays from exchange server.

No. Of Days Ahead: This is used to create End date to retrieve the holidays from exchange server.After this, you need to start the service. Open Windows Services Manager console. 

Locate ‘People HR Holiday Manager Service’ and start it.

After this, you can monitor the service progress by looking at the log files created by the service.

Log files are created inside ‘Logs’ folder at installation path.


If the holidays from People are not being synced to your exchange server check the log file in the logs folder in your installation path.

If you see the following error “Error occurred while checking existence of holiday: Exception occurred: The request failed. The remote server returned an error: (401) Unauthorised. IE: The remote server returned an error: (401) Unauthorised.” 

Then please follow these 3 steps:

  1. Verify that admin user and password is correct.
  2. If service doesn't work with correct credentials, then use ADomain\samAccountName of people HR user as Admin
  3. Please browse EWS service URL in browser, mentioned on config UI, ending inexchange.asmx, and when it asks for user name and password, then enter credentials for people HR user. See if you can view EWS Service XML schema. (If not, then either credentials are invalid or you don’t have EWS API access).

Please note: You must ensure that any tool/software that you use is kept up to date with the most recent version. This is to ensure you are up to date with any bug fixes and will avoid errors. 


Customer Services Team.

Did this answer your question?