# 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](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**

Azure Bot Overview Page

#### 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**

Configuring the Bot Channels

#### 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

Bot Configuration Screen

#### 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.**

Create client secret

#### 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\]**

API Permissions

---

### 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-192px-96px.png)
      - [https://go.dropzone.ai/img/logos/logomark-transparent-color-32px.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)

Both options enable the same functionality.

#### 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

Enter Credentials

**Automated Setup:** If you used the automated script, it will provide these exact credentials at the end of the setup process.

---

### 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)

Interviewer Configuration

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
