Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

On this pageOverview

Force End Turn

Voice Agent

The ForceEndTurn message is a JSON message that ends the current turn immediately.

Some turn endings are unambiguous and don't require the model to infer them. ForceEndTurn gives your application an explicit override:

  • Push-to-talk release — the user holds a button to speak and releases when done.
  • DTMF tones and IVR events — a keypad press or menu selection ends the turn.
  • UI actions — a "send" button or other application event marks the utterance complete.
  • Your own turn detection — you run a VAD or endpointing stack and want to own turn taking entirely. Pair ForceEndTurn with eot_threshold: 1.0 to suppress natural end-of-turn detection. See Bring Your Own Turn Detection.

To send the ForceEndTurn message, send the following JSON message to the server. The message has no additional fields — it applies to the turn currently in progress.

JSON

JSON
{
  "type": "ForceEndTurn"
}

The agent ends the turn as if end-of-turn had been detected naturally: the ConversationText message for the user turn is sent, followed by AgentThinking and the agent's spoken response.

  • No turn in progress — the message is ignored. No turn ends and no warning is sent.
  • Listen provider is not Deepgram V2 (Flux) — the server sends a FORCE_END_TURN_UNSUPPORTED warning and the turn does not end.
  • Repeated messages — the first ends the turn; later messages arrive with no turn in progress and are ignored.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu