# Teams

To create a bot on Teams that will be connected to your dydu bot, follow these steps:

1. **Azure Portal**: Create a configuration and set up the connection between this configuration and dydu. The operations to be performed in this section are:
   * Create a resource group
   * Create an Azure bot
   * Configure Microsoft credentials
   * Connect the resource group to the Azure bot
2. **dydu BMS Channels Menu**: Configure your dydu bot, choose the consultation space and language
   * Create a Teams configuration
   * Download the bot application
3. **Teams**: Publish your configuration
   * Publish the bot in Teams

## **Azure Portal**

### Create a Resource Group

1. Sign in to the [Azure Portal](https://portal.azure.com/).
2. Select "**Resource Groups**"

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FEmfEYrV7S9VQsGsUAmrv%2Fimage.png?alt=media\&token=f5d7bb7d-4ee8-4902-b0ef-3d7876396e70)

3. In the Resource Groups page, click **Create button**

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FRH2EeLZm17PUBcnW7bGH%2Fimage.png?alt=media\&token=2b80c83a-160c-49b6-9900-5e67b32d8da9)

4. Fill the following values:
   * **Subscription:** Select your Azure subscription
   * **Resource group:** Enter a new resource group name.
   * **Region:** Select an Azure location

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FCuIJU3Q5N0C7MSORmfMb%2Fimage.png?alt=media\&token=22264634-a58b-4320-8e68-24d100b1a02e)

5. Click on **Review + create** button

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FHCECSc1qA4meMgjKIuuI%2FCapture%20d%E2%80%99%C3%A9cran%20du%202025-11-25%2010-07-28.png?alt=media&#x26;token=cbd72b6d-9e77-4dfa-b324-5c5c43d1a7d2" alt=""><figcaption></figcaption></figure>

6. Select **Create**. It takes a few seconds to create a resource group.
7. The resource group list is refreshed
8. Then, return to the home page.

### Create Azure bot[​](https://dev.docs.dydu.ai/docs/Channels/teams#create-azure-bot) <a href="#create-azure-bot" id="create-azure-bot"></a>

1. Select **Bot services**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FWOVbX1iozo8RkepOrGNy%2Fimage.png?alt=media&#x26;token=60e2ebce-952d-4976-bd0d-67b94a808698" alt="" width="563"><figcaption></figcaption></figure>

2. Click on **Create**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2Fe1ria6uNDFknB530EG59%2Fimage.png?alt=media&#x26;token=55f6459e-0444-4a90-8aa6-7e8f9f85263d" alt=""><figcaption></figcaption></figure>

3. Look for **Azure Bot** in the Bot Services list.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FkERnh2lzNm704l5UZtIB%2Fimage.png?alt=media&#x26;token=28baabf2-52b2-4685-98f0-6e077b9b1994" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Click on **Load more** at the bottom of the page if Azure Bot is not displayed on first page.
{% endhint %}

4. Click on **Create**.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FrWvk7Ype1mGiDPO86q1h%2Fimage.png?alt=media&#x26;token=3e45ffe1-9151-4a1f-956e-0cdd5f1839a9" alt="" width="563"><figcaption></figcaption></figure>

5. Fill the required information:
   1. **Bot Description**: The name of your Teams bot. It can be modified later via Azure.&#x20;
   2. **Subscription**: Choose Azure CSP
   3. **Resource Groups**: Select the resource group you created earlier
   4. **Application Type**: Select "Single Tenant"

{% hint style="warning" %}
The bot descriptor can only contain the following characters: a-z, A-Z, 0-9, -, and \_, must start with a letter or number, and must be between 4 and 42 characters long.
{% endhint %}

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FPQL3amPDEMYxYch6IRzf%2Fimage.png?alt=media&#x26;token=8bb83ebc-dd99-476c-8fcd-86fabc0f78cb" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FmsRq3LqybPeL9uWTGila%2Fimage.png?alt=media&#x26;token=8afc72c5-8433-44d2-9b5d-da5750925124" alt="" width="559"><figcaption></figcaption></figure>

6. Then, click on **Review + Create** button.
7. Check the configuration then click on **Create**&#x20;

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FhwNvnN64pOXn3VoNKFcP%2Fimage.png?alt=media\&token=6914b5c8-50f4-4bd1-967a-ca39f5802705)

8. Click on **Go to resource** button when the deploy is finished

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2Fz3vGRBXGVxihv9qyL3Bx%2Fimage.png?alt=media\&token=c03cae0c-4632-4576-8ece-27cbfe51eda9)

