System Error When Send Video URL

Nguyen Trong Thuan 0 Reputation points
2025-12-02T08:10:30.09+00:00

I'm building a Copilot Studio bot integrated with Microsoft Teams.

Everything works fine except when I try to send a video URL (MP4 or HLS .m3u8) as part of a bot response.

Whenever the bot responds with a video URL, Microsoft Teams shows the following error:

Sorry, something unexpected happened.

Error code: SystemError.

Conversation ID: a:17kIo0nfaXYVLI26w6boKCwZ1eZ5JsQ_VRAcawEGmTAJTK230uPqCxMn31eAVVIG1su2cIYzWk1PQYnidDopcPh_Ppm5UNO-n8YkPsUex9f_MhFXPMOQo4MZR-dn4UrOj

Time (UTC): 12/2/2025 7:58:23 AM

What I observed

  • The same message works fine inside the Copilot Studio “Test your copilot” panel (even though the panel cannot play video).
  • Only Microsoft Teams throws the SystemError.
  • If I remove the video URL, the topic runs normally in Teams.
  • The error happens even when:
    • I send a plain text message containing the URL
    • I send an Adaptive Card containing only a button with the URL
    • I send a simple JSON response from a custom action
  • If the URL is a normal HTTPS link (e.g., to an image), it works.
  • The issue triggers only when the URL points to a streaming file or media endpoint (MP4 / M3U8).

My questions

  1. Does Teams or Copilot Studio block certain media URLs for security or sandboxing reasons?
  2. Is there a known limitation with sending HLS (.m3u8) or MP4 URLs through Copilot Studio bots?
  3. Is the SystemError caused by Teams client parsing the message, or by the Copilot Studio runtime?
  4. Is there a recommended way to send video links so that Teams does not throw SystemError?
  5. Where can I find more detailed diagnostic logs for these Teams-side SystemErrors?

Additional context

  • Channel: Microsoft Teams
  • Bot built using Copilot Studio (no Bot Framework code)
  • Triggered inside a topic (“Manage Live Event → Create Replay Link”)
  • The URLs are valid, publicly accessible HLS/MP4 links from a CDN
  • Other Adaptive Cards/custom actions run normally
  • Only video URLs cause the exception

Any guidance or documentation regarding handling media URLs in Copilot Studio/Teams would be greatly appreciated.

User's image

User's image

Microsoft Teams | Development
Microsoft Teams | Development
Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs
{count} votes

2 answers

Sort by: Most helpful
  1. Kudos-Ng 10,385 Reputation points Microsoft External Staff Moderator
    2025-12-02T10:09:26.55+00:00

    Hi Nguyen Trong Thuan,

    Thank you for posting your question in the Microsoft Q&A forum. 

    Please note that our forum is a public platform, and we will modify your question to hide your personal avatar in the description. Kindly ensure that you hide any personal or organizational information the next time you post an error or other details to protect personal data.

    After reviewing the behavior you described, I found that similar issues have been reported in the past when handling video messages in the Teams client. The error often relates to an invalid video card aspect value, and currently, Teams does not fully support video cards in chat scenarios due to limitations around file size and security.

    That said, Microsoft does provide a mechanism to embed audio and video files directly into Adaptive Cards, and supports media files hosted on OneDrive, SharePoint, YouTube, Dailymotion, or Vimeo. You can find full details in this article: https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/media-elements-in-adaptive-cards?tabs=desktop%2Cdeveloper-portal-for-teams.

    From the official samples, the media URLs used are typically shareable HTTPS links rather than direct streaming endpoints (e.g., MP4 or HLS .m3u8). This distinction is important because Teams may fail to render or parse streaming URLs correctly.

    Additionally, in the Teams Admin Center, there is a Video messages option under Messaging > Messaging policies. This setting is usually turned on by default, but it’s worth double-checking to ensure no related configuration has been disabled.

    Finally, you can collect Teams client diagnostic logs for deeper troubleshooting (usually for Microsoft Support). Instructions are available here: Microsoft Teams log files.

    Hope this helps.


    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.

    0 comments No comments

  2. Nguyen Trong Thuan 0 Reputation points
    2025-12-02T14:39:44.4466667+00:00

    Thank you for the clarification.

    I’d like to add a bit more technical context from my testing so far:

    1. Adaptive Card Media element As you mentioned, the media element in Adaptive Cards only works with a limited set of providers (YouTube, OneDrive, SharePoint, Vimeo, Dailymotion). This is documented behavior, and I confirm that it works only for these shareable providers. However, in my chatbot scenario, the media URL is dynamic and is returned from an API call (e.g., a replay URL generated at runtime). The URL cannot be predetermined or uploaded to OneDrive/SharePoint ahead of time, so the Adaptive Card media element is not a viable option.
    2. Streaming URLs vs Static URLs I also confirm that Teams will not render:
      • Direct MP4 URLs served from a CDN
      • HLS links (.m3u8)
      • Internal or external HTTPS links that contain query parameters (?start=xxx&end=xxx)
      Even when the file itself is fully accessible in the browser. In my case, the API returns a dynamic, time-based replay link such as: https://.../abr.m3u8?start=xxxx&end=xxxx&mode=1 Sending this URL inside a Copilot Studio bot immediately results in the error: SystemError – Something unexpected happened
    3. Adaptive Card fallback (Action.OpenUrl) Even when wrapped in a simple Action.OpenUrl button, Teams still rejects the message when the URL is a streaming endpoint or contains certain patterns. The same card works if I replace the URL with a static non-media link.
    4. Behavior inside Copilot Studio The exact same message works inside the Copilot Studio “Test your copilot” sandbox, which suggests that the error is triggered by the Teams client parser rather than the Copilot runtime.
    5. Question Given that the media URLs in my use case are dynamic and not hosted on OneDrive/SharePoint/YouTube, is there any officially supported way to send such URLs through a Teams-integrated Copilot bot without triggering the SystemError client-side? Alternatively, is there any documented restriction on what URL patterns Teams is allowed to accept inside bot messages or Adaptive Cards?

    I appreciate your help in clarifying this, as it seems to be a limitation specific to the Teams client

    rather than the Adaptive Card schema itself.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.