> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hymalaia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams Bot Setup

> Step-by-step guide to configure the Hymalaia bot on Microsoft Teams

This guide walks through creating an Azure Bot, connecting it to Microsoft Teams, publishing the app to your organization, and approving it for users.

## Step 1 — Create the Azure bot

1. Go to [portal.azure.com](https://portal.azure.com) and open **Microsoft Foundry** → **Bot Services**, then click **Create an Azure Bot**.
2. Fill in:
   * **Bot handle**: A unique name for your bot (for example `Hymalaia_test`).
   * **Subscription**: Your Azure subscription.
   * **Resource group**: Choose or create one (for example `Dev`).
   * **Data residency**: Global.
   * **Pricing tier**: Standard.
3. Under **Microsoft App ID**, set up the application identity.
4. Click **Review + create**, then **Create**.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-01.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=9527e2b405093534a7a5ac6e851c8e27" alt="Azure portal — Create an Azure Bot, Basics tab (bot handle, subscription, resource group, pricing)" width="1748" height="1112" data-path="images/teams-bot-setup-01.png" />

### Step 1b — Get the client secret

After the bot is created:

1. Open **App Registrations** → your app → **Certificates & secrets**.
2. Click **+ New client secret**, set a description and expiration, then **Add**.
3. Copy the **Value** of the secret immediately — it is shown only once.

<Tip>
  Keep the **Client Secret** and **Microsoft App ID** safe; your Hymalaia backend needs them for configuration.
</Tip>

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-02.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=04cde18241c72d8acb2274e0d31f6c68" alt="Azure App Registration — Certificates and secrets, new client secret" width="1811" height="1108" data-path="images/teams-bot-setup-02.png" />

## Step 2 — Configure the Azure bot

In your Azure bot: **Settings** → **Configuration**, set:

* **Messaging endpoint**: The URL where your server receives Teams messages (for example `https://your-deployment.example.com/api/msteams/messages`).
* **Bot Type**: Single Tenant.
* **Microsoft App ID**: Your registered application ID.
* **App Tenant ID**: Your Azure AD tenant ID.
* **Schema Transformation Version**: V1.3.

Click **Apply** to save.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-03.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=c3bd9c52c4f2060d34db3a7b02e89877" alt="Azure Bot — Configuration: messaging endpoint, bot type, Microsoft App ID, tenant ID, schema version" width="1748" height="1112" data-path="images/teams-bot-setup-03.png" />

### Enable the Microsoft Teams channel

Under **Settings** → **Channels**, confirm **Microsoft Teams** is connected and shows **Healthy**. **Direct Line** and **Web Chat** are usually enabled by default.

<Tip>
  If Microsoft Teams is not listed, open **Available Channels** and add the Teams channel.
</Tip>

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-04.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=5c9cc87d3cbe81c104479383cb71c580" alt="Azure Bot — Channels: Microsoft Teams channel healthy" width="1811" height="1108" data-path="images/teams-bot-setup-04.png" />

## Step 3 — Create the app in Teams Developer Portal

Go to [dev.teams.microsoft.com](https://dev.teams.microsoft.com) and create a new app. You will land on the app dashboard (for example for an app named **Hymalaia**). Use the left menu for **Basic information**, **Branding**, **App features**, and other sections.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-05.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=9c80998f38ae04162e79593ddee9413d" alt="Teams Developer Portal — app dashboard for Hymalaia" width="1748" height="1112" data-path="images/teams-bot-setup-05.png" />

### Basic information

Under **Configure** → **Basic information**, set for example:

* **Short name**: `Hymalaia` (max 30 characters).
* **Short description**: Short tagline (max 80 characters).
* **Long description**: Full description of what the bot does.
* **Version**: `1.0.0`.
* **Developer name**: Your organization name.
* **Website**: `https://www.hymalaia.com` (or your site).

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-06.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=d39a06f0fddd38a9a6ec48d776077080" alt="Teams Developer Portal — Configure Basic information" width="1748" height="1112" data-path="images/teams-bot-setup-06.png" />

### Branding

Under **Configure** → **Branding**, upload:

* **Color icon**: 192×192 px PNG with the symbol centered on a 96×96 px area.
* **Outline icon**: 32×32 px PNG, white or transparent.
* **Accent color**: Primary UI color.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-07.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=7a5c3000c70e0f750228a6ffae72807e" alt="Teams Developer Portal — Configure Branding (icons and accent color)" width="1748" height="1112" data-path="images/teams-bot-setup-07.png" />

### App features — Bot

Under **Configure** → **App features**, choose **Bot**. Then:

* Select **Enter a bot ID** and paste your **Microsoft App ID** from Azure.
* Enable the capabilities you need (for example **Upload and download files**).
* Enable scopes: **Personal**, **Team**, **Group chat**.

<Tip>
  The Bot ID must match the **Microsoft App ID** from Azure exactly (for example a GUID like `f746895b-e836-4c8e-9b16-ab99b74c5afa`).
</Tip>

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-08.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=a7f37c0aa656001d94aed8b7807e5a2d" alt="Teams Developer Portal — App features, Bot ID and scopes" width="1748" height="1112" data-path="images/teams-bot-setup-08.png" />

### App package editor — `supportsChannelFeatures`

Under **Configure** → **App package editor**, review the generated `manifest.json`. Ensure **`supportsChannelFeatures`** is present and set to **`tier1`** so advanced channel features work.

<Tip>
  **`supportsChannelFeatures`: `"tier1"`** is required for the bot to be eligible for publication in organization channels.
</Tip>

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-09.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=e0919e3c943f460325c92bafadd58b6f" alt="Teams Developer Portal — App package editor, manifest with supportsChannelFeatures" width="1748" height="1112" data-path="images/teams-bot-setup-09.png" />

### Publish to your organization

1. Use **Publish** → **App validation** and run Microsoft’s validation. Acknowledge the prompts and start validation.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-10.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=f37bdd6d595fa048b980fe344f93539a" alt="Teams Developer Portal — App validation: acknowledgement and Start validation" width="1748" height="1112" data-path="images/teams-bot-setup-10.png" />

2. Under **Publish** → **Publish to org**, submit the app. Status becomes **Submitted (awaiting admin's approval)**.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-11.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=ce6645347f5a1047cbee6925b390fba6" alt="Teams Developer Portal — Publish to org: version submitted, awaiting admin approval" width="1748" height="1112" data-path="images/teams-bot-setup-11.png" />

## Step 4 — Approve the app in Teams Admin Center

1. Open [admin.teams.microsoft.com](https://admin.teams.microsoft.com) → **Teams apps** → **Manage apps**.
2. Filter by **Publishing status = Submitted** to see pending apps.
3. Open your app (for example **Hymalaia**). If it shows as **Blocked**, open the details and set the status to **Allowed**.

You need Teams administrator rights. After approval, the app appears in your organization’s app catalog.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-12.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=95b43ffcd75cad77ed47a683317db350" alt="Teams Admin Center — Manage apps, filter by submitted apps, change status from Blocked to Allowed" width="1811" height="1108" data-path="images/teams-bot-setup-12.png" />

## Step 5 — Verify in Microsoft Teams

In Teams: **Apps** → **Built for your organisation**. Your bot should appear and users can install it with **Add**.

<img className="rounded-image" src="https://mintcdn.com/hymalaia/yudUUI-Spdd_i7QH/images/teams-bot-setup-13.png?fit=max&auto=format&n=yudUUI-Spdd_i7QH&q=85&s=aad8f9bc6060fe8af9bed814d7d2643c" alt="Microsoft Teams — Apps store, Built for your organisation, add or open the bot" width="1811" height="1108" data-path="images/teams-bot-setup-13.png" />

***

## Summary

1. Create the bot in Azure (**portal.azure.com** → Bot Services).
2. Set the messaging endpoint and store the **Client Secret** and **Microsoft App ID**.
3. Create the Teams app on **dev.teams.microsoft.com** (basic info, branding, bot ID, channel features).
4. Publish to your org (validation + **Publish to org**).
5. Approve the app in **admin.teams.microsoft.com** → **Manage apps**.
6. Users install from **Apps** → **Built for your organisation**.
