EasyUC for Microsoft Teams
Provide the attendant console as a Teams app
Offer the EasyUC attendant console as a private app in Microsoft Teams, with sign-in through the Teams account.
In EasyUC: Teams admin center → Teams apps → Manage apps; sign-in at https://EASYUC-HOSTNAME/admin/attendant?host=teams
What it is for
Attendants who work in Microsoft Teams all day can open the EasyUC attendant console right there. For this the attendant console is provided as a personal, tenant-internal Teams app. Teams loads the attendant console page as a tab in the app bar.
Sign-in uses the active Teams account: the user clicks Sign in with Teams, Teams issues an access token for the user who is already signed in, EasyUC validates it and opens the attendant console session. The user’s password is not transmitted to EasyUC.
The app package is a ZIP file with a manifest and two icons. It contains no passwords, client secrets or tokens. EasyUC hostname, client ID and the addresses of the privacy statement and terms of use are public details.
Prerequisites
- Licence modules
acd(attendant console) andteams. - A full DNS name for EasyUC, for example
easyuc.kunde.de, with HTTPS on port 443 and a publicly trusted certificate chain. Plain IP addresses and self-signed certificates are not suitable for a Teams tab. - Reachable pages for privacy and terms of use over HTTPS.
- In the customer’s Microsoft tenant, the right to create an app registration and to upload and release a custom Teams app.
- In EasyUC the customer’s Teams tenant exists and is active, with Directory (tenant) ID and Application (client) ID. EasyUC validates the Teams token against these two values.
- The attendants are entered as enabled attendants and mapped to their Microsoft account (chapter on assigning attendants and devices).
- The package generator from the EasyUC delivery (
tools/teams-attendant-app) and Python 3 on a workstation.
Step by step: Prepare the app registration for Teams sign-in
Step by step: Generate and validate the app package
Step by step: Upload and release the app in Teams
Step by step: Update the package
Fields and options
| Field / action | Meaning and use |
|---|---|
| --fqdn | EasyUC hostname without https://, port or path. Mandatory. |
| --client-id | Application (client) ID of the customer’s Entra app. Mandatory. It also becomes the ID of the Teams app. |
| --privacy-url | Full HTTPS address of the privacy statement. Mandatory. |
| --terms-url | Full HTTPS address of the terms of use. Mandatory. |
| --version | Version of the package in SemVer format. Default 4.5.0. |
| --website-url | Support or browser address on the same hostname. Optional. |
| --output | Different output path for the ZIP file. Optional. |
| --force | Replaces an existing output file. |
| Content of the manifest | Name EasyUC Attendant, one personal tab Attendant with the address https://EASYUC-HOSTNAME/admin/attendant?host=teams, permission identity, manifest schema 1.22. |
| Sign in with Teams | Button on the sign-in page of the attendant console inside Teams. Uses the active Teams sign-in. |
Check the result and narrow down errors
- Success: the app appears in Teams, the tab loads the sign-in page, and after Sign in with Teams the attendant console opens without a password prompt.
- The tab does not load: check the HTTPS certificate and DNS of the EasyUC hostname and whether the hostname in the package is exactly right.
- Teams reports a wrong resource: compare the Application ID URI in Microsoft Entra character by character with
api://EASYUC-HOSTNAME/CLIENT-ID. - “Sign-in with your Microsoft Teams account failed. Please try again.” Check the scope
access_as_user, the two pre-authorised Teams clients and whether directory ID and application ID at the EasyUC tenant belong to this Entra app. - “This Microsoft account is not enabled for the attendant console.” The user is not an enabled attendant or is not mapped to their Microsoft account.
- “Microsoft sign-in has not been fully configured yet. Please contact your administrator.” There is no unique active tenant in EasyUC for the directory ID.
- “Microsoft sign-in is not available in this installation.” The Teams module is not active.
- “The attendant console could not be initialized in Microsoft Teams. Please reopen it in Teams.” Close the tab and open the app again.
- The upload is rejected: check with
validate-package.pyand review the tenant’s app management policy for custom apps.