/mattermost-plugin-mscalendar-2

Mattermost plugin for Microsoft Office365

Primary LanguageGoOtherNOASSERTION

Mattermost Microsoft Calendar Plugin

Build Status Code Coverage Release HW

Maintainer: @mickmister Co-Maintainer: @larkox

Help Wanted tickets can be found here

Table of Contents

  1. License
  2. Overview
  3. Features
  4. Configuration

License

This repository is licensed under the Mattermost Source Available License and requires a valid Enterprise E20 license. See Mattermost Source Available License to learn more.

Overview

This plugin supports a two-way integration between Mattermost and Microsoft Outlook Calendar. For a stable production release, please download the latest version in the Releases tab and follow these instructions for install and configuration.

Features

  • Daily summary of calendar events
  • Automatic user status synchronization into Mattermost
  • Accept or decline calendar event invites from Mattermost

Configuration

Step 1: Create Mattermost App in Azure

Sign into portal.azure.com using an admin Azure account.

Azure Active Directory

Navigate to App Registrations

Click New registration at the top of the page.

Then fill out the form with the following values:

  • Name: Mattermost MS Calendar Plugin
  • Supported account types: Default value (Single tenant)
  • Redirect URI: https://(MM_SITE_URL)/plugins/com.mattermost.mscalendar/oauth2/complete

Replace (MM_SITE_URL) with your Mattermost server's Site URL. Then submit the form by clicking Register.

Navigate to Certificates & secrets in the left pane.

Click New client secret. Then click Add, and copy the new secret on the bottom right corner of the screen. We'll use this value later in the Mattermost admin console.

Navigate to API permissions in the left pane.

Click Add a permission, then click Microsoft Graph in the right pane.

Click Delegated permissions, and scroll down to select the following permissions:

  • Calendars.ReadWrite
  • Calendars.ReadWrite.Shared
  • MailboxSettings.Read

Submit the form by clicking Add permissions at the bottom.

Afterwards, add application permissions by clicking Add a permission -> Microsoft Graph -> Application permissions. Select the following permissions:

  • Calendars.Read
  • MailboxSettings.Read
  • User.ReadAll

Submit the form by clicking Add permissions at the bottom.

Click Grant admin consent for... to grant the permissions for the application. You're all set for configuration inside of Azure.

Step 2: Configure Plugin Settings

Copy the Client ID and Tenant ID from the Azure portal

System Console > PLUGINS > Microsoft Calendar

  • Admin User IDs - List of user IDs to manage the plugin
  • tenantID - copy from Azure App
  • clientID - copy from Azure App
  • Client Secret - copy from Azure App (Generated in Certificates & secrets, earlier in these instructions)