In de moderne werkomgeving is effectieve communicatie van groot belang. Microsoft Teams heeft zich bewezen als hét platform voor chatten, vergaderen en samenwerken aan documenten. Wat Teams nóg krachtiger maakt, is de mogelijkheid om het platform uit te breiden met maatwerkapplicaties: de zogeheten Teams Apps.
In deze blog bespreek ik de basisprincipes van het ontwikkelen van Microsoft Teams Apps: wat ze precies zijn, hoe je start met het ontwikkelen van een Teams App en hoe jouw organisatie kan profiteren van op maat gemaakte Teams Apps die specifiek zijn ontwikkeld om aan unieke bedrijfsbehoeften te voldoen.
Wat is een Teams App?
Een Teams App is een applicatie die is ontwikkeld om binnen Microsoft Teams te werken en de functionaliteit van het platform uit te breiden naar eigen behoefte. Ze kunnen verschillende vormen aannemen, elk met hun eigen doel en gebruiksscenario’s. Hieronder beschrijf ik de belangrijkste types:
Teams App zijn onderverdeeld in de volgende categorieën: Bots: Bots zijn geautomatiseerde programma's die kunnen reageren op berichten van gebruikers. Tabs: Tabs bieden een manier om zelfgeschreven functionaliteiten en applicaties direct binnen Teams te tonen in hun volledigheid. Messaging Extensions: Messaging Extensions worden gebruikt om de functionaliteit van berichten uit te breiden.
Hoe start je met het ontwikkelen van een nieuwe Teams App?
Het ontwikkelen van een Teams App is een ingebouwde mogelijkheid in zowel Visual Studio 2022 als Visual Studio Code. Voor dit voorbeeld wordt Visual Studio gebruikt. Om gebruik te maken van Teams Apps in Visual Studio, moet eerst het ‘Microsoft Teams development tools’ component geïnstalleerd zijn.
Zodra deze is geïnstalleerd, kan je een Microsoft Teams App project template selecteren tijdens het aanmaken van een nieuw project. Tijdens het aanmaken kies je een app type uit de opties die ik hierboven heb beschreven.
Wanneer je de lege Teams App gecreëerd hebt, zie je dat de folderstructuur vrijwel identiek is aan die van een Blazor app. Echter bevat de solution ook een tweede project: Teams App. In dit project bevinden zich alle nodige elementen om de Blazor applicatie als een Teams App te gebruiken.
In dit Blazor project staan nog twee dingen die ik even wil benoemen:
- Appsettings.json: in de appsettings worden Entra-gegevens opgeslagen waarmee de applicatie kan authentiseren en autoriseren binnen Teams.
- Config.cs: dit bestand bevat objecten die gebruikt worden om de Entra- gegevens uit de appsettings te kunnen gebruiken binnen de applicatie.
Het Teams App project zelf bestaat uit de volgende bestanden:
- AppPackage: de AppPackage is een folder die alle bestanden bevat die Teams nodig heeft om de app te kunnen draaien. Onderdelen zijn afbeeldingen voor het logo van de app en het manifest waarin gegevens zoals de naam van de app en de benodigde rechten worden vastgesteld.
- env folder: hierin worden Entra-gegevens voor iedere Teamsomgeving opgeslagen zodra deze is provisioned.
- teamsapp.yml & teamsapp.local.yml: hierin staan scripties voor acties die worden gebruikt om Teams-omgevingen aan te maken of te deployen naar de cloud.
- aad.manifest.json: in dit bestand staat hetzelfde manifest als dat in de apppackage vereist is. Deze wordt gebruikt door de scripts uit de teamsapp.yml bestanden.
De out-of-the-box Teams App is voldoende om te starten. Voordat de app gestart kan worden, moet je de omgeving aanwijzen. Dit doe door met de rechtermuisknop op de Teams App te klikken en te gaan naar ‘Teams Toolkit -> Prepare Teams app dependencies'. Als je hier op een Microsoft Account waarvan u rechten heeft tot Entra en door te gaan worden alle gegevens gevuld.
Zodra dit proces succesvol is afgerond, kan je de applicatie opstarten in de aangegeven Teams-omgeving. Verdere ontwikkeling werkt identiek aan het bouwen van een Blazor applicatie.
Hoe kan een bestaande ASP.NET applicatie worden omgezet in een Teams App?
Naast het creëren van een nieuwe Teams App, is het ook mogelijk om bestaande ASP.NET applicaties om te zetten naar een Teams App. Dit doe je door een Teams App project toe te voegen aan een al bestaande project solution. De laatste stap is het toevoegen van de gegevens uit de Entra App registration aan de appsettings.json van het hoofdproject. Hierna kan de applicatie lokaal opgestart worden in de gespecificeerde Teams omgeving.
Conclusie
Het ontwikkelen van eigen Teams Apps biedt de mogelijkheid om precies díe functionaliteiten toe te voegen die jouw teams nodig hebben om efficiënter te werken. Of het nou gaat om het stroomlijnen van interne processen, het verbeteren van samenwerking tussen teams of het integreren van externe systemen; Teams Apps zijn vaak de oplossing. Heb je interesse om dit aan te pakken binnen jouw organisatie en werkomgeving?
Mijn collega’s en ik staan klaar om jouw organisatie te ondersteunen bij het ontwikkelen van eigen Teams Apps. Van de initiële conceptontwikkeling en prototyping, via het daadwerkelijk ontwikkelen, tot aan de implementatie en ondersteuning na de lancering. Wij zorgen ervoor dat jouw Teams Apps naadloos aansluiten bij de specifieke behoeften en doelstellingen van jouw organisatie. Neem vrijblijvend contact met ons op om de mogelijkheden te bespreken.
Heb je vragen over dit onderwerp of zou je Bart willen inhuren voor een vergelijkbare opdracht?