# Teams Apps und Plattform Teams Apps and Platform

Deep Dive für App-Typen, Policies, App-zentriertes Management, Bots, Tabs, Messaging Extensions, RSC, Graph und Compliance. Deep dive for app types, policies, app-centric management, bots, tabs, messaging extensions, RSC, Graph, and compliance.

Policies
Governance Governance
Toolkit
Entwicklung Development
Graph
API Layer API layer
RSC
Granulare Rechte Granular rights
🛠️ Teams Apps sind Governance plus Experience Teams apps are governance plus experience

Eine Teams-App besteht aus Manifest, Hostkontext, Berechtigungsmodell, Lebenszyklus und Compliance. Technische Entwicklung ohne App-Governance führt fast immer zu Freigabestau oder Sicherheitsbedenken. A Teams app consists of a manifest, host context, permission model, lifecycle, and compliance. Technical development without app governance almost always leads to release bottlenecks or security concerns.

App-Typen, Teams Toolkit und Entwicklungsmodell App types, Teams Toolkit, and development model

Teams unterstützt Bots, Tabs, Messaging Extensions, Meeting Apps, Webhooks und weitere App-Oberflächen. Teams supports bots, tabs, messaging extensions, meeting apps, webhooks, and other app surfaces.

App Permission Policies, Setup Policies und App-zentriertes Management App permission policies, setup policies, and app-centric management

Teams-Apps werden über zentrale Policies und katalogbasierte Freigabe gesteuert. Teams apps are governed through central policies and catalog-based approval.

Bots, Tabs, Messaging Extensions, Connectors und Webhooks Bots, tabs, messaging extensions, connectors, and webhooks

Die Wahl des App-Musters bestimmt UX, API-Oberfläche und Review-Aufwand. Choosing the right app pattern determines UX, API surface, and review effort.

Meeting Extensions, Adaptive Cards, Graph APIs und RSC Meeting extensions, adaptive cards, Graph APIs, and RSC

Meeting Apps und RSC erlauben feinere Rechte und tiefere Kontextintegration direkt im Team oder Meeting. Meeting apps and RSC enable finer permissions and deeper context integration directly in a team or meeting.

PowerShell, Store Submission, Compliance und Best Practices PowerShell, store submission, compliance, and best practices

Freigabe, Store Submission und Compliance müssen von Anfang an mit Security und Support zusammengedacht werden. Approval, store submission, and compliance must be planned with security and support from the beginning.

## App-Typen, Teams Toolkit und Entwicklungsmodell App types, Teams Toolkit, and development model

Zu den wichtigsten Teams-App-Typen gehören persönliche oder kanalgebundene Tabs, Bots, Messaging Extensions, Meeting Apps und Kartenbasierte Interaktionen mit Adaptive Cards. Jeder Typ hat andere Datenflüsse, Hostkontexte und Review-Anforderungen. Key Teams app types include personal or channel tabs, bots, messaging extensions, meeting apps, and card-based interactions using Adaptive Cards. Each type has different data flows, host contexts, and review requirements.

Das Teams Toolkit beschleunigt Scaffolding, lokale Authentifizierung, Environments, Provisioning und Deployment. Für langfristige Lösungen sollte das Toolkit aber in eine nachvollziehbare CI/CD- und Secret-Management-Strategie eingebettet sein. Teams Toolkit speeds up scaffolding, local authentication, environments, provisioning, and deployment. For long-term solutions, the toolkit should still be embedded in a traceable CI/CD and secret-management strategy.

### App-Typen App types

Typ Type | Stärken Strengths | Typische API Typical API
--- | --- | ---
Tab Tab | Webbasierte Fachoberfläche direkt in Teams. Web-based business UI directly in Teams. | Graph, eigene APIs, SSO Graph, custom APIs, SSO
Bot Bot | Konversation, Notifications, Assistenz und Automatisierung. Conversation, notifications, assistance, and automation. | Bot Framework, Graph, Adaptive Cards Bot Framework, Graph, Adaptive Cards
Messaging Extension Messaging extension | Suche, Aktionen und Einfügen von Ergebnissen in Chats. Search, actions, and insertion of results into chats. | Search- und action-based commands Search- and action-based commands
Meeting App Meeting app | Pre-/In-/Post-Meeting Experiences. Pre-, in-, and post-meeting experiences. | Meeting context APIs, media and stage contexts Meeting context APIs, media and stage contexts

### Implementierung Implementation

