Why build a Microsoft Teams app
For organisations on Microsoft 365, Teams is where conversations, meetings and files already live. Apps inside Teams reduce context switching: approvals happen in a chat, alerts arrive in the right channel and internal tools open as a tab without another login.
Teams apps can include bots that chat and send notifications, tabs that show web content, message extensions that search or create records from the compose box, meeting apps and, increasingly, agents that extend Microsoft 365 Copilot. Many are built once and also appear in Outlook and the Microsoft 365 app.
Problems we solve
- Approvals and requests chased by email
- Alerts from business systems that nobody sees
- Internal tools that need yet another login
- Copying information between Teams chats and line-of-business apps
- A Teams app that worked in testing but failed admin review
What’s included
Bots & notifications
Conversational bots and proactive alerts with Adaptive Cards.
Tabs
Internal web apps embedded in Teams with single sign-on.
Message extensions
Search and create CRM, ticket or document records from chats.
Approvals & workflows
Actionable cards that complete tasks without leaving Teams.
Meeting apps
Side panels and stages for collaborative meeting tools.
Copilot agents
Declarative and custom agents grounded in your data.
How we build Teams apps
-
Scenario design1 week
Which tasks move into Teams, for whom, and in which chats or channels.
-
Identity & permissions1 week
Entra ID app registration, SSO and the minimum Graph permissions.
-
Build3–8 weeks
Teams Toolkit project with bots, tabs or extensions and Adaptive Cards.
-
Admin approval & rollout1–2 weeks
Packaging, tenant admin review, policies and staged rollout.
| Component | Good for |
|---|---|
| Bot | Notifications, Q&A, guided requests |
| Tab | Dashboards, forms and full internal apps |
| Message extension | Look up or create records while chatting |
| Adaptive Cards | Approvals and quick actions inside messages |
| Copilot agent | Natural-language access to your systems and documents |
Security, governance and distribution
Teams apps run inside your Microsoft 365 tenant, so security and governance are designed alongside the features. We request the least Microsoft Graph permissions that the scenario needs, use single sign-on through Microsoft Entra ID and keep secrets in Azure Key Vault.
- Private (line-of-business) apps published through your Teams admin centre
- Public apps submitted to the Microsoft commercial marketplace and Teams Store, with Microsoft 365 app certification where needed
- Audit logging of actions taken through the app
- Data stays in your Azure subscription or existing systems
Bots are hosted on Azure Bot Service or your own infrastructure, and the same app package can usually be extended to Outlook and the Microsoft 365 app with little extra work.
Timeline and budget
| Scope | Typical timeline | Typical budget (USD) |
|---|---|---|
| Notification bot or single-tab app | 3–6 weeks | $10k – $30k |
| Multi-feature Teams app with integrations | 2–4 months | $40k – $100k |
Typical ranges to help you plan. Your written estimate comes after a free discovery call.
Teams app or Power Platform?
| Power Automate & Power Apps | Custom Teams app | |
|---|---|---|
| Best for | Simple approvals and forms built by business users | Complex workflows, custom UI and deep integrations |
| Speed to start | Very fast | Weeks |
| Licensing | Premium connectors may need extra licences | Azure hosting costs; no per-user Power licences |
| Maintainability | Can sprawl without governance | Version-controlled code with tests |
| External systems | Limited to available connectors | Any system with an API |
Many organisations use both: Power Platform for simple departmental flows, and a custom Teams app where the workflow is business-critical, needs a polished experience or must integrate with systems that lack connectors.
Choosing the right Teams capability
A Teams app is a package of one or more capabilities described in a manifest. Picking the right combination is the most important design decision, because it determines where users meet the app and how much they need to learn.
| Capability | Where users see it | Best for |
|---|---|---|
| Personal tab | Left-hand app bar | Dashboards and tools a person uses daily |
| Channel or meeting tab | Inside a team channel or meeting | Shared views a group works on together |
| Bot | Chats and channels | Notifications, approvals and simple conversational tasks |
| Message extension | Compose box and message actions | Looking up records or creating items from a message |
| Adaptive Card actions | Inside cards posted to chats | One-click approvals and updates without leaving the conversation |
| Meeting extensions | Meeting stage and side panel | Agendas, polls and shared tools during calls |
Microsoft Graph and identity
Most useful Teams apps read or write Microsoft 365 data — users, calendars, files, chats or SharePoint lists — through Microsoft Graph. Access is granted through an app registration in Microsoft Entra ID with specific permissions, some of which need an administrator’s consent. We separate delegated permissions, used on behalf of the signed-in user, from application permissions used by background services, and request only what each feature requires.
Single sign-on lets the app obtain a token for the user without a second login. On the back end, that token is exchanged for one that can call Graph or your own APIs, so users see their own data with their existing permissions respected.
Adaptive Cards that people actually use
Adaptive Cards are the building block of good Teams experiences: structured messages with buttons, inputs and live data. Well-designed cards replace emails and portal visits with a single click. We keep cards short, put the main action first, update the card in place after someone acts so the chat stays clean, and design for both desktop and mobile Teams.
- One clear primary action per card
- Card updates after an action instead of new messages
- Readable on mobile and in dark theme
- Fallback text for notifications and accessibility
- No sensitive data shown in channel cards visible to everyone
Testing and rollout across the organisation
-
Sideload for development
Developers test in a dedicated tenant or with custom app upload enabled for a small group.
-
Pilot1–3 weeks
A pilot group uses the app in daily work while we gather feedback and fix issues.
-
Admin approval
IT reviews permissions and publishes the app to the organisation’s app catalogue.
-
Rollout
App setup policies can pin the app for selected users or the whole organisation.
Timings above are typical. We also provide administrators with a short document listing permissions, data flows and support contacts, which speeds up internal approval.
Mistakes that slow Teams projects down
- Building a full web app inside a tab when a bot or card would solve the problem in fewer clicks.
- Requesting broad Graph application permissions that security teams will not approve.
- Posting too many notifications, so users mute the app.
- Forgetting guest users and external collaborators who have different access.
- Leaving the app registration secret to expire without monitoring or rotation.
Maintaining a Teams app after launch
Microsoft updates Teams, the Teams JavaScript library and Graph regularly, and occasionally retires older features. A maintenance plan should cover library updates, monitoring of bot and API errors, renewal of app registration secrets or certificates before they expire, and periodic review of permissions as features change. Small, regular updates are far easier for administrators to approve than large, infrequent ones.
Related services
Part of our plugin & extension development services. See also Azure cloud development and AI agent development.
This page is part of Plugin & Extension Development Services — see the full overview for related services, approach and pricing.