9. Click on configuration in the left menu

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FqpNFuKqDxQAhZdg3cWdM%2Fimage.png?alt=media&#x26;token=fec47173-4422-4fa8-ab05-054382554cb9" alt="" width="206"><figcaption></figcaption></figure>

### Credentials in azure[​](https://dev.docs.dydu.ai/docs/Channels/teams#credentials-in-azure) <a href="#credentials-in-azure" id="credentials-in-azure"></a>

Here you can find your Microsoft App ID:

1. Click on **Manage** to create the Microsoft App password in Certificates

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F75jf5KWWhbOtranWjK7b%2Fimage.png?alt=media\&token=6b1cdbd0-0bba-4a96-a6f5-d9aa4b6c403f)

2. Click on **New client secret**

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F51Bjx0uyMPhOgvf2hMSo%2Fimage.png?alt=media&#x26;token=d0079fd4-64e1-4be9-b809-4c0aa45a63b5" alt="" width="563"><figcaption></figcaption></figure>

3. Fill in the required information:
   1. **Description**: a description of the client
   2. **Expiration date**: expiration date of the key, it is advisable to choose the maximum value
4. Click on the **Add** button

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FZzjDQv6lRNdAGjsA7hEN%2Fimage.png?alt=media&#x26;token=75255c2a-937d-41be-95b9-0d64876e8330" alt="" width="440"><figcaption></figcaption></figure>

{% hint style="danger" %}
**Important**

Copy the value of the client secret and save this value since later you will not be able to see.
{% endhint %}

### Create connector between azure service and microsoft teams[​](https://dev.docs.dydu.ai/docs/Channels/teams#create-connector-between-azure-service-and-microsoft-teams) <a href="#create-connector-between-azure-service-and-microsoft-teams" id="create-connector-between-azure-service-and-microsoft-teams"></a>

1. Go back to the home page and open your created bot.
2. Click on **Channels** in the left menu and click on the **Microsoft Teams** icon.

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FHnGy36l39a4Oj9d5NfGL%2Fimage.png?alt=media\&token=b01a5ec2-0978-411d-8840-3c558962d766)

3. Accept the Terms of Use and click on **Save**.

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FCE59UFFo1VX0jIloWavW%2Fimage.png?alt=media\&token=92565ec5-c137-4363-9ef0-ab2255660052)

4. Click on **Configuration** in the left menu to configure the connector endpoint and fill in the **Messaging endpoint** field. Check the **Enable streaming endpoint** box. You can find the endpoint **on the first configuration page of Teams under Channels**.

![](https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2Fe4gPwxNUgGAhzjLZa0Bx%2Fimage.png?alt=media\&token=6f873744-d797-4292-9a1e-0750096acf7c)

Example for a SaaS server - app1:

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F9GY4Nohz6ZtYJ2xv88GA%2Fimage.png?alt=media&#x26;token=790f64fa-a366-463e-907e-237996b1ecaa" alt="" width="563"><figcaption></figcaption></figure>

5. Click on **Apply**.

## Dydu Channels

### Create Teams configuration[​](https://dev.docs.dydu.ai/docs/Channels/teams#create-teams-configuration) <a href="#create-teams-configuration" id="create-teams-configuration"></a>

1. Connect to the BMS.
2. Then go to **Integration > Channels**.
3. Select "Microsoft Teams"

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FNkAamc7oBhboY0YdtAkL%2FCapture%20d%E2%80%99%C3%A9cran%20du%202025-11-24%2013-58-27.png?alt=media&#x26;token=e75cc4ba-08d1-4f6c-8108-cf42ca0f4ea5" alt="" width="563"><figcaption></figcaption></figure>

4. Give it a name, click on the **Teams** icon to select it, and then click on "**Create**."

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2F4AClqicLxK2YlYNfW8xH%2FCapture%20d%E2%80%99%C3%A9cran%20du%202025-11-24%2013-59-36.png?alt=media&#x26;token=89a7367a-e102-411f-baf4-356f1b996d17" alt="" width="563"><figcaption></figcaption></figure>

5. **Choose the consultation space and the language** that your Teams chatbot will use.

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FkMzF8IzWPCnPv4Gw93JH%2Fimage.png?alt=media&#x26;token=ec970557-d223-46ff-b3be-f8d48ced4c0e" alt="" width="563"><figcaption></figcaption></figure>

6. Click on "**Next**".
7. Enter the Microsoft App ID and the clientSecret that you previously copied from MS Azure and fill in the various elements of your bot's presentation in Teams.