1. Bestandsaufnahme, Rollen und Abhängigkeiten für App-Typen, Teams Toolkit und Entwicklungsmodell dokumentieren. Document the current state, roles, and dependencies for App types, Teams Toolkit, and development model.
2. Pilotobjekte mit realistischen Daten und Berechtigungen auswählen. Select pilot objects with realistic data and permissions.
3. Portaländerungen immer mit PowerShell oder API-Abfragen gegenprüfen. Always validate portal changes with PowerShell or API queries.
4. Monitoring, Support-Runbook und Rückfalloptionen vor der Produktion festhalten. Capture monitoring, support runbooks, and rollback options before production rollout.

### Betrieb & Hinweise Operations & Notes

- Tenant-Limits, Lizenzzustand und Rollenzuweisungen beeinflussen App-Typen, Teams Toolkit und Entwicklungsmodell direkt. Tenant limits, license state, and role assignments directly affect App types, Teams Toolkit, and development model.
- Automatisierung sollte Idempotenz, Logging und Fehlerklassifizierung enthalten. Automation should include idempotency, logging, and error classification.
- Änderungen sollten in Pilotwellen getestet und mit Nutzerkommunikation begleitet werden. Changes should be tested in pilot waves and accompanied by user communication.
- Für Audits lohnt sich eine dokumentierte Soll-Konfiguration mit regelmäßigem Drift-Abgleich. For audits, keep a documented target state and compare for drift regularly.

### PowerShell: Toolkit-Vorbereitung PowerShell: toolkit preparation

PowerShell PowerShell

    npm install -g @microsoft/teamsapp-cli
    teamsapp new
    teamsapp provision --env dev
    teamsapp deploy --env dev

## App Permission Policies, Setup Policies und App-zentriertes Management App permission policies, setup policies, and app-centric management

App Permission Policies definieren, welche Apps erlaubt oder blockiert sind. App Setup Policies steuern, welche Apps automatisch installiert oder angeheftet werden. App-zentriertes Management verschiebt den Blick zusätzlich von der Benutzerperspektive auf die einzelne App und ihre Freigabe, Berechtigung und Verteilung. App permission policies define which apps are allowed or blocked. App setup policies control which apps are automatically installed or pinned. App-centric management shifts the perspective further from the user-centric view to the individual app and its approval, permission, and distribution.

Custom Apps und ein kontrollierter App Catalog sind essenziell, wenn eigene Tabs, Bots oder SPFx-hosted Apps genutzt werden. Ohne Freigabeprozess für Store-Apps, Custom Packages und Lifecycle-Owner entsteht schnell eine unübersichtliche Teams-App-Landschaft. Custom apps and a controlled app catalog are essential when custom tabs, bots, or SPFx-hosted apps are used. Without an approval process for store apps, custom packages, and lifecycle ownership, the Teams app landscape becomes unruly very quickly.

### Governance-Controls Governance controls

Control Control | Nutzen Use | Praxisnotiz Practical note
--- | --- | ---
App Permission Policy App permission policy | Erlaubt oder blockiert Apps und Publisher. Allows or blocks apps and publishers. | Standardpolicy klein halten, Ausnahmen bewusst vergeben. Keep the default policy small and assign exceptions consciously.
App Setup Policy App setup policy | Steuert automatische Installation und Pinning. Controls auto-installation and pinning. | Je Persona statt je Einzelfall planen. Plan by persona rather than by one-off case.
App-centric management App-centric management | Zentrale Sicht auf Nutzung, Status und Freigaben einer App. Central view of an app's usage, status, and approvals. | Hilft bei Review, Ownership und Lebenszyklus. Helps with review, ownership, and lifecycle.
Custom app catalog Custom app catalog | Sicherer Verteiler für interne Apps. Secure distribution channel for internal apps. | Manifest- und Paketversionen sauber dokumentieren. Document manifest and package versions cleanly.

### Implementierung Implementation

1. Bestandsaufnahme, Rollen und Abhängigkeiten für App Permission Policies, Setup Policies und App-zentriertes Management dokumentieren. Document the current state, roles, and dependencies for App permission policies, setup policies, and app-centric management.
2. Pilotobjekte mit realistischen Daten und Berechtigungen auswählen. Select pilot objects with realistic data and permissions.
3. Portaländerungen immer mit PowerShell oder API-Abfragen gegenprüfen. Always validate portal changes with PowerShell or API queries.
4. Monitoring, Support-Runbook und Rückfalloptionen vor der Produktion festhalten. Capture monitoring, support runbooks, and rollback options before production rollout.

### Betrieb & Hinweise Operations & Notes

