Wie erstellt man eine App für Microsoft Teams?

Abgeschlossen

Das Erstellen und Verteilen einer App, die auf der Microsoft Teams-Plattform erstellt wurde, beinhaltet auch die Entscheidung dahingehend, was erstellt werden soll, den Aufbau Ihrer Webdienste, das Erstellen eines App-Pakets und das Verteilen dieses Pakets an die Zielgruppe Ihrer Endbenutzer. Die Entscheidung darüber, wer auf Ihre App zugreifen und diese installieren kann, liegt bei den Administratoren einer Organisation. Hingegen ist es Aufgabe Ihrer Benutzer, Ihre App in einem bestimmten Kontext zu installieren. Sehen wir uns die einzelnen Schritte etwas genauer an.

Entwerfen Ihrer App

Der wichtigste Schritt bei der Erstellung einer erfolgreichen App für Microsoft Teams ist die Auswahl der richtigen Kombination an Erweiterungspunkten und der Benutzeroberflächenelemente, die genutzt werden. Sie sollten durchaus einige Zeit in das Verstehen des Problems, das Sie mit Ihrer App zu lösen versuchen, sowie das Entwerfen einer – für die verschiedenen Möglichkeiten zur Interaktion der Benutzer mit Ihrer auf dem Microsoft Teams-Client befindlichen App – geeigneten Lösung investieren. Unterschätzen Sie nicht die Bedeutung von Kontext und Umfang! Ein Unterhaltungs-Bot, der in einem 1:1-Chat sehr gut funktioniert, ist möglicherweise für einen Gruppen- oder Kanalchat völlig ungeeignet.

Hier finden Sie eine Zusammenfassung dessen, was Ihnen zur Verfügung steht, und einige Beispielszenarien, für die diese Dinge am besten geeignet sind. Sie können viele Aufgaben auf mehr als eine Weise erledigen. Wenn Sie das richtige Tool für den Auftrag auswählen, wird die Benutzererfahrung verbessert.

  • Messaging-Erweiterungen – Suchbefehle sind hilfreich, da Sie Ihren Benutzern das Durchsuchen eines externen Systems und das Teilen der Ergebnisse dieser Suche innerhalb von Teams ermöglichen. Mit Karten- und Kartenaktionen können Sie die Ergebnisse dieser Suche umfassend formatieren und Benutzern das Ausführen von auf das Ergebnis bezogenen Aktionen ermöglichen, ohne dazu den Microsoft Teams-Client verlassen zu müssen.
  • Messaging-Erweiterungen – Aktionsbefehle eignen sich hervorragend zum Sammeln von Informationen von Ihrem Benutzer an einem zentralen Ort und zum Senden dieser Informationen an Ihre Webdienste. Diese Aktionsbefehle eigenen sich hervorragend für Szenarien, in denen Sie irgendeinen Datensatz erstellen oder mehr als ein paar Informationen als Teil einer einzigen Transaktion sammeln müssen.
  • Registerkarten – in Gruppen und Kanälenstellen einen freigegebenen Eingabebereich für die Zusammenarbeit von mehreren Personen bereit. Sie sollten diese in Ihre App integrieren, wenn diese Informationen oder Dienste beinhaltet, die für eine Gruppe von Personen geeignet sind. Denken Sie daran, dass alle Benutzer vom gleichen Eingabebereich ausgehend arbeiten, weshalb Ihre Seite zustandslos sein und als Einzelseiten-Anwendung fungieren sollte.
  • Registerkarten – in persönlichen Apps ermöglichen diese eine persönliche, webähnliche Benutzeroberfläche. Sie eignen sind in der Regel am besten für „Hub“-Szenarien – „mir zugewiesene Elemente“ oder „von mir erstellte Elemente“. Sie können auch für statische Inhalte, wie Hilfe- oder Informationsseiten, nützlich sein.
  • Unterhaltung-Bots – in Gruppen und Kanälen unterstützen beim Hinzufügen zusätzlicher Informationen zu einer Unterhaltung, die für alle (oder zumindest die meisten) Beteiligten hilfreich ist. Sie können dazu verwendet werden, proaktiv relevante Informationen zu einer Unterhaltung hinzuzufügen oder auf Benutzeranfragen zu antworten („Hey Bot, erstelle eine Umfrage, wohin wir zum Mittagessen gehen sollten“). Sie sollten in der Regel nicht für Unterhaltungen mit mehreren Thematiken genutzt werden. Verwenden Sie stattdessen ein Aufgabenmodul, um die gewünschten Informationen zu sammeln, oder verlegen Sie die Unterhaltung in einen 1:1-Chat und fügen Sie dann die Ergebnisse wieder in die ursprüngliche Unterhaltung ein.
  • Unterhaltung-Bots – in persönlichen Apps können unglaublich vielfältige Workloads ermöglichen. F&A-Bots, Bots, die Arbeitsabläufe in anderen Systemen starten, Bots, die Witze erzählen, und Bots, die Notizen erfassen, sind dafür nur einige Beispiele. Denken Sie stets daran zu prüfen, ob eine unterhaltungsbasierte Oberfläche die beste Möglichkeit ist, Ihre Funktionalität zu präsentieren.
  • Webhooks und Connectors sind nützlich, um Benutzern das Abonnieren eines Kanals für Benachrichtigungsmeldungen von einem externen System zu ermöglichen.
  • Besprechungs-Apps ermöglichen Zusammenarbeit, Partnerschaft, informierte Kommunikation und geteiltes Feedback. Die Besprechungs-App kann eine Benutzererfahrung für jede Phase des Besprechungslebenszyklus bereitstellen. Der Besprechungslebenszyklus umfasst die App-Erfahrung vor der Besprechung, während der Besprechung und nach der Besprechung, abhängig vom Status des Teilnehmers. In diesem Modul lernen Sie, wie Sie benutzerdefinierte Apps erstellen, die in Microsoft Teams-Besprechungen verwendet werden.

