Skip to main content

Managing Calendar Invites in Enboarder

Jasmin Nahar avatar
Written by Jasmin Nahar
Updated over a week ago

Overview

This article provides guidance on managing calendar invites within Enboarder, ensuring seamless scheduling and synchronization with Google Calendar and Outlook. πŸ—“οΈ

This integration works best for events that are set milestones (for example a new hire's first day, a month 1 check-in or a probation review meeting). If you would like to have a more bespoke calendar setup (for example variable sessions depending on an induction session that a new joiner has opted in for), then please click HERE for more information. ✨


Check out this video to learn all about the Event Module and how you can integrate MS Outlook/Google Calendar for seamless scheduling!

Features & Functionality

1. Separate Calendar Tiles for Outlook and Google Calendar

You can select the appropriate calendar integration (Google or Outlook) with two distinct tiles. πŸŽ‰

Functionality:

  • Categorized under "Calendar" πŸ”

  • No additional design needed within your workflow

Note: Calendar tiles are now native in the Enboarder App Center.

As an example, to connect Enboarder with Outlook, simply select the Tile and then click on "Add Integration".

Next, complete the required information. These are:

  • Application (client) ID

  • Directory(tenant) ID

  • Secret

  • Organizer Email (Fallback):
    (Admin's Email)

Please refer to the steps below to create the app in Outlook or Google. This will then generate the details that you need to enter into the Tile shown above.

Steps to set up Outlook app in Azure

Step 1: Register the Outlook App and configure the credentials

Login in the Azure AD portal and register the app with the below permission for Graph API.

  • The organization must have an admin account in Microsoft Azure and all users are set up in the Microsoft Azure directory.

  • Set up an application for one or more tenants at https://portal.azure.com and register it to set up OAuth flow.

  • Login in the Azure portal. Go to Azure Active Directory β†’ App registration β†’ New Registration

Set up the following properties of this app

  1. Name - Enter a meaningful application name that will be displayed to users of the app. Ex- Enboarder-Integration

  2. Supported account types - Select which accounts you would like your application to support based on requirements.

    • Accounts in this organizational directory only

    • Accounts in any organizational directory

    • Accounts in any organizational directory and personal Microsoft accounts

  3. Redirect URI (optional) - Select the type of app - Web or Public client (mobile & desktop), and then enter the redirect URI (or reply URL) for the application.

  • The following permission should be enabled for Microsoft Graph API and the admin user should provide consent for the same.

    • Application and Delegate Permission

      • Calendars.ReadWrite

  • After the application is registered, generate the client's secret

  • Note down the below values and keep them handy. These values are required during integration setup in Enboarder.

    • tenantID

    • Client_id

    • Client_credential

Steps to set up the Google app

Register the Google App and configure the credentials

Create a Google Cloud project and generate OAuth2 application data. Please refer to Google documentation for complete detail.

Note: The calendar event will be initiated using the email id of the User who added the tile and authorized Enboarder to create the App (ie: this User will appear in the From field). A system account can be used for this purpose.

  1. Login into the Google console https://console.cloud.google.com/

  2. At the top-left, click Menu menu > IAM & Admin > Create a Project.

  3. In the Project Name field, enter a descriptive name for your project.
    Optional: To edit the Project ID, click Edit. The project ID can't be changed after the project is created, so choose an ID that meets your needs for the lifetime of the project.

  4. In the Location field, click Browse to display potential locations for your project. Then, click Select.

  5. Click Create. The console navigates to the Dashboard page and your project is created within a few minutes.

  1. At the top-left, click Menu menu > APIs & Services > Library.

  2. In the search field, enter the name of the API you want to enable and press Enter.

  3. In the list of search results, click the API you want to enable.

    1. Please select the below google calendar APIs and provide permission to create/update the event.

  1. Click Enable.

  2. To enable more APIs, repeat steps 2–5.

Configure the consent screen to ensure users can understand and approve what access your app has to their data.

  1. At the top-left, click Menu menu > APIs & Services > OAuth consent screen.

  2. Select the user type for your app, then click Create.

  3. Complete the app registration form, then click Save and Continue.

Create access credentials to authenticate your app's end users or service accounts.

  1. At the top-left, click Menu menu > APIs & Services > Credentials.

  2. Click Create Credentials > OAuth client ID.

  3. Click Application type > Web application.

  4. In the "Name" field, type a name for the credential. This name is only shown in the Google Cloud console.

  5. In the authorized redirect URL section, please add https://auth.enboarder.com/oauth

  6. Click Create. The OAuth client-created screen appears, showing your new Client ID and Client secret.

  7. Note the Client ID and Client secrets.

  8. Click OK. The newly created credential appears under "OAuth 2.0 Client IDs."

It is important to note that your IT team will be required to set this up. Our scope of support is limited to our own product so please ensure that you have your IT expert ready! 😎


2. Choosing Calendar Medium

Once the integration is set up, you can go into the Event Module to select the appropriate calendar Medium for each event. πŸ—“οΈ

In the Event Module, click the drop-down menu "Calendar Integration" and select your preferred option, Google Calendar or Outlook Calendar.

The option "Send invite directly to participant's calendar" will be automatically enabled and if an Events Module is triggered, the invitation will be automatically sent to the participant's calendar. βœ‰οΈ

This will allow the end user to easily access the event by clicking on "View Calendar". πŸ‘€

Note: If you would rather not send the invite automatically, you can deactivate this option by unchecking the box.

This means when the Events Module is triggered and the End User receives the Invite, they will need to click "Add to my Calender". If they are logged into their Google or Outlook calendar they will be navigated there.


3. Setting the Date/Time of Event

You have the ability to schedule the date and time of the event by choosing the appropriate date fields. πŸ“†πŸ•œ

Note: You can now select a up to 50 days instead of the previous limit of 30.

Step 1:

Step 2:

Step 3:

Conclude by including the event of the time including whether you want this Event to repeat. πŸ•œ


4. Setting the Event/Invite Title

Click on the "Title" field to customize event Titles for clarity so recipients know exactly what the invite is scheduled for.

Functionality:

  • Supports dynamic variables. Just click the 'Dynamic Token' Icon on the right-hand side of the field.

  • Google: Summary field

  • Outlook: Subject field


5. Adding a Description to the Invite

You can click on the "Description" field to add relevant event details.

Functionality:

  • Supports dynamic fields (e.g., first name, buddy name).

  • Add Links to your event, if there is an external resource needed


6. Adding Attendees/Participants

You can specify invite recipients.

Functionality:

  • Select/add attendees using tokens (e.g. manager, new hire) as they get decided when creating the invite.


7. Changing the Organizer/Location of the Event

You are now able to define the event organizer.

Functionality:

  • Default to what was setup via the integration

  • Token-based organizer selection

  • Add Location (If no location is provided, it will automatically use the workflow criteria).

  • Organizer is only available for Outlook


8. Saving & Publishing the Invite

You can save invites to ensure execution. βœ”

Functionality:

  • Confirms event scheduling

  • Ensures all details are correct

  • You can add widgets at this point for e.g. an Image, Text.


End User Experience

Recipients should seamlessly receive calendar invites. βœ‰οΈ

Functionality:

  • If "Send invite directly to calendar" is enabled, the invite auto-syncs

  • Otherwise, users can manually add it

  • Timezone handling is based on location, workflow criteria, or account settings


Error Reporting & Handling

Calendar Invite Execution Issues

Workflow Report - Response:

  • Admins can view error notifications if an invite fails. The status of the event module will be displayed with an "Error" Icon.

  • A message will be displayed that, "The event was partially successful. Some participants could not be added to the event."

  • A list will be displayed of the status of each participant.

Workflow Report - Activity Log:

The Activity Log will provide a timeline of actions related to the event:

  • "Event invitations sent out" with a timestamp.

  • Details of failures e.g. "Manager not added to event [profile not assigned]" with timestamp.


Error Reporting & Handling

Calendar Integration Failure

If the end user tries to view the invite in their calendar and system returns with an error. Users can manually download and add invites if calendar sync fails or email the invite.

Note: You can notify the Enboarder Support team for further investigation.


Known Limitations:

  • The Organiser is only available for Outlook.

  • If user email domain is different from the user who set up the tile then he/she can’t be the owner of event.

  • Reading the availability of the calendar

  • Adding random generated video conferencing links

Got questions? 🧐 Start a chat with the team in the top right of any Enboarder page!

Did this answer your question?