Skip to content

BotASThe Bot App SDK

A lightweight, multi-language library for building Microsoft Teams bots with minimal overhead.

BotAS Logo

What is BotAS?

BotAS provides idiomatic implementations for building Microsoft Teams bots in three languages — .NET (C#), Node.js (TypeScript), and Python — with full behavioral parity across all ports.

Build bots that work with Microsoft Teams using the language and web framework you already know.

Echo Bot in 3 Languages

csharp
using Botas;

var app = BotApp.Create(args);

app.On("message", async (ctx, ct) =>
{
    await ctx.SendAsync($"You said: {ctx.Activity.Text}", ct);
});

app.Run();
typescript
import { BotApp } from 'botas-express'

const app = new BotApp()

app.on('message', async (ctx) => {
  await ctx.send(`You said: ${ctx.activity.text}`)
})

app.start()
python
from botas_fastapi import BotApp

app = BotApp()

@app.on("message")
async def on_message(ctx):
    await ctx.send(f"You said: {ctx.activity.text}")

app.start()
  • Getting Started — Set up credentials and run your first bot in 5 minutes
  • Setup Guide — Step-by-step setup from zero to working bot
  • Languages — Language-specific guides for .NET, Node.js, and Python
  • Teams Features — Mentions, Adaptive Cards, Suggested Actions, and Typing Indicators
  • Middleware — Extend the turn pipeline with custom middleware
  • Authentication — How the two-auth model works under the hood

API Reference

BotAS — Multi-language Microsoft Teams bot library