Skip to content
Calendar Bot for mattermost
Branch: master
Clone or download
Marco A. Harrendorf
Marco A. Harrendorf Added screenshot
Latest commit 9a4a1b3 Jul 12, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
calendarBotMattermostPlugin @ b710c6c


Calendar Bot for mattermost


This bot is making use of


  • The calendarBot can be used to display events from an Microsoft Exchange 2007-2016 Server or Office365 account in Mattermost.
    • By using the category field of an event it is possible to which Mattermost group an event is posted.
    • If the Mattermost group cannot be found, a default channel is used.
    • A global setting exists to define in which time in advance an event is posted in Mattermost.
    • By default events are deleted for now after they have been posted to Mattermost. In the future, most likely an option will allow to just mask these events.
  • Furthermore, a plugin for the Mattermost_bot bot exists, which allows to create events in Mattermost itself. Have a look at
    • Using this plugin events and subcalendars can be created.
    • The events and calendars are stored in the online account and also saved in a local SQLite database.
    • The plugin also allows to show the agenda of today using all subcalendars or specifying only one subcalendar.


The configuration is done in the file:

  • mattermostSettings
    • URL: Url to your Mattermost installation
    • ApiKey: Key for incoming webhook, must created in Mattermost using the integrations settings. More information can be found in the Matterhook documentation
    • Username: Name of the calendarBot that is used in Mattermost
    • IconURL: Definition of an icon shown in Mattermost, e.g.
    • DefaultChannel: Channel in which events are posted if the group defined in the event cannot be found
  • outlookSettings
    • Email: Emailadress of account which is used to look up server, more documentation can be found in Exchangelib
    • Username: Username required to log into email account
    • Password: Password required to log into email account
  • calendarSettings
    • DatabaseName: Name of local SQLite database
    • CheckInterval: Amount of seconds between checks for upcoming events
    • TimespanToCheck: Definition of minute interval which is used for checking of upcoming events

Code structure

  • calendarBotModule
    • Module containing the shared python code.
  • calendarBotProgram
    • Python program which is used to check for upcoming events
  • calendarBotMattermostPlugin
    • Plugin used to create and display events manually in Mattermost

Example screenshot

Example screenshot

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.