- Tenant-Limits, Lizenzzustand und Rollenzuweisungen beeinflussen App Permission Policies, Setup Policies und App-zentriertes Management direkt. Tenant limits, license state, and role assignments directly affect App permission policies, setup policies, and app-centric management.
- Automatisierung sollte Idempotenz, Logging und Fehlerklassifizierung enthalten. Automation should include idempotency, logging, and error classification.
- Änderungen sollten in Pilotwellen getestet und mit Nutzerkommunikation begleitet werden. Changes should be tested in pilot waves and accompanied by user communication.
- Für Audits lohnt sich eine dokumentierte Soll-Konfiguration mit regelmäßigem Drift-Abgleich. For audits, keep a documented target state and compare for drift regularly.

### PowerShell: App Policies PowerShell: app policies

PowerShell PowerShell

    Connect-MicrosoftTeams
    Get-CsTeamsAppPermissionPolicy
    Get-CsTeamsAppSetupPolicy
    Set-CsTeamsAppPermissionPolicy -Identity Global -DefaultCatalogAppsType AllowedAppList
    Grant-CsTeamsAppSetupPolicy -Identity "Knowledge Workers" -Group payroll-users@contoso.com

## Bots, Tabs, Messaging Extensions, Connectors und Webhooks Bots, tabs, messaging extensions, connectors, and webhooks

Bots und Messaging Extensions sind ideal für dialog- und suchzentrierte Szenarien. Tabs eignen sich für persistente Oberflächen. Inbound Webhooks und Workflows sind leichtgewichtig, während klassische Office 365 Connectors langfristig nur eingeschränkt als neues Entwicklungsmodell attraktiv sind. Bots and messaging extensions are ideal for dialog- and search-centric scenarios. Tabs fit persistent UI surfaces. Inbound webhooks and workflows are lightweight, while classic Office 365 connectors are only conditionally attractive as a long-term development model.

Für jede dieser Oberflächen sollten Teams-Kontext, Authentifizierung, Deep Links, Notification-Modell und Tenant-Governance mitgedacht werden. Eine gute App vermeidet es, Benutzer aus Teams heraus in unverbundene Webflows zu schicken. For each of these surfaces, Teams context, authentication, deep links, notification models, and tenant governance must be considered. A good app avoids sending users out of Teams into disconnected web flows.

### App-Muster nach Szenario App patterns by scenario

Szenario Scenario | Empfohlenes Muster Recommended pattern | Notiz Note
--- | --- | ---
Suche und Einfügen Search and insert | Messaging Extension Messaging extension | Besonders geeignet für CRM-, Ticket- oder Wissenssuche. Great for CRM, ticketing, or knowledge search.
Persistente Fachoberfläche Persistent business UI | Tab Tab | Mit SSO und Responsive Design koppeln. Pair with SSO and responsive design.
Benachrichtigung und Dialog Notification and dialog | Bot Bot | Notification spam vermeiden; Berechtigungen klar halten. Avoid notification spam and keep permissions clear.
Einfacher Auslöser Simple trigger | Webhook / Workflow Webhook / workflow | Für geringe Komplexität und klare Security-Boundaries. Good for low complexity and clear security boundaries.

### Implementierung Implementation

1. Bestandsaufnahme, Rollen und Abhängigkeiten für Bots, Tabs, Messaging Extensions, Connectors und Webhooks dokumentieren. Document the current state, roles, and dependencies for Bots, tabs, messaging extensions, connectors, and webhooks.
2. Pilotobjekte mit realistischen Daten und Berechtigungen auswählen. Select pilot objects with realistic data and permissions.
3. Portaländerungen immer mit PowerShell oder API-Abfragen gegenprüfen. Always validate portal changes with PowerShell or API queries.
4. Monitoring, Support-Runbook und Rückfalloptionen vor der Produktion festhalten. Capture monitoring, support runbooks, and rollback options before production rollout.

### Betrieb & Hinweise Operations & Notes

- Tenant-Limits, Lizenzzustand und Rollenzuweisungen beeinflussen Bots, Tabs, Messaging Extensions, Connectors und Webhooks direkt. Tenant limits, license state, and role assignments directly affect Bots, tabs, messaging extensions, connectors, and webhooks.
- Automatisierung sollte Idempotenz, Logging und Fehlerklassifizierung enthalten. Automation should include idempotency, logging, and error classification.
- Änderungen sollten in Pilotwellen getestet und mit Nutzerkommunikation begleitet werden. Changes should be tested in pilot waves and accompanied by user communication.
- Für Audits lohnt sich eine dokumentierte Soll-Konfiguration mit regelmäßigem Drift-Abgleich. For audits, keep a documented target state and compare for drift regularly.

### JSON: Adaptive Card für Bot JSON: adaptive card for a bot

