> For the complete documentation index, see [llms.txt](https://docs.kognitos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kognitos.com/guides/platform/integrations/teams.md).

# Microsoft Teams

Overview of the Microsoft Teams integration.

{% hint style="info" %}
The following documentation is for **Microsoft Teams v2.16.2**.
{% endhint %}

## Overview

Microsoft Teams is a collaboration platform that combines workplace chat, video meetings, file storage, and application integration. This integration enables automated message sending, channel management, meeting scheduling, and team collaboration workflows. Enhance workplace communication and streamline team collaboration through automated Teams interactions.

## Setup

The following integrations need to be connected to your Kognitos workspace:

* **Microsoft Teams**

### Steps

Follow these steps to connect the integration in Kognitos:

{% stepper %}
{% step %}

#### Navigate

Using the left navigation menu, go to **Integrations** → **Explore Integrations**.
{% endstep %}

{% step %}

#### Find

Search for the integration and click on it.
{% endstep %}

{% step %}

#### Connect

Click on <kbd>**Connect**</kbd> to add a connection to the integration.
{% endstep %}

{% step %}

#### Configure

Add a name for the connection. You'll be prompted for [**authentication**](#authentication) details if needed. Then, click on <kbd>**Connect**</kbd>.
{% endstep %}
{% endstepper %}

## Authentication

Use one of the following authentication methods to connect this integration in Kognitos. Each method has its own configuration requirements.

### Connect using Client ID, Client Secret and Tenant ID

Connect to the Microsoft Graph API using the provided client credentials.

| Label         | Description                                                  | Type        |
| ------------- | ------------------------------------------------------------ | ----------- |
| Client ID     | The client ID of the application registered in Azure AD.     | `text`      |
| Client Secret | The client secret of the application registered in Azure AD. | `sensitive` |
| Tenant ID     | The tenant ID of the Azure AD directory.                     | `text`      |

### Connect using Client ID, Certificate and Tenant ID

Connect to the Microsoft Graph API using certificate credentials.

| Label       | Description                                                                           | Type        |
| ----------- | ------------------------------------------------------------------------------------- | ----------- |
| Client ID   | The client ID of the application registered in Azure AD.                              | `text`      |
| Certificate | PEM-encoded X.509 certificate string containing both the certificate and private key. | `sensitive` |
| Tenant ID   | The tenant ID of the Azure AD directory.                                              | `text`      |

### Connect using Client ID, Certificate, Private Key and Tenant ID

Connect to the Microsoft Graph API using certificate and private key.

| Label       | Description                                              | Type        |
| ----------- | -------------------------------------------------------- | ----------- |
| Client ID   | The client ID of the application registered in Azure AD. | `text`      |
| Certificate | PEM-encoded certificate string.                          | `sensitive` |
| Private Key | PEM-encoded private key string.                          | `sensitive` |
| Tenant ID   | The tenant ID of the Azure AD directory.                 | `text`      |

## Actions

The following actions are available in the **Microsoft Teams** integration:

### 1. Add a member to a channel

Adds a member to a Teams channel.

### 2. Create a channel in a team

Creates a new channel in a Microsoft Team.

### 3. Get some channels from a team

Retrieves channels within a Microsoft Team.

### 4. Get some messages from a channel

Retrieves messages from a Teams channel.

### 5. Get some replies from a message

Retrieves replies to a Teams message, blocking until at least one reply exists.

### 6. Get some teams from teams

Retrieves Microsoft Teams accessible via the Microsoft Graph API.

### 7. Send a message to a channel

Sends a message to a Teams channel, optionally with file attachments.

### 8. Send a message to a user

Sends a direct message to a user via Teams chat, optionally with file attachments.

### 9. Send a reply to a message

Replies to a Teams message, optionally with file attachments.

## Concepts

### Teams channel

A Teams Channel represents a channel in Microsoft Teams. It includes key details such as display name,description, and membership type.

| Field Name        | Description                                                         | Type                                         |
| ----------------- | ------------------------------------------------------------------- | -------------------------------------------- |
| `display_name`    | The name displayed for the channel.                                 | `text`                                       |
| `description`     | The description of the channel.                                     | `optional[text]`                             |
| `membership_type` | The type of membership for the channel (standard, private, shared). | `optional[enum[PRIVATE, SHARED, STANDARD]?]` |
| `team_id`         | The ID of the team that contains this channel.                      | `optional[text]`                             |
| `id`              | The unique identifier for the channel (optional for creation).      | `optional[text]`                             |
| `web_url`         | The web URL for the channel.                                        | `optional[text]`                             |

### Office user

An Office User represents a user in the Microsoft Graph. It includes key user details such as display name,email address, and job title.

| Field Name      | Description                                                   | Type             |
| --------------- | ------------------------------------------------------------- | ---------------- |
| `id`            | The unique identifier for the user.                           | `text`           |
| `display_name`  | The name displayed in the address book for the user.          | `optional[text]` |
| `email_address` | The user's email address (usually their user principal name). | `optional[text]` |
| `job_title`     | The user's job title.                                         | `optional[text]` |

### Thing

No description

### Teams team

A Teams Team represents a team in Microsoft Teams. It includes key details such as display name,description, and visibility settings.

| Field Name     | Description                                   | Type             |
| -------------- | --------------------------------------------- | ---------------- |
| `id`           | The unique identifier for the team.           | `text`           |
| `display_name` | The name displayed for the team.              | `optional[text]` |
| `description`  | The description of the team.                  | `optional[text]` |
| `visibility`   | The visibility of the team (private, public). | `optional[text]` |
| `web_url`      | The web URL for the team.                     | `optional[text]` |

### Teams message

A Teams Message represents a message in a Microsoft Teams channel or chat. It includes key details such as content,sender, and creation time.

| Field Name                         | Description                                                                                                                       | Type                                 |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| `id`                               | The unique identifier for the message.                                                                                            | `text`                               |
| `content`                          | The content of the message.                                                                                                       | `optional[text]`                     |
| `created_datetime`                 | The datetime when the message was created.                                                                                        | `optional[text]`                     |
| `last_modified_datetime`           | The datetime when the message was last modified.                                                                                  | `optional[text]`                     |
| `from_user`                        | The user who sent the message.                                                                                                    | `optional[text]`                     |
| `channel_id`                       | The ID of the channel where the message was sent (for channel messages).                                                          | `optional[text]`                     |
| `team_id`                          | The ID of the team that contains the channel (for channel messages).                                                              | `optional[text]`                     |
| `chat_id`                          | The ID of the chat where the message was sent (for chat messages).                                                                | `optional[text]`                     |
| `web_url`                          | The web URL for the message.                                                                                                      | `optional[text]`                     |
| `reply_to_id`                      | The ID of the thread's root message when this message is a channel reply. Empty for top-level channel messages and chat messages. | `optional[text]`                     |
| [`attachments`](#teams-attachment) | The file attachments referenced by the message.                                                                                   | `optional[list of teams attachment]` |

### Teams attachment

A Teams Attachment represents a file referenced by a Teams message.Attachments in Teams are references (not binary content): the file lives in OneDrive or SharePoint, and the message points to it via a sharing URL.

| Field Name    | Description                                                  | Type   |
| ------------- | ------------------------------------------------------------ | ------ |
| `id`          | The unique identifier for the attachment within the message. | `text` |
| `name`        | The file's display name.                                     | `text` |
| `content_url` | The URL pointing to the file (typically a sharing link).     | `text` |

### Outlook attachment

An attachment paired with a custom filename to use when sending.

| Field Name | Description                             | Type             |
| ---------- | --------------------------------------- | ---------------- |
| `file`     | The file to attach.                     | `file`           |
| `filename` | The custom filename for the attachment. | `optional[text]` |