**Bot descriptions**

These are the descriptions displayed for your bot within Teams.

These fields are mandatory.

The short description must not exceed 80 characters and must not be repeated in the full description.

The full description must not exceed 4000 characters.

* **Bot names**

This is the name displayed to designate your bot within Teams.

The "short name" field is mandatory and must not exceed 30 characters.

The "long name" field is not mandatory, you can use it if the chosen name exceeds 30 characters. It must not exceed 100 characters.

* **Bot avatar**

Your bot in Teams must have two icons:

* the main avatar of the bot and
  * it must respect a dimension of 32\*32 pixels and can be in colour
* the icon of the application (which appears in the sidebar of Teams
  * it must respect a dimension of 192 x 192 pixels and must be transparent

The accepted format for these icons is PNG.

* **Name of the bot's author**

This is the name of the bot creator. This is a required field that must not exceed 30 characters.

#### Available URLs

These are the urls :

* Website
* Privacy policy
* Terms of use

The urls are required.

They are displayed in the "About" tab within your bot Teams

#### Options

* Enable knowledge triggering on negative feedback

&#x20;Trigger knowledge in case of one or more misunderstandings.

* Display the technical welcome in the conversation:&#x20;

Allows displaying the #teamswelcome# which must be configured in the BMS and will trigger at the beginning of the conversation.

* Reasons for dissatisfaction

Allows the user, in case of dissatisfaction (thumbs down), to select a reason from a customizable list and, optionally, to provide a comment. The proposed reasons are only displayed when the user is dissatisfied, and selecting a reason is not required to continue the conversation. If the comment option is enabled, the user can add a free-form comment before submitting. All responses (reasons and comments) are sent to the BMS for analysis.

### Download the bot application[​](https://dev.docs.dydu.ai/docs/Channels/teams#download-the-bot-application) <a href="#download-the-bot-application" id="download-the-bot-application"></a>

During the third and final step "Download":

1. Click on the "**Download**" button. Save the ZIP file and click on "**Finish**".

<figure><img src="https://264031769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPMvi3Izk7dvjl9HitZpp%2Fuploads%2FNQoU5oqxDoJuIzb4Tvz8%2Fimage.png?alt=media&#x26;token=bc1820f1-2b1f-472c-9843-45b13699c41b" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Note: If the required fields are not filled out, you will not be able to download the ZIP configuration file for your bot application.
{% endhint %}

2. Click on "Finish".

## Teams

### Publish the bot on Teams[​](https://dev.docs.dydu.ai/docs/Channels/teams#publish-the-bot-on-teams) <a href="#publish-the-bot-on-teams" id="publish-the-bot-on-teams"></a>

1. Go on **Teams**.
2. Click on **Apps** at the bottom left corner of your screen.
3. Click on **Manage your applications** at the bottom left of your screen.
4. Click on the **Submit an application to your organisation** button

This will take you to the page listing the different applications you have submitted to your organisation. Click again on **Submit an application**.

5. Select the ZIP configuration you saved before.
6. Your application is now listed under **pending requests**.
7. Once approved by your administrator, you can find your application in the app catalog designed for your organization. You may need to restart Teams to see the application appear in the catalog. To open your organization's app catalog, click on "Designed for your organization" at the top of the list in the left menu.
8. Click on the application you created.
9. Then click on the "**Add**" button.
10. You can **start the dialog with your bot**.

### Features available for a dydu bot under Teams

The following tables show the supported and unsupported features for a dydu bot under MS Teams.

* Supported = The functionality is available and works as part of a dydu bot in MS Teams
* Unsupported = The functionality cannot be implemented for a dydu bot in MS Teams

**Formatting the response**

|             Feature            |   Support   |                                             Comment                                            |
| :----------------------------: | :---------: | :--------------------------------------------------------------------------------------------: |
|          "Heading" tag         |  Supported  |                                                                                                |
|              Bold              |  Supported  |                                                                                                |
|             Italic             |  Supported  |                                                                                                |
|            Underline           |  Supported  |                                                                                                |
|           Text color           |  Supported  |                                                                                                |
|      Text background color     |  Supported  |                                                                                                |
|         Text alignment         |  Supported  |                                                                                                |
|           Indentation          |  Supported  |                                                                                                |
|          Ordered list          |  Supported  |           Bullets are not displayed but the list hierarchy is respected and displayed          |
|        Non ordered list        |  Supported  | Scheduling numbers/letters are not displayed but the list hierarchy is respected and displayed |
|     Link to an external URL    |  Supported  |                                                                                                |
|   Link to knowledge (reword)   |  Supported  |                                                                                                |
|         Display a table        |  Supported  |                                                                                                |
|          Split bubble          |  Supported  |                                                                                                |
| Images / File from the gallery |  Supported  |                                                                                                |
|             Smiley             |  Supported  |                                                                                                |
| Using mathematical expressions | Unsupported |                                                                                                |
|      Display a side panel      |  Supported  |                                                                                                |

**Features available for response**

|                     Feature                    |   Support   |                     Comment                    |
| :--------------------------------------------: | :---------: | :--------------------------------------------: |
|                  Step actions                  |  Supported  |                                                |
|               Alternative answers              |  Supported  |                                                |
|           Use a variable in an answer          |  Supported  |                                                |
|   Automatically redirected to an external URL  | Unsupported |                                                |
|     Automatically redirected to a knowledge    |  Supported  |                                                |
|               Display a template               | Unsupported |                                                |
|                Use a GUI action                | Unsupported |                                                |
| Make an automatic switch of consultation space | Unsupported | 1 bot Teams = 1 language, 1 consultation space |
|  Modify the value of a variable before action  |  Supported  |                                                |
|   Modify the value of a variable after action  |  Supported  |                                                |
|          Requesting user satisfaction          |  Supported  |                                                |

**General sentences**

|                         Feature                         |   Support   |                                                                Comment                                                                |
| :-----------------------------------------------------: | :---------: | :-----------------------------------------------------------------------------------------------------------------------------------: |
|           Response to misunderstood sentences           |  Supported  |                                                                                                                                       |
|             Too many misunderstood sentences            |  Supported  |                                                                                                                                       |
|                 Answer to long sentences                | Unsupported |                                                                                                                                       |
|                Answer to empty sentences                |  Supported  |                                                                                                                                       |
|                    Click on the links                   | Unsupported |                                                                                                                                       |
|                Links open in new windows                | Unsupported |                                                                                                                                       |
|            Response to unpublished knowledge            |  Supported  |                                                                                                                                       |
|          Default response when action is empty          |  Supported  |                                                                                                                                       |
|     The answer is available in the default language     | Unsupported |                                                                                                                                       |
|  The answer is not defined for this consultation space  |  Supported  |                                                                                                                                       |
| The answer is available from another consultation space | Unsupported |                                                                                                                                       |
|                   Refocusing sentence                   |  Supported  |                                                                                                                                       |
|                 Internal error response                 |  Supported  |                                                                                                                                       |
|                Introduction of rewording                |  Supported  |        The rewords are displayed listed AND in buttons. Only buttons are clickable. Buttons contain the title of the knowledge.       |
|          General suggestion for reformulations          |  Supported  | The text defined in the general suggestion must be the same as the title of the knowledge to which this general suggestion redirects. |

**Knowledges type**

|        Feature       |   Support   |
| :------------------: | :---------: |
|   Simple knowledge   |  Supported  |
|     Decision tree    |  Supported  |
| Complementary answer |  Supported  |
|  Internaut activity  | Unsupported |
|     Slot filling     |  Supported  |

**Other**

|         Feature         |  Support  |
| :---------------------: | :-------: |
|   Capture user intent   | Supported |
| Use a context condition | Supported |
|         Metabot         | Supported |
|        Using a WS       | Supported |
|           SAML          | Supported |

**Features specific to the dydu chatbox**

|                       Feature                       |   Support   |                                                                     Comment                                                                     |
| :-------------------------------------------------: | :---------: | :---------------------------------------------------------------------------------------------------------------------------------------------: |
|                   Welcome sentence                  |  Supported  |                                                                                                                                                 |
|                  Information banner                 | Unsupported |                                                                                                                                                 |
|                    Top knowledge                    | Unsupported |                                                                                                                                                 |
|                    Autosuggestion                   | Unsupported |                                                                                                                                                 |
|                   Disclaimer GDPR                   | Unsupported | Managed in the privacy policy and the TOS of the Teams application. To be defined by the customer when configuring their Teams bot application. |
|                      Onboarding                     | Unsupported |                                                                                                                                                 |
|                GDPR recovery request                | Unsupported |                                                                                                                                                 |
|                GDPR deletion request                | Unsupported |                                                                                                                                                 |
|      Allow the end-user to change the language      | Unsupported |                                                  1 bot Teams = 1 language, 1 consultation space                                                 |
| Allow the end user to change the consultation space | Unsupported |                                                  1 bot Teams = 1 language, 1 consultation space                                                 |
