Microsoft Teams Integration
Helps to organize project related files in Microsoft Teams
Klein IT Solutions
Microsoft Teams Integration for Kimai
A Kimai plugin that automatically creates customer and project folders inside a selected Microsoft Team.
Based on your Kimai customer and project data, the plugin generates the corresponding folder structure within the chosen Team — fully automated and reliable.
Optimize your document organization, reduce manual work, and ensure your team always has the correct folder at the right time.
Perfect for agencies, IT service providers, and organizations using Microsoft Teams as their main collaboration platform.
Automated folder structure in Microsoft Teams
The plugin automatically creates:
- customer folders
- project folders
- structured subfolders inside a chosen base directory
Everything is handled via the Microsoft Graph API without manual interaction.
What’s included?
- a new console command
ms-teams:sync-foldersfor creation of customer and project folders - configuration validation (Team ID, folder path)
- support for
.envvariables:GRAPH_TENANT_IDGRAPH_CLIENT_IDGRAPH_CLIENT_SECRET
System Requirements
You need:
- a valid Azure App Registration
- the ability to set environment variables via
.env - access to Microsoft Graph API
Setup steps after Installation
- Create a
.envfile inside your Kimai installation and add:
GRAPH_TENANT_ID=
GRAPH_CLIENT_ID=
GRAPH_CLIENT_SECRET=
If you are using Docker, add the variables to your docker-compose.yml file or set the following flags
-e GRAPH_TENANT_ID=''
-e GRAPH_CLIENT_ID=''
-e GRAPH_CLIENT_SECRET=''
when starting the container.
-
Configure the desired team and folder path under:
Kimai → System → Microsoft Teams -
Run the sync command if needed:
bin/console ms-teams:sync-folders
This creates all customer and project folders with your selected Microsoft Team.
Совместимость
Плагины всегда должны быть совместимы с более высокими версиями Kimai. Следующий список содержит версию плагина и необходимую минимальную версию Kimai.
| Версия сборки | Минимальная версия Kimai |
|---|---|
| 1.0.0 | 2.44.0 |
Установка
Копировать файлы
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/TeamsIntegrationBundle/The file structure needs to look like this afterwards:
var/plugins/
├── TeamsIntegrationBundle
│ ├── TeamsIntegrationBundle.php
| └ ... more files and directories follow here ...Очистить кэш
After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:
How to reload Kimai cache
bin/console kimai:reload --env=prod
It is not advised, but in case the above command fails you could try:
rm -r var/cache/prod/*
You might have to set file permissions afterwards:
Adjust file permission
You have to allow PHP (your webserver process) to write to var/ and it subdirectories.
Here is an example for Debian/Ubuntu, to be executed inside the Kimai directory:
chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
You might not need these commands in a shared-hosting environment.
And you probably need to prefix them with sudo and/or the group might be called different from www-data.
Создать базу данных
Run the following command:
bin/console ms-teams:sync-foldersThis will create the required database tables and update them to the latest version.
If you see an error like There are no commands defined in the "kimai:bundle:XYZ" namespace.,
then either the directory has a wrong name (must be var/plugins/TeamsIntegrationBundle/) or you forgot to clear the cache (look above).
Обновления
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/TeamsIntegrationBundle/ -
Execute all installation steps again:
- Копировать файлы
- Очистить кэш
- Update database with
bin/console ms-teams:sync-folders
Kimai