# Microsoft Teams

> **Overview**  
> This guide will help you integrate Microsoft Teams with Dropzone, either via automated or manual setup. Follow the steps below for a smooth configuration experience.

Microsoft Teams is a Communicator Integration. Communicator Integrations allow Dropzone to ask questions of your employee base and use their responses to improve the quality of analysis.

Dropzone uses a Microsoft Teams Bot and an Azure AD Application to communicate directly with people in your organization.

## Setup Options

### Automated Setup (Recommended)

For the most reliable setup experience, contact your Dropzone support representative to request our automated deployment script. This script handles all Azure and Teams configuration automatically, including:

* Azure Bot creation and configuration  
* Azure AD App Registration with required permissions  
* Teams app creation and deployment  
* Automatic app installation policies

The script will provide you with the exact credentials needed for Dropzone configuration.

#### Automated Setup Results

When the automated script completes successfully, it will provide you with the following credentials:

* **MS Teams Bot App ID:** Application (client) ID for your bot  
* **MS Teams Bot App Secret:** Client secret for your bot  
* **MS Graph Tenant ID:** Azure AD tenant ID

The script creates a Teams app package (`teams_app.zip`) for you to upload to your organization's app catalog.

### Manual Setup

Manual setup is available if automated setup is not possible for your organization. This process involves several steps in Azure and Microsoft Teams. Follow the instructions below carefully.

## Manual Setup Instructions

To enable the Microsoft Teams Communicator manually, you will:

1. Create an Azure Bot and configure it for Microsoft Teams  
2. Configure your Azure AD App Registration with the required API permissions  
3. Create a Teams App in the Developer Portal  
4. Publish the Teams App to your organization's app catalog  
5. Collect the necessary credentials for Dropzone configuration

### Azure Portal & Azure AD Setup

#### 1. Create Azure Bot

