# Microsoft Teams

Use this integration to connect Microsoft Teams with we360.ai.

It improves productivity analysis by tracking time spent in meetings.

## Before you start

You need a Microsoft Entra app.

You also need these values for we360.ai:

* Microsoft Tenant ID
* Client ID
* Client Secret
* Unique Identification Key

{% hint style="warning" %}
Grant the required Microsoft Graph permissions and admin consent before saving the integration.
{% endhint %}

## Create the Microsoft Entra app

{% stepper %}
{% step %}

### Open app registrations

Sign in to the Microsoft Entra admin center.

Use an account with at least **Cloud Application Administrator** access.

If you manage multiple tenants, switch to the correct tenant first.

![](/files/ZK4kFk2xVi45ihbAx0LJ)

Go to **Identity → Applications → App registrations**.

{% endstep %}

{% step %}

### Register a new app

Select **New registration**.

![](/files/se81FBsz1VXhPWntqSS1)![](/files/QRgB2mrwUxVSr0SgUlB1)

Enter a display name for the app.

Set **Supported account types** to **Accounts in this organizational directory only (single tenant)**.

![](/files/LVV2lpqhSQ6sV98cbuxs)

Click **Register**.

{% endstep %}
{% endstepper %}

## Configure the integration in we360.ai

{% stepper %}
{% step %}

### Open the integration

In we360.ai, go to **Settings → Integrations**.

Open **Microsoft Teams**.
{% endstep %}

{% step %}

### Enter the tenant ID

Copy **Directory (tenant) ID** from the Entra app overview page.

Paste it into **Microsoft Tenant ID (Organization ID)** in we360.ai.
{% endstep %}

{% step %}

### Enter the client ID

Copy **Application (client) ID** from the Entra app overview page.

Paste it into **Client ID (Application ID)** in we360.ai.

![](/files/Unnn3ByBfo0noOXTdtoQ)
{% endstep %}

{% step %}

### Create the client secret

Go to **Manage → Certificates & secrets**.

Select **New client secret**.

Add a description. Choose an expiry. Click **Add**.

Copy the newly created secret value.

Paste it into **Client Secret** in we360.ai.

![](/files/cJ00qasdzpvCqu2uzLZe)

![](/files/vlx8UqLmRJS1WrDInttx)
{% endstep %}

{% step %}

### Choose the unique identification key

Select the matching rule that fits your directory data:

* `Email` — Microsoft Teams email matches we360.ai email.
* `Email Prefix` — the part before `@` matches we360.ai email prefix.
* `Employee ID` — Microsoft Teams email matches we360.ai employee ID.
* `Employee ID Prefix` — Microsoft Teams email prefix matches we360.ai employee ID.

![](/files/bGvQ0bQ2yeNGMueW0G0G)
{% endstep %}

{% step %}

### Save the integration

Save the configuration in we360.ai.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Unique identifier matching is case-sensitive. It is also whitespace-sensitive.
{% endhint %}

## Add Microsoft Graph permissions

Go to **Manage → API permissions** in the Entra app.

Add these permissions:

* `Calendars.Read`
* `Calendars.ReadBasic.All`
* `CallRecords.Read.All`
* `OnlineMeetingArtifact.Read.All`
* `OnlineMeetings.Read.All`
* `OnlineMeetings.ReadWrite.All` — optional for bidirectional sync
* `User.Read`
* `User.Read.All`

These permissions require admin consent.

Grant admin consent for the tenant after adding them.

![](/files/ppzqg5XBAKax2fkvw8Bp)

## Configure application access policy

The Entra app also needs an application access policy for online meeting data.

Run these commands after replacing the placeholders:

```powershell
New-CsApplicationAccessPolicy -Identity Test-policy `
-AppIds "<Application (client) ID>" -Description "<description here>"

Grant-CsApplicationAccessPolicy -PolicyName Test-policy -Global
```

![](/files/1bAFdAs4jeZ4leyeMt9h)

## Official Microsoft references

* [Register an application in Microsoft Entra](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate)
* [Configure app access to web APIs](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-access-web-apis)
* [Configure application access policy for online meetings](https://learn.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy#configure-application-access-policy)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.we360.ai/deployment-and-it-ops/readme/integrations/portal-integrations/microsoft-teams.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
