Microsoft Teams Bot Development
Teams bots serve the same purposes as Slack bots and are deployed quite differently. The technical work is comparable; the part that determines your timeline is getting the app approved and deployed in your tenant.
Discuss your projectDeployment is the long pole, not development
A Teams app is packaged with a manifest and installed into your tenant, and in most organisations that means an approval process. The app's requested Graph permissions are reviewed, admin consent is granted by someone in IT, and the app is published to your tenant's app catalogue — after which it may need to be made available to specific teams or users through an app setup policy.
None of that is difficult and all of it takes calendar time in an organisation of any size, particularly where the permissions requested touch mail, files or user data. We have seen the development finish in three weeks and the deployment take six, which is avoidable if the conversation with IT starts at the beginning rather than at the end.
So we request the minimum Graph scopes the bot actually needs, document exactly what each one is for in a form your IT function can assess, and start that conversation during the build. A narrow permission set is the single biggest factor in how quickly a Teams app gets approved.
What we build
Knowledge assistants over Microsoft 365
Answering from SharePoint and OneDrive with permissions honoured at retrieval, which is the natural fit in a Microsoft-centric organisation.
System lookups
Customer, order, ticket or account detail brought into Teams, so people stop switching between applications to answer a question.
Approvals with an audit trail
Adaptive Cards with action buttons, writing the decision and the approver back to your system of record.
Proactive notifications
The bot messaging a person or channel when something needs attention, which requires the conversation reference to be stored when the app is installed — a detail easily missed that makes notifications impossible later.
Tabs and personal apps
A full interface inside Teams where a dashboard or a list of pending items is more useful than a chat exchange.
Meeting extensions
Where there is something genuinely useful to surface during or after a meeting rather than for its own sake.
Message extensions
Searching your systems from the compose box and inserting a result into a message, which is the most-used capability in practice.
Technical specifics
- Bot Framework with the Teams SDK, hosted on Azure where your organisation prefers to keep everything in one tenant — which most Microsoft-centric IT functions do.
- Adaptive Cards for structured output. They are more capable than Slack's Block Kit in some ways and more finicky, and version support differs between Teams clients, so cards are tested on desktop, web and mobile.
- Single sign-on through Entra ID, so the bot knows who it is talking to without a separate login — which is also what makes permission-aware answers possible.
- Conversation references stored on install, so proactive messaging works. Without this the bot can only ever reply, never initiate.
- Minimum Graph scopes, documented per scope for your IT review.
- Answers from restricted sources returned privately rather than posted into a channel, for the same reason as in Slack: a correctly-filtered retrieval becomes a leak if the reply is visible to the whole channel.
Common questions
Related in AI Chatbot Development
Tell us what you need
Describe the problem and we will come back with scope, timeline, and a rate. No obligation to proceed.
Get in touch