* Go to the Azure Portal ([portal.azure.com](https://portal.azure.com)) and search for **Azure Bot**  
* Click **Azure Bot** from the Marketplace results or go directly to <https://portal.azure.com/#create/Microsoft.AzureBot>  
* Configure the bot:  
  * **Bot handle:** Enter a unique name (e.g., `dropzone-ai-interviewer`)  
  * **Subscription:** Select your Azure subscription  
  * **Resource group:** Select or create a new one  
  * **Microsoft App ID section:**  
    * **Type of App:** Select **Single Tenant**  
    * **Creation Type:** Create new Microsoft App ID  
* Click **Review + create**, then **Create**

#### 2. Configure Bot Channels

* Once the Azure Bot resource is deployed, navigate to it  
* In the left menu, under **Settings**, click **Channels**  
* Click on the **Microsoft Teams** channel  
* On the "Configure Microsoft Teams" page:  
  * Under **Messaging**, configure your Microsoft Teams channel (usually **Microsoft Teams Commercial (most common)**)  
  * Click **Apply**  
  * The channel should now show as **Running** or **Healthy**

#### 3. Configure Bot Messaging Endpoint

* In the Azure Bot resource's left menu, under **Settings**, click **Configuration**  
* **Messaging endpoint:** Enter https://*mycompany*.dropzone.app/interviewer/webhooks/ingest/msteams

#### 4. Azure AD App Registration - Create Client Secret

* On the previous Configuration page, click the hotlink to your Azure AD App Registration (Microsoft App Id - Manage Password)  
* You should now be on the **Certificates & Secrets** page for your Azure AD App Registration  
* Click **+ New client secret**  
  * **Expires:** Select an appropriate expiration period based on your organization's policy  
  * Click **Add**  
* **Immediately copy its Value. This will be needed for the Dropzone configuration. It is only shown once.**

#### 5. Azure AD App Registration - Configure API Permissions

* In the same App Registration's left menu, click **API permissions**  
* Ensure the following **Application permissions** for **Microsoft Graph** are added and granted:  
  * `AppCatalog.Read.All`  
  * `Chat.Create`  
  * `Chat.Read.All`  
  * `TeamsAppInstallation.ReadWriteForTeam.All`  
  * `TeamsAppInstallation.ReadWriteForUser.All`  
  * `TeamsAppInstallation.ReadWriteSelfForChat.All`  
  * `TeamsAppInstallation.ReadWriteSelfForTeam.All`  
  * `TeamsAppInstallation.ReadWriteSelfForUser.All`  
  * `User.Read.All`  
* **To add a permission:**  
  * Click **+ Add a permission**  
  * Select **Microsoft Graph**  
  * Select **Application permissions**  
  * Search for and select each required permission, then click **Add permissions**  
* **Grant Admin Consent:** After adding permissions, an Azure AD Administrator **must** click the **Grant admin consent for \[Your Organization]** button  
* Verify that the **Status** column for these permissions shows **Granted for \[Your Organization]**

### Teams Developer Portal & Admin Center Setup

#### 1. Create/Configure Teams App in Developer Portal

* Go to the [Teams Developer Portal](https://dev.teams.microsoft.com/home)  
* Click **Create a new app** and name it (e.g., "Dropzone AI Interviewer")  
* Configure the app as follows:  
  * **Basic Information:**  
    * Short name: "Dropzone AI Interviewer"  
    * Long name: "Dropzone AI Interviewer for Microsoft Teams"  
    * Short description: "Dropzone AI Interviewer -- Security Tool"  
    * Long description: "Dropzone AI is a vendor used by the company to perform security assessments. This app may send you messages to ask about incidents."  
    * Company name, website, privacy policy, terms of use: You can use `https://dropzone.ai` or your own details. (These are required but not used for distribution.)  
  * **Logos (Optional):**  
    * You can upload a logo for your app. We recommend using the Dropzone logo:  
      * <https://go.dropzone.ai/img/logos/logomark-transparent-color-192px-96px.png>  
      * <https://go.dropzone.ai/img/logos/logomark-transparent-color-32px.png>  
  * **App features:**  
    * Click **Bot**  
    * Select the existing Azure bot you created  
* (Optional) Use **App validation** to double-check that Teams will accept your app  
* Click **Distribute** in the top right of your screen. You can either:  
  * **Download the app package** to upload it to your organization's app catalog, or  
  * **Publish to your organization** (you will need to approve it in the Teams Admin Center)

#### 2. Publish in Teams Admin Center

* Go to the [Teams Admin Center](https://admin.teams.microsoft.com/policies/manage-apps)  
* A **Teams Administrator** must perform these steps  
* If uploading a zip, click **Actions > Upload new app** and select the zip  
* If approving, search for your app by the name you provided in the Developer Portal  
* Select the app from the list  
* Click **Publish** and confirm

### Credentials to Provide to Dropzone

You will need the following information to configure the MS Teams Communicator in Dropzone:

1. **MS Teams Bot App ID:** The `Microsoft App ID` from your Azure AD App Registration  
2. **MS Teams Bot App Secret:** The **Value** of the client secret generated in your Azure AD App Registration  
3. **MS Graph Tenant ID:** The `Directory (tenant) ID` from your Azure AD App Registration's overview page  
4. **MS Teams App Catalog ID:** The "App ID" obtained from the Microsoft Teams Admin Center after publishing the app

### Enable Microsoft Teams in Interviewer Configuration

After successfully configuring and saving the Microsoft Teams communicator credentials, set it as the active interviewer for desired scenarios:

1. Navigate to **Settings > Interviewer Configuration** in Dropzone  
2. On the Interviewer Configuration page, locate **Microsoft Teams** in the top-right dropdown menu and select it  
3. Ensure the toggle switch next to Microsoft Teams is **enabled** (blue and toggled to the right)

This will activate Microsoft Teams as a communicator for initiating interviews based on your configured scenarios.

## Troubleshooting

If you encounter any issues during setup or when configuring the integration in Dropzone:

* Double-check all credentials and configuration steps above  
* Ensure all required permissions are granted and show as **Granted for \[Your Organization]**  
* If you see errors in Teams or Azure, consult the [Microsoft Teams documentation](https://learn.microsoft.com/en-us/microsoftteams/platform/) or [Azure Bot Service documentation](https://learn.microsoft.com/en-us/azure/bot-service/)  
* For persistent issues, contact your Dropzone AI support representative  
* For manual setup issues, consider switching to the automated script for a more reliable experience
