Overview
The Microsoft Teams integration reads your tenant’s Teams data from Microsoft Graph through a Microsoft Entra ID app registration. G360 then shows it on the Teams Metrics dashboard: adoption, active and inactive users, collaboration, meeting load, call quality, team activity, licence use, and cost savings. Setup takes about 15 minutes and has six steps:- Register an app in Microsoft Entra ID
- Create a client secret
- Add the Microsoft Graph permissions and grant admin consent
- Show real names in Microsoft 365 reports
- Add the connection in G360
- Check that data arrives
Before you start
You need:- A Microsoft 365 tenant with Microsoft Teams licences.
- A Microsoft Entra account that can create app registrations and grant tenant-wide admin consent (for example a Global Administrator, or a Privileged Role Administrator plus an Application Administrator).
- Access to the Microsoft 365 admin center (for step 4).
- Access to G360 as an administrator.
Step 1: Register an app in Microsoft Entra ID
Open App registrations
Start a new registration
Name the app
G360 Teams.Pick the account type
Register
Copy the IDs
- Directory (tenant) ID: this is the Tenant ID.
- Application (client) ID: this is the Client ID.
Step 2: Create a client secret
Open Certificates & secrets
Start a new secret
Describe the secret
G360, and pick an expiry period. Click Add.Copy the value
Step 3: Add the Microsoft Graph permissions
Open Application permissions
Add the permissions
Grant admin consent
- Without a recommended permission, G360 still syncs; it skips only that data and the connection test lists what is missing and what it unlocks.
- G360 never stores message, chat, or call-feedback text. It keeps only counts, times, and lengths.
- G360 does not use
Calendars.Read,Presence.Read.All, orDirectory.Read.All. You do not need to grant them.
Step 3b (optional): meeting access policy
Step 3b (optional): meeting access policy
Step 4: Show real names in Microsoft 365 reports
By default Microsoft hides user names in its usage reports. G360 then cannot match activity to people.Open the Microsoft 365 admin center
Open report settings
Show real names
Step 5: Add the connection in G360
Open the Microsoft Teams integration
Start a new connection
Fill in the fields
Test the connection
- You should see Connection test successful. If optional permissions are missing, the message says how many, and their data will be skipped.
- If you see an error, go to Troubleshooting, fix it, and test again.
Save the connection
Step 6: Check that data arrives
Wait for the first sync
Open the dashboard
- Microsoft publishes its Teams usage reports 24 to 48 hours late, so activity figures always run about two days behind. Licences, teams, and members are as of the last sync.
- Microsoft keeps day-by-day usage and call records for only about 28–30 days, which is why a Teams project’s time range is fixed at the last 28 days.
The Microsoft Teams Connections page
Edit a connection
Open the connection
Save your changes
- Renaming changes nothing else.
- A new client secret or client ID for the same tenant keeps all data.
- A different tenant ID removes the old tenant’s data from the dashboards; the next sync loads the new tenant.
- If a sync of this connection is running, the save is refused. Wait a few minutes and try again.
Delete a connection
Delete the linked project
Delete the connection
- G360 stops syncing the tenant and removes its Teams data from the dashboards.
- Its sync schedule is stopped. Its run history is kept.
- If a sync of this connection is running, the delete is refused. Wait a few minutes and try again.
How syncing works
- Each sync reads every Teams source the app has permission for, then loads it into the dashboards. A source without permission is skipped, not failed.
- Daily syncs read only what changed since the last one (new chats and channel messages, missing report days), so they are quicker than the first.
- If Microsoft rate-limits G360, the sync keeps what it collected and G360 retries just the limited reports a few minutes later, on its own.
- The client secret is stored encrypted.
Troubleshooting
Test Connection fails
Test Connection fails
- The Tenant ID and Client ID are from the app’s Overview page, and the secret is the Value, not the Secret ID.
- The secret has not expired (Certificates & secrets shows its expiry date).
Reports.Read.AllandUser.Read.Allare added as Application permissions and show Granted (step 3).- The app registration still exists and is enabled.
Save fails with "already exists"
Save fails with "already exists"
- Another connection already uses this Connection Name: choose a different name.
- Another connection already uses the same tenant, client ID, and secret: edit the existing one instead.
Save, edit, or delete is refused because a sync is running
Save, edit, or delete is refused because a sync is running
The dashboard shows no data, or no names
The dashboard shows no data, or no names
- Wait for the first sync to finish.
- Remember activity runs about two days behind.
- Check the project selected in the Project filter is the connection’s project.
- Check concealed names are turned off (step 4).
- Check the client secret has not expired.
Some figures are empty
Some figures are empty
Best practices
- Use a dedicated app registration for G360.
- Grant only the permissions in the table above.
- Replace the client secret before it expires.
- Name connections after the tenant they read.