JSON JSON

    {
      "type": "AdaptiveCard",
      "version": "1.5",
      "body": [
        { "type": "TextBlock", "text": "Ticket eskalieren?", "weight": "Bolder" },
        { "type": "Input.Text", "id": "reason", "placeholder": "Grund" }
      ],
      "actions": [
        { "type": "Action.Submit", "title": "Senden", "data": { "action": "escalate" } }
      ]
    }

## Meeting Extensions, Adaptive Cards, Graph APIs und RSC Meeting extensions, adaptive cards, Graph APIs, and RSC

Meeting Apps können vor, während und nach Besprechungen Inhalte oder Aktionen anbieten. Adaptive Cards helfen dabei, strukturierte Interaktionen mit geringer UI-Komplexität abzubilden. Resource-specific consent (RSC) erlaubt es, Team- oder Chatkontexte granular zu berechtigen, ohne globale Graph-Berechtigungen zu verlangen. Meeting apps can offer content or actions before, during, and after meetings. Adaptive Cards help represent structured interactions with low UI complexity. Resource-specific consent (RSC) enables granular permissioning for team or chat contexts without requiring global Graph permissions.

RSC ist besonders wertvoll für Apps, die nur in einem Team lesen oder posten sollen. Dadurch sinkt der Bedarf an weitreichenden Application Permissions. Gleichzeitig muss das Manifest sauber dokumentieren, welche Team- oder Chatrechte wirklich nötig sind. RSC is especially valuable for apps that only need to read or post in one team. This reduces the need for broad application permissions. At the same time, the manifest must clearly document exactly which team or chat rights are required.

### Graph- und Rechtebausteine Graph and permission building blocks

Baustein Building block | Nutzen Use | Kommentar Comment
--- | --- | ---
RSC Permissions RSC permissions | Granulare Rechte pro Team oder Chat. Granular rights per team or chat. | Bevorzugen, wenn globale Application Permissions nicht nötig sind. Prefer when global application permissions are not necessary.
Meeting APIs Meeting APIs | Kontextinformationen und Meeting-Interaktionen. Context info and meeting interactions. | User experience auf Meeting-Phasen abstimmen. Align UX to meeting phases.
Adaptive Cards Adaptive Cards | Konsistente UI über Bot, Message und Meeting hinweg. Consistent UI across bots, messages, and meetings. | Versionen und Hostunterstützung prüfen. Check versions and host support.
Graph installedApps Graph installedApps | App-Installation in Team, Chat oder User automatisieren. Automate app installation in team, chat, or user scope. | App und Policy-Freigabe müssen vorher stimmen. App and policy approvals must be in place first.

### Implementierung Implementation

1. Bestandsaufnahme, Rollen und Abhängigkeiten für Meeting Extensions, Adaptive Cards, Graph APIs und RSC dokumentieren. Document the current state, roles, and dependencies for Meeting extensions, adaptive cards, Graph APIs, and RSC.
2. Pilotobjekte mit realistischen Daten und Berechtigungen auswählen. Select pilot objects with realistic data and permissions.
3. Portaländerungen immer mit PowerShell oder API-Abfragen gegenprüfen. Always validate portal changes with PowerShell or API queries.
4. Monitoring, Support-Runbook und Rückfalloptionen vor der Produktion festhalten. Capture monitoring, support runbooks, and rollback options before production rollout.

### Betrieb & Hinweise Operations & Notes

- Tenant-Limits, Lizenzzustand und Rollenzuweisungen beeinflussen Meeting Extensions, Adaptive Cards, Graph APIs und RSC direkt. Tenant limits, license state, and role assignments directly affect Meeting extensions, adaptive cards, Graph APIs, and RSC.
- Automatisierung sollte Idempotenz, Logging und Fehlerklassifizierung enthalten. Automation should include idempotency, logging, and error classification.
- Änderungen sollten in Pilotwellen getestet und mit Nutzerkommunikation begleitet werden. Changes should be tested in pilot waves and accompanied by user communication.
- Für Audits lohnt sich eine dokumentierte Soll-Konfiguration mit regelmäßigem Drift-Abgleich. For audits, keep a documented target state and compare for drift regularly.

### HTTP: Teams App via Graph installieren HTTP: install Teams app via Graph

HTTP HTTP

    POST https://graph.microsoft.com/v1.0/teams/{team-id}/installedApps
    Content-Type: application/json

    {
      "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/{app-id}"
    }

## PowerShell, Store Submission, Compliance und Best Practices PowerShell, store submission, compliance, and best practices

