API v2/Released Sep 11, 2026

v2.6.13

Teams bot names validated up front, and a new chat availability event

Breaking
  • 2breaking
  • 1new
  • 2improved
  • 2fixed

This release contains breaking changes

Review the breaking changes before upgrading. See the versioning policy for how they are announced and supported.

Microsoft Teams refuses guest display names containing certain characters, and a bot with such a name sat in the lobby until it timed out. Those names are now rejected when the bot is created, which is a tightening of validation you should check your integration against. A new webhook also tells you whether a bot can use the meeting chat.

Breaking Changes

  • bot_name on Microsoft Teams bots โ€” POST /v2/bots now returns 400 when the name breaks Teams' guest-name rules, and the error names the characters to remove. Teams allows letters, numbers and accents in any script, spaces, and ' โ€™ . _ @ - ยท ใƒป; the name must be 50 characters or fewer, with no leading, trailing or double spaces or periods. Who is affected: any integration sending Teams bots with a name containing characters such as /, (, |, : or &, a name over 50 characters, or double spaces. What to do: sanitise bot_name before sending, or handle the 400. These requests previously succeeded and then failed to get past the Teams join screen, so the bot minutes were spent either way. See Sending a bot.
  • Calendar bots and edited scheduled bots only learn their platform when they are dispatched, so they cannot be rejected at creation. Their disallowed characters are replaced with spaces in the name the bot displays. The stored name, API responses and webhooks still return exactly what you sent.

New Features

  • bot.chat_status webhook. Reports { available, reason } shortly after the bot joins, where reason is one of organizer_disabled, panel_not_attached or send_failed, so you learn that a meeting's chat is unusable while the bot is still in the meeting rather than after it. Bots begin emitting it once the matching bot update ships. See Webhooks.

Improvements

  • A scheduled bot that is picked up late now still joins a meeting in progress, instead of refusing once it is more than fifteen minutes past the start time. It refuses only beyond twelve hours.
  • Zoom bots no longer fall back to joining from a datacenter address, which was the most common trigger for Zoom's anti-bot check. An unpinned residential exit is tried first, and a retry that lands on the same network moves to another region.

Bug Fixes

  • Meetings that attributed every utterance to a single participant are diarized correctly, and several unidentified participants are kept apart instead of being merged into one speaker.
  • Customers running several bots on one shared Teams login no longer see participants from one meeting appear in another meeting's transcript.

โ†ฉ All releases

On this page