Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
Hi ryu,
Thank you for posting your question in the Microsoft Q&A forum.
Your custom Microsoft Teams app can work with an internal server only under specific conditions, and in other cases it will not function as expected. Here’s a detailed explanation:
When It Can Work:
- Tab-based apps (personal, channel, or group tabs)
Tabs in Teams are rendered as an<iframe>inside the Teams client (desktop, web, or mobile). The client fetches thecontentUrldirectly from the user’s device, not through Microsoft’s cloud.
Requirements:
- HTTPS mandatory: All URLs must use HTTPS; HTTP is not supported.
- Trusted certificate: Public CA or enterprise CA is fine, but self-signed certificates are not supported.
- Manifest configuration: Internal domain must be listed in
validDomains. - Network accessibility: Users must be on the corporate network or connected via VPN. Remote users without VPN will see a blank tab or error.
When It Will Not Work:
- Bots, messaging extensions, or webhooks
These components rely on callbacks from Microsoft’s cloud services. If your backend is not publicly accessible, these features cannot receive events. - Complex authentication flows
If your app uses cloud-based SSO or token exchange, ensure the internal endpoint supports these flows without breaking inside an iframe.
If you need the app to work for remote users or include bot functionality, Microsoft recommends publishing the internal app securely using Microsoft Entra Application Proxy or a similar reverse proxy solution. This provides:
- A public HTTPS endpoint without opening inbound firewall ports.
- Integration with Entra ID for secure access and SSO.
Official guidance:
- Access Microsoft Entra application proxy apps in Teams
- Publish on-premises apps with Application Proxy
Hope this help.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.