API v2/Released Sep 15, 2026

v2.6.15

Status webhooks at your callback URL, and Meet bots that stop waiting forever

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

This release contains breaking changes

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

Scheduled and calendar bots for Google Meet could get stuck on Meet's "you've been waiting a long time" prompt and never ask to join. Status webhooks are also now delivered to the callback URL you set on a bot, even if you never registered a webhook endpoint in the dashboard.

Breaking Changes

  • Zoom credential failures caused by a missing profile scope now return FST_ERR_ZOOM_USER_INFO_FETCH. Creating or updating a Zoom credential could exchange the authorization code successfully and then fail while reading the Zoom profile, and both were reported as FST_ERR_ZOOM_TOKEN_EXCHANGE. Who is affected: integrations that match on FST_ERR_ZOOM_TOKEN_EXCHANGE to detect a failed Zoom connection. What to do: handle the new code as well. The response is still 400, and for Zoom error 4711 the message tells you to add the user:read:user scope and reauthorize. See Zoom credentials.

New Features

  • bot.status_change is delivered to callback_config.url. If you set a callback URL on your bots, live status events now reach it even when your team has never registered a webhook endpoint in the dashboard. bot.completed and bot.failed continue to use the direct callback, so nothing is delivered twice, and endpoints you manage in the dashboard are left alone. See Webhooks.

Improvements

  • A failed transcription reports the provider's actual error — for example a rejected transcription API key — instead of a generic "provider may be unavailable" message on TRANSCRIPTION_FAILED.

Bug Fixes

  • Scheduled and calendar bots for Google Meet no longer get stuck on Meet's "You've been waiting a long time" prompt. They open the meeting at its start time rather than as soon as they are picked up, and answer the prompt by continuing to wait if it appears. Bots dispatched well ahead of the meeting were the ones affected: in one case a self-hosted customer had 1,013 bots hit the prompt in a day, of which 797 never got in. The waiting-room timeout still starts at the meeting's start time.

↩ All releases

On this page