---
title: "Bot utterance"
method: POST
path: "speaking_bot.utterance"
tags: ["events"]
---

# Bot utterance

`POST speaking_bot.utterance` (webhook)

The bot finished saying something.

One event per spoken turn, including the entry message and anything
relayed from the owner. `data.text` is what went to text-to-speech.

Delivered as an HTTP POST to the bot's `callback_url`, with the event name in the `x-speaking-bot-event` header and, when the bot was created with a `callback_secret`, `x-speaking-bot-signature: sha256=<hex>`: the HMAC-SHA256 of the exact request body with that secret. Answer with any 2xx. Network errors and 5xx are retried three times (after 1, 3 and 9 seconds); a redirect counts as a failed delivery and is not followed.

## Payload

- UtteranceEvent: ``speaking_bot.utterance``: the bot finished saying something.
  - `event_id` string, required: Unique per delivery; use it to drop duplicates
  - `bot_id` string, required: The MeetingBaas bot ID returned by POST /bots
  - `client_id` string, required: The server's internal ID for the bot
  - `created_at` string, date-time, required: When the event was produced, ISO 8601 with offset
  - `event` 'speaking_bot.utterance', required
  - `data` UtteranceEventData, required
    - `text` string, required: What the bot said, as sent to text-to-speech
    - `started_at` number, required: Unix timestamp when the bot started speaking
    - `ended_at` number, required: Unix timestamp when it finished

## Acknowledgement `200`

Received. Any 2xx counts as delivered.

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/meeting-baas/apis/meeting-baas-api.md) - [All operations](https://skmtc.dev/meeting-baas/apis/meeting-baas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/meeting-baas/apis/meeting-baas-api/revisions/1a4957849576?raw)
