> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.deepgram.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.deepgram.com/_mcp/server.

## Expanded InjectAgentMessage features & new Latency reporting

### InjectAgentMessage: `behavior` field and new `interrupt` mode

The `InjectAgentMessage` message now accepts a `behavior` field that controls how an injected message interacts with any in-progress user or agent turn. The `default` and `queue` behaviors were previously documented; the new `interrupt` behavior is introduced with this release.

- **`default`** — the agent speaks only if neither the user nor the agent is mid-turn. If a turn is in progress, the server replies with `InjectionRefused`. This matches the original `InjectAgentMessage` behavior.
- **`queue`** — the server appends the message after any `ConversationText` that is already queued, without interrupting the current agent turn or the in-flight think response. If nothing is queued, the agent speaks immediately.
- **`interrupt`** (new) — the agent immediately speaks. If the agent was already speaking, it interrupts the current speech and replaces it with the new message. If the user is speaking, the agent interrupts with the new message, but the user's continued speech triggers `UserStartedSpeaking`, which quickly interrupts the agent so the conversation keeps moving forward.

`behavior` is optional and defaults to `default`, so existing integrations are unaffected.

```json
{
  "type": "InjectAgentMessage",
  "behavior": "interrupt",
  "message": "Sorry to cut in — let me correct that."
}
```

For details, see the [Inject Agent documentation](/docs/voice-agent-inject-agent-message).

### Latency reporting

`LatencyReport` provides a detailed LLM, TTS, and end-to-end latency breakdown for each turn, including `ttt_token_latency`, `ttt_text_latency`, `ttt_tool_latency`, `ttt_thinking_latency`, `tts_latency`, and `total_latency`.

The `LatencyReport` server event had previously been available as an experimental feature – it is now fully supported and emitted automatically and no longer requires `experimental: true`.

```json
{
  "type": "LatencyReport",
  "ttt_token_latency": 0.34,
  "tts_latency": 0.18,
  "total_latency": 0.64
}
```

For details, see the [Latency Report documentation](/docs/voice-agent-latency-report).