Building apps for Microsoft Teams has become one of my favourite side-project activities. Through devsym.de I’ve been shipping Teams integrations that help developers and teams work smarter.

Why Build for Microsoft Teams?

Microsoft Teams has over 300 million active users. As a developer, that’s a massive platform to target. The extensibility model is rich:

  • Bots – conversational interfaces powered by the Bot Framework
  • Tabs – embedded web apps inside channels and chats
  • Message Extensions – search and action commands in the compose box
  • Adaptive Cards – rich, interactive cards in conversations

Setting Up the Bot Framework SDK

The easiest way to get started is with the Yeoman generator for Teams apps:

npm install -g generator-teams
yo teams

Or if you prefer the Bot Framework SDK directly:

dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBot
dotnet new echobot -n MyTeamsBot

Adaptive Cards

Adaptive Cards are the secret weapon of Teams development. They let you create rich, interactive UI that works across Microsoft 365:

{
  "type": "AdaptiveCard",
  "version": "1.5",
  "body": [
    {
      "type": "TextBlock",
      "text": "Hello from devsym! 👋",
      "size": "Large",
      "weight": "Bolder"
    }
  ],
  "actions": [
    {
      "type": "Action.OpenUrl",
      "title": "Visit devsym.de",
      "url": "https://devsym.de/"
    }
  ]
}

Deploying to Azure

Once your bot is ready, deploying to Azure is straightforward. Use Azure App Service for the bot endpoint and register it with the Azure Bot Service.

The key configuration values you’ll need:

  • MicrosoftAppId – your bot’s AAD App Registration client ID
  • MicrosoftAppPassword – the corresponding client secret

Wrapping Up

Teams development is genuinely fun once you get the hang of it. The platform keeps getting richer with every release, and there are great opportunities to build tools that make a real difference in how teams collaborate.

Check out devsym.de for Teams apps I’ve been working on!