App Extensibility & Store
Teams is an extensible platform β tabs, bots, messaging extensions, and workflows all extend its capabilities. Learn how to manage the Teams store, purchase apps, and upload custom apps.
Extending Teams beyond chat
Teams is like a Swiss Army knife β it starts with a blade (chat) but has tools for every situation.
Tabs are like pinning a webpage inside a channel β a Planner board, a SharePoint list, or a custom dashboard, always one click away. Bots are like helpful assistants β they answer questions, send reminders, or automate tasks. Messaging extensions let you search and share content from other apps right inside a chat. Workflows automate repetitive tasks β βwhen someone posts in this channel, create a Planner task.β
Extensibility options
| Feature | What It Is | User Experience | Example |
|---|---|---|---|
| Tab | Web page embedded in a channel or chat | Click the tab β see content without leaving Teams | Planner board, SharePoint list, Power BI report, custom dashboard |
| Bot | Conversational agent that responds to messages | Chat with the bot in 1:1 or in a channel | T-Bot (Teams help), Polly (polls), custom FAQ bot |
| Messaging extension (search) | Search external data from the compose box | Type a query β see results β insert into message | Search Jira tickets, find documents, look up contacts |
| Messaging extension (action) | Take action on a message | Right-click message β create task, forward to system | Create Planner task from message, report message to compliance |
| Meeting extension | App that enhances meetings | Side panel, shared stage, or pre/post meeting tab | Polls during meetings, collaborative whiteboard, meeting notes |
| Workflow | Power Automate automation triggered by Teams events | Runs in the background automatically | Post in channel β create Planner task, approval flow in chat |
Choosing the right extensibility option
| Scenario | Recommended Option | Why |
|---|---|---|
| Show a live dashboard in a channel | Tab | Always visible, one click away |
| Answer FAQ automatically | Bot | Conversational, handles repetitive questions |
| Search CRM contacts from chat | Messaging extension (search) | Quick lookup without leaving the conversation |
| Create a task from a message | Messaging extension (action) | Right-click β act on the message directly |
| Run polls during meetings | Meeting extension | In-meeting experience for all participants |
| Auto-create ticket when someone posts | Workflow (Power Automate) | Background automation, no user action needed |
Managing the Teams store
Store customization
Teams admin center β Teams apps β Customize store
You can customize what users see in the Teams app store:
- Company logo β brand the store with your organisationβs logo
- Custom background colour β match your brand colours
- Custom text colour β ensure readability
- Featured apps β highlight recommended apps at the top of the store
Purchasing apps
Some Teams apps have paid tiers. Purchasing is managed through the Teams admin center:
- Teams apps β Manage apps β find the app
- View pricing tiers and features
- Purchase licences
- Licences are managed through the Microsoft 365 admin center (billing)
Exam tip: App purchases in Teams go through your organisationβs Microsoft 365 billing. Admins control who can purchase β you can disable store purchases for users and require admin approval.
Custom apps
Uploading custom apps (sideloading)
Custom apps developed by your organisation can be uploaded to Teams:
Method 1: Upload via Teams admin center
- Teams apps β Manage apps β Upload new app
- Upload the app package (.zip file containing the app manifest)
- The app appears in the store for users (based on permission policies)
Method 2: User sideloading
- If enabled in the app setup policy, users can upload custom apps directly
- Teams client β Apps β Manage your apps β Upload a custom app
- Sideloaded apps are only available to the user or team that uploaded them
Method 3: Publish through the org app catalog
- Upload to the org app catalog for organisation-wide distribution
- Requires Teams Administrator or Global Administrator role
Scenario: Kofi manages custom apps at Harbour University
Harbour Universityβs Computer Science department built a custom βLab Bookingβ app for students to reserve computer lab time. Kofi needs to make it available to all students.
Kofiβs approach:
- Reviews the app β checks the app manifest, permissions, and data access
- Uploads to org catalog β Teams admin center β Manage apps β Upload
- Permission policy β adds βLab Bookingβ to the allowed custom apps list for students
- Setup policy β pins βLab Bookingβ to the student app bar for easy discovery
- Disables user sideloading β students canβt upload their own random apps
Result: Every student sees βLab Bookingβ pinned to their Teams app bar. No other custom apps can be uploaded by students.
π¬ Video walkthrough
Flashcards
Knowledge Check
Harbour University wants a live Power BI dashboard showing campus security incidents visible at all times in the security team's General channel. Which extensibility option should Kofi use?
A faculty member at Harbour University wants to upload a custom quiz app they built. Kofi has disabled user sideloading in the app setup policy. What happens?
Youβve completed Domain 2! π All 5 modules covering teams, channels, chats, and apps.
Next up: Meeting Types & Settings β Domain 3 begins with the different meeting types in Teams and how to configure meeting settings including Copilot.