Forum Discussion

Robin_Balzer's avatar
Robin_Balzer
Copper Contributor
Oct 13, 2023

Is it possible to embed Teams within my own website?

Hello,

 

I've been reading through alot of (older) posts but I did not find a final answer to my question.
I am searching for a way to embed a Teams Meeting within my website, e.g. by using an iframe (but if there is another way, I am completely open to use it).

The meeting has been scheduled and the participant (who is external, i.e. has Guest Access I suppose) has to do some auth stuff on my website before he is allowed to join the meeting. I would love to put the meeting in an iframe and have some sort of interaction (e.g. popup for feedback) available on my website. I really want it on my website since I have a server next to it, storing logs of certain participant activities.

In case it's important: The host of the meeting is using a teams client to host/start and interact (via chat/audio/video) with the participants. Only the participants are on my website taking part in the teams meeting (using teams chat/video/audio..).

Is this possible as of today? If not, is there anything like that scheduled as a feature in the future?

I've so far only found guides for the other direction (embed an iframe into a teams app into the teams client or similar) but not for embedded teams meeting in an external (non-teams) website.




 

  • Sayali-MSFT's avatar
    Sayali-MSFT
    Oct 18, 2023

    Robin_Balzer - Yes, you can embed Teams video call into your own external app experience using Azure Communication Services. Azure Communication Services are cloud-based services with REST APIs and client libraries that help you integrate communication into your own custom applications. You can embed generic or Teams-styled React Web components for calling and chat with the help of the UI library.

    Azure Communication Services applications can use public preview functionality to interoperate with Teams and enable your custom application to join Teams meetings anonymously. For example, you can integrate video calling into a mobile banking application and allow end-users to virtually meet with bank employees using Teams.

    You can also integrate Microsoft 365 identity to build external applications that embed video and PSTN calling on behalf of a Teams user. If you've used Skype for Business SDKs in the past, these capabilities as part of Azure Communication Services are recommended as a replacement.

    For more information, see Azure Communication Services and Teams Interop.
    Sample Link-Calling hero sample - An Azure Communication Services sample overview | Microsoft Learn

    • Robin_Balzer's avatar
      Robin_Balzer
      Copper Contributor

      Sayali-MSFT 
      Thanks again for the other reply that solved my initial question!

      Now I want to explore the options I have with a teams app. I found out that I can easily build an app, embed this app in a meeting even for anonymous users. Whenever the host of the meeting now triggers e.g. a survey from said app, all users may fill out that survey.

      For my use case it is not sufficient to have access to the survey results inside teams (as the host). I want to send it to my server by using a http post (or similar). Is that possible? 

      The process inside the meeting step by step:
      - host clicks "show survey" from the app I built
      - (anonymous) participants fill out the survey and submit it
      - the app sends a http post (or similar) to my server endpoint (outside of msft teams) whenever a survey has been completed with its contents and info about the participant.

      Is that possible (without using Azure AD)? Do I need further tools or can a native app already do this? 

      • Sayali-MSFT's avatar
        Sayali-MSFT
        Icon for Microsoft rankMicrosoft

        Robin_Balzer -

        In general, Teams apps can interact with external services and APIs, which would include sending HTTP POST requests.

        To achieve this, you would typically use a bot or a webhook within your app to send the survey data to your server. The bot or webhook would be responsible for gathering the survey responses and then making the HTTP POST request to your server.

        However, there are a few things to note:

        1. Anonymous users in Teams don't have an Azure Active Directory (Azure AD) identity. This means that you won't be able to identify the user who completed the survey based on their Azure AD identity.
        2. Anonymous users can interact with apps in Teams meetings if the user-level permission policy enables the app. They can interact only with the apps that are already available in a meeting but can't acquire and manage such apps.
        3. Anonymous users can't directly use apps in meetings. If an app sends an adaptive card in the chat, anonymous users can interact with the card.
        4. Teams apps for anonymous users are supported in Teams desktop and Teams mobile iOS client only and isn't supported in channel meetings.

        Given these constraints, you would need to design your app in such a way that it can gather the necessary information from anonymous users and send it to your server. This might involve asking the user to provide some identifying information as part of the survey.

        As for whether you need further tools, it would depend on the specifics of your use case and the capabilities of your server. At a minimum, you would need a server that can accept HTTP POST requests and process the data sent by the Teams app.

        For more detailed information on how to build and manage Teams apps, you can refer to the Teams platform documentation.

    • Robin_Balzer's avatar
      Robin_Balzer
      Copper Contributor

      Sayali-MSFT 

      Not yet, I wanted to check whether I can embed the Teams video call on my website first.

      If that is not possible at all I might just read into developing a teams app for my application that my meeting participants can use.

      • Sayali-MSFT's avatar
        Sayali-MSFT
        Icon for Microsoft rankMicrosoft

        Robin_Balzer - Yes, you can embed Teams video call into your own external app experience using Azure Communication Services. Azure Communication Services are cloud-based services with REST APIs and client libraries that help you integrate communication into your own custom applications. You can embed generic or Teams-styled React Web components for calling and chat with the help of the UI library.

        Azure Communication Services applications can use public preview functionality to interoperate with Teams and enable your custom application to join Teams meetings anonymously. For example, you can integrate video calling into a mobile banking application and allow end-users to virtually meet with bank employees using Teams.

        You can also integrate Microsoft 365 identity to build external applications that embed video and PSTN calling on behalf of a Teams user. If you've used Skype for Business SDKs in the past, these capabilities as part of Azure Communication Services are recommended as a replacement.

        For more information, see Azure Communication Services and Teams Interop.
        Sample Link-Calling hero sample - An Azure Communication Services sample overview | Microsoft Learn

Resources