/mattermost-plugin-mscalendar

Mattermost plugin for Microsoft Office365

Primary LanguageGoApache License 2.0Apache-2.0

Mattermost Microsoft Calendar Plugin

Build Status Code Coverage

Maintainer: @mickmister Co-Maintainer: @larkox

Help Wanted tickets can be found here

Table of Contents

  1. Overview
  2. Features
  3. Configuration

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.

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. 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)