Die besten Apps nutzen in der Regel mehr als nur einen Erweiterungspunkt. Nehmen wir beispielsweise an, dass Ihre Organisation es Personen ermöglichen möchte, Verbesserungsvorschläge zu übermitteln. Sie könnten eine App mit einem Suchbefehl für die Messaging-Erweiterung erstellen, um vorhandene Vorschläge zu suchen und zu teilen, einen Aktionsbefehl hinzufügen, der es Benutzern ermöglicht Vorschläge zu erstellen und zu aktualisieren, eine Kanal-Registerkarte einrichten, damit ein Team alle ihm zugewiesenen Vorschläge sehen kann, und eine persönliche Registerkarte hinzufügen, damit ein Benutzer alle Vorschläge ansehen kann, die er bisher eingereicht hat. Fügen Sie einen Unterhaltungs-Bot hinzu, der von natürlicher Sprachverarbeitung und maschinellem Lernen unterstützt wird und es Benutzern ermöglicht, komplexe Abfragen zu den Vorschlägen durchzuführen, und schon verfügen Sie über eine vollständig integrierte Teams-App mit vollem Funktionsumfang!

Vorbereiten Ihrer Entwicklungsumgebung

Als Mindestanforderung benötigen Sie Zugriff auf eine Microsoft 365-Organisation, in der das Hochladen benutzerdefinierter Apps aktiviert ist. Sollten Sie nicht über einen solchen Zugriff verfügen, erhalten Sie eine Entwicklungsorganisation zugewiesen, indem Sie sich für das Microsoft 365-Entwicklerprogramm registrieren. Außerdem benötigen Sie eine Möglichkeit zum Bereitstellen und Hosten Ihrer Webdienste. Für lokale Entwicklungen können Sie einen Tunneldienst wie beispielsweise ngrok verwenden, allerdings werden Sie für Produktionszwecke Ihre Dienste bereitstellen wollen, wahrscheinlich für einen Cloud-Dienstanbieter wie Azure. Sie können die lokale Infrastruktur zum Hosten Ihrer Webdienste verwenden, doch diese müssen öffentlich zugänglich sein (nicht hinter einer Firewall).

Auswählen Ihrer Entwicklungsumgebung

Für Entwickler gibt es beim Erstellen von Microsoft Teams-Apps mehrere Optionen.

Der Community-basierte Yeoman-Generator für Microsoft Teams (auch bekannt als „Yo Teams“) erstellt ein Gerüst für ein Projekt, sobald der Entwickler einige Fragen zur Art der Microsoft Teams-App beantwortet hat, die er erstellt. Weitere Informationen zum Yeoman-Generator für Microsoft Teams finden Sie hier: Erstellen Ihrer ersten Microsoft Teams-App.

Mithilfe des Microsoft Teams-Toolkits können Sie benutzerdefinierte Teams-Apps direkt innerhalb der Visual Studio Code-Umgebung erstellen. Das Toolkit führt Sie durch den Vorgang und bietet alles, was Sie zum Erstellen, Debuggen und Starten Ihrer Teams-App benötigen. Weitere Informationen zum Microsoft Teams-Toolkit für Visual Studio Code finden Sie hier:Erstellen von Apps mit dem Microsoft Teams-Toolkit.

Erstellen Ihrer Webdienste

Sobald Sie sich entschieden haben, wie Benutzer mit Ihrer App interagieren werden, ist es an der Zeit, die erforderlichen Webdienste zu erstellen, um die App leistungsfähig zu machen. Je nachdem, was Sie erstellen, werden in Teams verschiedene SDKs, Vorlagen, Codebeispiele und Generatoren bereitgestellt, die Ihnen bei den ersten Schritten helfen, unter anderem:

  • Bot Framework-SDK für Messaging-Erweiterungen und Unterhaltung-Bots
  • Teams JavaScript-Client-SDK für Registerkarten und andere Inhaltsseiten
  • Ein Yeoman-Generator für das Erstellen von Apps in Node.js
  • Eine Reihe von Open-Source-Steuerelementen für Ihre Webinhalte, eine Fluent-Benutzeroberfläche
  • Produktionsreife App-Vorlagen

