An Azure service that provides an integrated environment for bot development.
Hi Gopinathan , Litika,
This behavior is not caused by Microsoft Teams or the Bot Framework SDK. A 410 Gone response means the image URL is no longer available from the image hosting service itself, and Teams is simply showing that result.
When Teams renders an adaptive card, it loads images using Microsoft edge caching and CDN layers. If the image URL points to a resource that later expires, is soft deleted, or is replaced at the origin, Teams may still try to fetch the old URL. When the origin responds with 410 Gone, Teams treats that image as permanently unavailable and stops retrying it. This is why some images load while others fail intermittently.
First, confirm where the 410 is coming from. Open Teams in a browser, open developer tools, go to the network tab, and check the failed image request. You should see that the 410 response is returned by your image host or CDN, not by Teams. If you are using a CDN or reverse proxy, also check its logs for cache purge or eviction activity.
Next, review how the image URLs are generated and stored. Image URLs used in adaptive cards must be stable and long lived. If your system generates temporary URLs, rotates blob IDs, or deletes older images after deployment or cleanup jobs, Teams can still reference those older URLs and receive 410 responses. Make sure images remain available for as long as the card can be viewed in Teams.
Also check any cache or versioning behavior. If you are replacing images during redeployments or purging CDN caches aggressively, Teams may hit a stale cached reference while the origin already removed the file. Keeping older image paths valid or using versioned URLs that never change helps avoid this issue.
If your service is using 410 for temporary failures, that can also cause problems. A 410 response tells clients that a resource is permanently gone. For temporary issues, returning a server error instead is more appropriate. Only return 410 when the image is intentionally and permanently removed.
Microsoft guidance for adaptive cards and bot images is that all image URLs must be publicly accessible and reliably available for rendering across clients. You can review this here: https://learn.microsoft.com/microsoftteams/platform/task-modules-and-cards/cards/cards-reference
In short, the fix is to make sure image URLs are not short lived, not deleted while cards are still active, and not replaced in a way that causes old links to return 410. Once the hosting service consistently returns valid responses for all referenced images, Teams will load them reliably again.
I Hope this helps. Do let me know if you have any further queries.
Thankyou!