Synchronize Outlook Calendar with PerfectWORK

Synchronizing a user’s Outlook Calendar with PerfectWORK is useful for keeping track of their tasks and appointments across all related applications.

See also

Register the application with Microsoft Azure

To sync the Outlook Calendar with PerfectWORK’s Calendar, a Microsoft Azure account is needed. Creating an account is free for users who have never tried or paid for Azure. For more information, click here.

Refer to Microsoft’s documentation on how to set up an Azure AD Tenant (also called an environment), which is a representation of an organization to manage and register apps.

Then, Register an Application, choosing the appropriate Supported account type. Users who wish to connect their Outlook calendar to PerfectWORK should select the Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) option for Supported account types.

When configuring the Redirect URI, choose Web and copy the PerfectWORK database URI (URL) followed by /microsoft_account/authentication.

Example

Enter https://www.companyname.perfectwork.app/microsoft_account/authentication for the Redirect URI.

The "Supported account type" and "Redirect URI" settings in the Microsoft Azure AD portal.

For more information on the restrictions and limitations of URIs, check this page.

Regarding the application credentials, the user must add a client secret, which allows Perfectwork to authenticate itself, requiring no interaction from the user’s side. Certificates are optional.

To do add a client secret, click Add a certificate or secret and then click New client secret. Next, type a Description and select when the client secret Expires.

Since resetting the synchronization can be tricky, Perfectwork recommends setting the maximum allowed expiration date for the client secret (24 months), so there is no need to re-synchronize soon. Finally, click Add to generate the client secret (Secret ID).

Configuration in Perfectwork

In the Perfectwork database, go to Settings ‣ General Settings ‣ Integrations and activate the Outlook Calendar setting.

The "Outlook Calendar" setting activated in Perfectwork.

From the Microsoft Azure portal, under the Overview section of the application, copy the Application (Client) ID, and paste it into the Client ID field in Perfectwork.

The "Client ID" in the Microsoft Azure portal.

In the Microsoft Azure portal, under the Certificates & secrets section, copy the Client Secret Value and paste it into the Client Secret field in Perfectwork.

The "Client Secret" token to be copied from Microsoft to Perfectwork.

Finally, on the Perfectwork Settings ‣ General Settings page, click Save.

Sync with Outlook

Warning

Perfectwork highly recommends testing the Outlook calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Outlook Calendar with the user’s production database.

If the user has any past, present, or future events on their Perfectwork calendar before syncing their Outlook calendar, Outlook will treat the events pulled from PerfectWORK’s calendar during the sync as new events, causing an email notification to be sent from Outlook to all the event attendees.

To avoid unwanted emails being sent to all past, present, and future event attendees, the user must add the events from the Perfectwork calendar to the Outlook calendar before the first ever sync, delete the events from Perfectwork, and then start the sync.

Even after synchronizing the Perfectwork Calendar with the Outlook calendar, Outlook will still send a notification to all event participants every time an event is edited (created, deleted, unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be fixed from PerfectWORK’s side.

After one user syncs their Outlook calendar to the Perfectwork database, unwanted email notifications are unavoidable because the first synchronized user’s events will be in the Perfectwork Calendar. If the Perfectwork database is shared amongst multiple users, and another user wants to sync their Outlook calendar with Perfectwork Calendar, Outlook will again pull the existing Perfectwork Calendar events during the sync and treat them as new events, causing Outlook to send email invitations to all event attendees.

In summary, once a user synchronizes their Outlook calendar with the Perfectwork calendar:

  • Creating an event in Perfectwork causes Outlook to send an invitation to all event attendees.

  • Deleting an event in Perfectwork causes Outlook to send a cancellation to all event attendees.

  • Unarchiving an event in Perfectwork causes Outlook to send an invitation to all event attendees.

  • Archiving an event in Perfectwork causes Outlook to send a cancellation to all event attendees.

  • Adding a contact to an event causes Outlook to send an invitation to all event attendees.

  • Removing a contact from an event causes Outlook to send a cancellation to all event attendees.

Sync Perfectwork Calendar and Outlook

In the Perfectwork database, go to the Calendar module and click the Outlook sync button. The page will redirect to a Microsoft login page, and the user is asked to log in to their account, if they are not already, and grant the required permissions.

The "Outlook" sync button in Perfectwork Calendar.

The synchronization is a two-way process, meaning that events are reconciled in both accounts (Outlook and Perfectwork).

Note

All users that want to use the synchronization simply need to sync their calendar with Outlook. The configuration of Microsoft’s Azure account is only done once, as Azure AD tenants’ Client IDs and Client Secrets are unique, and represent an organization that helps the user to manage a specific instance of Microsoft cloud services for their internal and external users.