Eine vollständige Liste der zur Verfügung stehenden Tools und Beispiele, die Ihnen bei den ersten Schritten helfen, finden Sie unter Die gesamte Dokumentation.

Denken Sie daran, dass Sie Ihre Webdienste so hosten müssen, dass sie öffentlich über das Internet zugänglich sind (in der Regel bei einem Clouddienstanbieter wie Microsoft Azure) und Ihre Inhalte über HTTPS bereitstellen müssen.

Erstellen Ihres App-Pakets

Sobald Ihre Webdienste eingerichtet sind, müssen Sie ein App-Paket erstellen, das in Microsoft Teams verteilt und installiert werden kann. Das App-Paket beinhaltet zwei Symbole und eine JSON-Manifestdatei, in der die Metadaten für Ihre App, die von Ihrer App verwendeten Erweiterungspunkte sowie die Verweise auf die Dienste, die diese Erweiterungspunkte aktivieren/deaktivieren, beschrieben werden.

Beim Erstellen Ihres App-Paketes können Sie wählen, ob Sie dieses manuell erstellen oder App Studio verwenden möchten. Bei App Studio handelt es sich um eine in Teams integrierte App, die Sie beim Gestalten von Teams-Apps unterstützt. App Studio führt Sie durch die Erstellung Ihres App-Manifests und kann Ihnen dabei helfen, Ihren Bot im Bot-Framework zu registrieren. App Studio beinhaltet außerdem einen Karten-Designer, der Sie beim visuellen Erstellen von Karten und Kartenaktionen unterstützt und über den Sie in Teams Beispiele an sich selbst senden können.

Verteilen Ihrer App

Je nach Zielgruppe, stehen Ihnen drei Optionen zum Verteilen Ihrer benutzerdefinierten Microsoft Teams-App zur Verfügung.

  • Teilen Sie Ihr App-Paket direkt. Sie können Ihr App-Paket direkt für Benutzer freigeben. Diese Option eignet sich dann, wenn Ihre App auf ein eingeschränktes Publikum (nur einige wenige Teams oder Einzelpersonen) zielt, sowie während der Entwicklung und dem Testen Ihrer App.
  • Veröffentlichen Sie Ihre App im App-Katalog Ihrer Organisation. Wenn Ihre App für eine bestimmte Organisation verwendet werden kann (oder Sie die App derart angepasst haben, dass diese den spezifischen Anforderungen einer Organisation entspricht), kann ein Mandantenadministrator Ihre App in den App-Katalog der Organisation hochladen. Dadurch steht Ihre App für alle Benutzer in der Organisation zur Verfügung und kann von diesen installiert werden (sie wird allerdings nicht automatisch installiert).
  • Veröffentlichen Sie Ihre App im öffentlichen App-Store. Wenn sich Ihre App für alle Benutzer von Teams, ungeachtet dessen, wo sich diese befinden, eignet, können Sie Ihre App für eine Veröffentlichung im öffentlich zugänglichen App-Store übermitteln. Sie müssen ein sehr strenges Prüfungsverfahren durchlaufen, mit dem sichergestellt werden soll, dass alles bis ins kleinste Detail stimmt und funktioniert.

Beim Verteilen Ihrer App müssen Sie nicht nur die gewünschte Zielgruppe berücksichtigen, sondern auch die geltenden IT-Richtlinien der Organisation, für die Sie Ihre App freigeben möchten. Jede Organisation hat die völlige Kontrolle über die Festlegung, welche Apps in den App-Katalog der Organisation hochgeladen werden sollen und welche Apps aus dem App-Store zur Installation hochgeladen werden dürfen.

Das Installieren von Apps

Das Installieren von Apps in Microsoft Teams erfolgt kontextspezifisch. Beim Installieren des personenbezogenen Teils Ihrer App (Dinge, die auf einen einzelnen Benutzer ausgerichtet sind), wird Ihre App nicht automatisch auch in einem bestimmten Team installiert und umgekehrt. Beim Installieren Ihrer App in einem bestimmten Team, wird Ihre APP nicht automatisch auch in anderen Teams installiert. Dies bedeutet, dass Sie niemals davon ausgehen können, dass Ihre App in jedem erdenklichen Kontexten installiert ist – das ist sie wahrscheinlich eher nicht. Die IT-Administratoren einer Organisation haben völlige Kontrolle darüber, wer berechtigt ist, welche Apps in welchem Kontext zu installieren. Deshalb sollten Sie auch nicht davon ausgehen, dass der Benutzer, mit dem Ihre App gegenwärtig interagiert, über die Berechtigung verfügt, Ihre App in einem anderen Kontext zu installieren.

Es besteht wohl oder übel die Tendenz, das Installieren einer App direkt aus einem App-Paket heraus stark einzuschränken. Wenn Sie also beschließen, Ihre App durch das Freigeben Ihres App-Pakets direkt zu verteilen, stellen Sie sicher, dass Ihre Benutzer berechtigt sind, diese zu installieren.