Store-Submission oder interne Katalogfreigabe verlangen klare Publisher-Informationen, Datenschutztexte, Berechtigungsbegründungen, Supportkontakt und Updateprozess. Auch interne Apps sollten wie Produkte behandelt werden: mit Owner, Runbook, Monitoring, Sunset-Plan und Rückfalloption. Store submission or internal catalog approval requires clear publisher information, privacy texts, permission justifications, support contact, and an update process. Even internal apps should be treated like products: with an owner, runbook, monitoring, a sunset plan, and rollback options.

PowerShell bleibt wichtig für Policy- und Governance-Automatisierung. Zusammen mit Graph und CI/CD bildet sie das Rückgrat für wiederholbare App-Rollouts, Policy-Zuweisungen und Compliance-Nachweise. PowerShell remains important for policy and governance automation. Together with Graph and CI/CD, it forms the backbone for repeatable app rollouts, policy assignments, and compliance evidence.

### Wichtige Teams-App-Cmdlets Important Teams app cmdlets

Cmdlet Cmdlet | Zweck Purpose | Hinweis Note
--- | --- | ---
Get-CsTeamsApp Get-CsTeamsApp | Inventarisiert Teams-Apps im Tenant. Inventories Teams apps in the tenant. | Hilfreich für Governance und Cleanup. Useful for governance and cleanup.
Get-/Set-/Grant-CsTeamsAppPermissionPolicy Get-/Set-/Grant-CsTeamsAppPermissionPolicy | Steuert erlaubte und blockierte Apps. Controls allowed and blocked apps. | Mit App-centric Management abstimmen. Align with app-centric management.
Get-/Set-/Grant-CsTeamsAppSetupPolicy Get-/Set-/Grant-CsTeamsAppSetupPolicy | Regelt Auto-Install und Pinning. Controls auto-install and pinning. | Persona-basierte Verteilung bevorzugen. Prefer persona-based assignment.
Get-CsOnlineUser Get-CsOnlineUser | Validiert Policy-Zuweisung aus Benutzersicht. Validates policy assignment from the user perspective. | Hilfreich bei Rollout-Fehlern. Helpful for rollout failures.

### Implementierung Implementation

1. Bestandsaufnahme, Rollen und Abhängigkeiten für PowerShell, Store Submission, Compliance und Best Practices dokumentieren. Document the current state, roles, and dependencies for PowerShell, store submission, compliance, and best practices.
2. Pilotobjekte mit realistischen Daten und Berechtigungen auswählen. Select pilot objects with realistic data and permissions.
3. Portaländerungen immer mit PowerShell oder API-Abfragen gegenprüfen. Always validate portal changes with PowerShell or API queries.
4. Monitoring, Support-Runbook und Rückfalloptionen vor der Produktion festhalten. Capture monitoring, support runbooks, and rollback options before production rollout.

### Betrieb & Hinweise Operations & Notes

- Tenant-Limits, Lizenzzustand und Rollenzuweisungen beeinflussen PowerShell, Store Submission, Compliance und Best Practices direkt. Tenant limits, license state, and role assignments directly affect PowerShell, store submission, compliance, and best practices.
- Automatisierung sollte Idempotenz, Logging und Fehlerklassifizierung enthalten. Automation should include idempotency, logging, and error classification.
- Änderungen sollten in Pilotwellen getestet und mit Nutzerkommunikation begleitet werden. Changes should be tested in pilot waves and accompanied by user communication.
- Für Audits lohnt sich eine dokumentierte Soll-Konfiguration mit regelmäßigem Drift-Abgleich. For audits, keep a documented target state and compare for drift regularly.

### PowerShell: Governance-Check PowerShell: governance check

PowerShell PowerShell

    Connect-MicrosoftTeams
    Get-CsTeamsApp | Format-Table DisplayName,DistributionMethod,PublishingState
    Get-CsTeamsAppPermissionPolicy -Identity Global
    Get-CsTeamsAppSetupPolicy -Identity Global

🔗 Verwandte Referenzen Related references

Diese Seite ergänzt SPFx, Search und Rooms, weil Apps oft mehrere Hostplattformen und Governanceebenen verbinden. This page complements SPFx, search, and Rooms because apps often connect several host platforms and governance layers.

SPFx Development SPFx Development

Tabs und Viva-Hosts bauen oft auf SPFx oder gemeinsamen Webkomponenten auf. Tabs and Viva hosts often build on SPFx or shared web components.

Rooms & Devices Rooms & Devices

Geräte profitieren von sauberer App- und Policy-Steuerung. Devices benefit from clean app and policy governance.

Search Configuration Search Configuration

Suche und Knowledge Apps greifen häufig auf Graph Search und Adaptive Cards zurück. Search and knowledge apps often rely on Graph Search and adaptive cards.