Microsoft Teams Integration: Setup (Private Cloud & On-Premises)

Do you use Microsoft Teams and also want to be kept up to date via Teams? No problem, you can create an app for your Haiilo via the Developer Portal in Teams. The new app informs the users once a blog article is published in Haiilo on a page that the users have subscribed to.

We'll show you what to do!

Step 1: Download "Developer Portal"

You go into the Teams app store and look for "Developer Portal". You then add the app to your apps and open it.

Step 2: Create your own app

You can use the Developer Portal to create your own app. Go to the "Apps" tab at the top. There, select "+ New app".



Step 3: Add basic information

You need to add certain information to the app under "Basic information":

  • App names: Give your app a short name here.

  • Descriptions: To provide orientation, assign the app with a description. A short description with a maximum of 80 characters in the first field and a more detailed description with a maximum of 4000 characters in the second.

  • Version: In the field "Version", you can independently make a note of a version for your own reference (if it's, e.g. the first time that you’ve created the app, 1.0.0 is recommended).

  • Developer Information: So that everyone knows who’s developed the app, enter your company name here and the URL of your company

  • App URLs: A data protection statement and terms of use naturally shouldn’t be missing. Add links here to your company’s corresponding data protection statements and terms of use.

  • Application (client) ID: This is the ID you will find in your Azure when creating an app registration for Haiilo.

Step 4: Branding

You can give your app an appealing icon and accent color – this attracts users’ attention straight away and provides orientation.

Step 5: Create your own bot

You need a bot to allow your users to be automatically notified via your Teams app whenever a new blog article is published in Haiilo.

In the left-hand navigation within your new app in the Developer Portal, go to "App features" and click on the option "Bot". There you need to create a new bot with "Create a new bot".

The first thing to do is to give your bot a name. Afterward, you set the bot endpoint address. The start of the endpoint address consists of the URL of your Haiilo platform followed by the ending "/web/teams/api/messages". Now you only need to add a secret in "Client secrets".


Be sure to make a note of this password for the .env file, as it’s only displayed once during this step.


Now switch back to your new Teams app and the "App features" settings to select your newly created bot. For the scope of the bot, you choose "Personal" and add the following commands for the "Personal" scope as well:

  • Sign In
  • Sign Out

Step 6: Add domain and permissions

To ensure that the right information is displayed for the users, you need a valid URL that’s accessed by your app in Teams. Add the URL of your Haiilo instance under "Domains" on the left side. Please note that this must be stated without "https://www.".

Step 7: Customize your .env file



If you are in the private cloud, we will take care of this step for you. Just let us know via a ticket.


The Haiilo-data directory on your Haiilo server contains an .env file. In this, you need to customize the values for the following fields:

  • HAIILO_TEAMS_BOT_ID (that’s the bot ID)
  • HAIILO_TEAMS_BOT_SECRET (that’s the secret for the bot)
  • HAIILO_TEAMS_TENANT_SUFFIX (that’s the ending of your Haiilo URL; e.g.,
  • HAIILO_TEAMS_TENANT_URL (that’s your Haiilo URL; e.g.,

The rest of the Teams fields in the .env file can be left as they are.


After this change has been made, you need to restart your Haiilo for it to become effective.

Ensure that the corresponding Docker containers are rebuilt. To do this, you can use the following command to delete the containers after stopping:

docker container prune

Step 8: Make the app accessible

As the last step, you need to publish your app for the Teams App. Please use the official Microsoft documentation for this step.

Was this article helpful?