> ## Documentation Index
> Fetch the complete documentation index at: https://docs.navtalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# realtime.response.audio_transcript.done

> Complete text response finished

Triggered when the AI has finished generating the complete text response. Handle this event to save the complete response to conversation history.

## Event Properties

<ResponseField name="type" type="string">
  Event type. Always `"realtime.response.audio_transcript.done"` for this event.
</ResponseField>

<ResponseField name="data" type="object">
  Event data object containing response information.
</ResponseField>

<ResponseField name="data.content" type="string">
  The complete transcribed text of the AI response.

  **Example**: `"Hello there! How can I help you today?"`
</ResponseField>

<ResponseField name="data.transcript" type="string">
  Alternative field name for the complete transcript. May be present for compatibility.

  **Example**: `"Hello there! How can I help you today?"`
</ResponseField>

<ResponseField name="data.id" type="string">
  Unique identifier for this response. Matches the `id` from delta events.

  **Example**: `"resp-123456"`
</ResponseField>

<ResponseExample>
  ```json Example theme={null}
  {
    "type": "realtime.response.audio_transcript.done",
    "data": {
      "content": "Hello there! How can I help you today?",
      "id": "resp-123456"
    }
  }
  ```
</ResponseExample>

## Usage Example

```javascript theme={null}
const NavTalkMessageType = Object.freeze({
    REALTIME_RESPONSE_AUDIO_TRANSCRIPT_DONE: "realtime.response.audio_transcript.done",
    // ... other event types
});

async function handleReceivedMessage(data) {
    const nav_data = data.data;
    
    switch (data.type) {
        case NavTalkMessageType.REALTIME_RESPONSE_AUDIO_TRANSCRIPT_DONE:
            const transcript = nav_data.content;
            console.log("Received transcription: " + transcript);
            
            // Save to history
            await appendRealtimeChatHistory("assistant", transcript);
            break;
    }
}
```
