Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Improve the utility of Mattermost in a collaborative environment by letting other MM users know someone is in a meeting or currently unavailable

  2. Demonstrate that Mattermost “works with Microsoft” by embracing Microsoft business users too

Out of Scope

  • A visual view of a user’s calendar in Mattermost

  • Connecting with Microsoft On-Prem/Hosted Exchange servers. This project works with MS graph API - which is not supported by MS Exchange. We are designing the code to allow other calendar systems to be added/used in the future. There are some On-prem/Integration gateways that may allow us to connect with MS Exchange servers using a common API in the future.

  • Allowing a user to manually update their status (Custom Status) within the MM UI.

NOTE: Manual Custom Status is a different “project” handled by the Apps team (ie: “Hey I’m on vacation till Jan 3rd”) tentatively planned for 2H 2020. This MS Calendar integration project will only cover allowing a user’s MM online/offline status to be automatically updated based on their Meetings/OOO.

...

Opportunities with this Project:

  1. Understand the Microsoft development environment and challenges with On-prem deployment, etc. for future microsoft projects.

  2. Leverage the slash command auto-complete functionality to help users with slash command usage

  3. Explore what needs to be improved in the “Mattermost Status” area….customers often request the ability to set a custom status message. We may need to revisit the code architecture as part of this project. The user status code path is one of the most touched on the platform.

Interested Customers:

  • CBA, Cooley,Expeditors, Illumina, SecureWorks, Spiria, Tesco, UTC

Primary Use Cases

  • When someone is OOO, they want to have their status in MM listed as something like “Out of Office” or “In a Meeting” if there is a calendar event/OOO flag on their exchange server account so other team members know of their status and when they can reach out to them again.

  • Allow users to Accept/Decline meeting invites from within a chat window/Bot Conversation so they don’t need to leave Mattermost for common tasks.

  • Notify users of their upcoming workday and plan (accept/decline)

  • Notify user of upcoming appointments so they can remain on time for meetings during the day

...

Goal

Metric

Demonstrate that Mattermost has over 20 customers using Microsoft with MM

Track over 20+ MS Calendar plugin activations in first 2 months of release

MS Calendar Adoption rate average >25% of active MM users on a server

Track the number of authenticated users (MS) vs current number of MM users on that server

Increase usage of slash commands and completion rate

Track how many events are created via slash command

??? Add.

Assumptions

  • This integration is designed for companies using Office 365 Calendar. MS Exchange is out of scope.

  • Assume that there will relatively high adoption of this plugin within an organization because…everybody has calendars. Not everyone uses Jira.

  • Not all users will be familiar with command line/slash commands for common tasks

...

Requirement

User Story

Importance

Jira Issue

Notes

1

Update the status of a MM user when they are in a meeting

Status
colourRed
titleHIGH

2

 Update the status of a user when they are scheduled to be OOO

 

 

 

 

3

Allow a user to create a simple calendar event from MM

Status
titlelow

4

Display the user’s “day at a glance” in a bot channel

5

Allow users to Accept/Decline incoming invitations

6

User interaction and design

Updated design Document located Here

Welcome to CalendarBot

Consideration: When a user first is made aware of the plugin.

...

  • What are the “rules” for updating a user’s status? Do we

    • set it back to what it was before? What if they change it while in the meeting?

  • Meeting conflicts vs OOO status

  • Once a meeting has ended, it takes you back to original status. Perhaps, check to see if status has changed since the beginning of the meeting before updating the status to ensure it doesn’t overwrite a user’s manually set status.

...

  • How will we present this in a slack attachementattachment?

  • Can we use links?

  • What is the mobile experience for accept/decline?

  • Can we have a different experience for mobile vs desktop using plugins? Christopher Speller Elias Nahum Jesse Hallam Any thoughts?

...

Question

Answer

Date Answered

Where will we let the user store their preferences?

Tabs in the UI? Slash command? Modal window?

Out of Scope

...

A visual view of a user’s calendar in Mattermost

...

Connecting with Exchange servers

...