Skill - Microsoft Events

Skill Type

INTENT MATCHER

Overview

This Skill gives the Digital Person the ability to conversationally schedule a Microsoft Outlook meeting. The Skill is triggered by saying Create/Setup/Schedule (an event)/(a meeting). This skill uses the Microsoft Office 365 Graph API to find people in an organization and get their calendar information.

In order to create an event, the user must provide a date, time, and title. In response to the user's keywords representing dates and times, a markdown graphic is displayed, showing the event on their calendar. After creating the event, the user may invite other Microsoft users or groups to attend the event. By default, a 30 mins meeting is set up which can then be edited from Microsoft outlook if needed.

This skill is:

  • Built and owned by Soul Machines Ltd.

  • Only supported in English.

  • Powered by the Microsoft Graph API

Supported Phrases

To set up a meeting users can schedule a date by providing the day, month, and/or year. Users can also specify phrases such as "today", "tomorrow", "noon", “next monday”, or certain US holidays to schedule events.

  • New Years' Day

  • Valentines Day

  • Martin Luther King Jr. Day

  • Presidents' Day

  • Saint Patrick’s Day

  • Easter

  • Memorial Day

  • Juneteenth

  • Independence Day

  • Labor Day

  • Columbus Day

  • Veterans' Day

  • Halloween

  • Thanksgiving

  • Christmas Eve

  • Christmas Day

  • New Years Eve

Event Scheduling with the calendar

Limitations

  • The current version of the skill cannot edit or delete events. If you would like to edit or delete an event, you must log on to Microsoft Outlook and make changes there.

  • The current version also does not support adding multiple users in the same sentence. If you would like to add multiple users quickly, make sure they are all a part of a Microsoft Outlook Group and you can add the group to an event.

Requirements

  • Must support content cards

Skill Demo

Microsoft Event Scheduling Skill Demo

Configurations

Provide the following information in the Microsoft Event Scheduling Skill configuration screen in Digital DNA Studio. See Adding Skills to your Digital Person for detailed instructions:

Field

Type

Description

APPLICATION ID FOR AUTHENTICATION

required

TEXT

This is a required field used for authentication. It is a unique identifier assigned to you by the Microsoft identity platform. Instructions for how to obtain it is provided in the next section.

CLIENT SECRET FOR AUTHENTICATION

required

TEXT

This is a required field used for authentication. It is a password that your app uses to authenticate with the Microsoft identity platform. Instructions for how to obtain it is provided in the next section.

DIRECTORY/ORGANIZATION ID FOR AUTHENTICATION

required

TEXT

It is a unique identifier assigned to your organization by the Microsoft identity platform. Instructions for how to obtain it is provided in the next section.

THE EMAIL OF THE USER WHO WILL HOST THE MEETINGS

required

TEXT

This field allows you to set the email of the event organizer. This person will be the host of the meeting. In addition, this person’s timezone setting in Outlook will be the timezone of the event that is added.

SPOKEN PHRASE WHEN IT CAN'T HANDLE THE REQUEST

TEXT

This is an optional field to set the response from the Digital Person cannot handle the request. The default is Sorry, I did not understand that.

Obtaining Application ID and Client Secret from Graph API

  1. In order to access Microsoft’s Graph API, create an app on the https://portal.azure.com/#home Portal. Have a working Microsoft account ready. Follow the steps on this page: https://docs.microsoft.com/en-us/graph/auth-register-app-v2.

  2. There are three required fields needed to authenticate an access token for use with Microsoft’s Graph API. Once you have successfully registered your app, you will be given an Application ID, Client Secret, and Directory/Tenant/Organization ID. You may wish to save these somewhere because you will be unable to see the client secret again after generation. If you lose your client secret, you can generate a new one.

Add permissions to the app

The last thing needed is to make sure the correct permissions are approved for this app. The permissions needed for this skill are given below.

For more information, you can navigate to this page: https://docs.microsoft.com/en-us/graph/auth/auth-concepts