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
🎬 Video coming soon
App Extensibility & Store — MS-700 Module 18
App Extensibility & Store — MS-700 Module 18
~8 minFlashcards
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.