Vapi · Schema

StopSpeakingPlan

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
numWords number This is the number of words that the customer has to say before the assistant will stop talking. Words like "stop", "actually", "no", etc. will always interrupt immediately regardless of this value. W
voiceSeconds number This is the seconds customer has to speak before the assistant stops talking. This uses the VAD (Voice Activity Detection) spike to determine if the customer has started speaking. Considerations: - A
backoffSeconds number This is the seconds to wait before the assistant will start talking again after being interrupted. Defaults to 1. @default 1
acknowledgementPhrases array These are the phrases that will never interrupt the assistant, even if numWords threshold is met. These are typically acknowledgement or backchanneling phrases.
interruptionPhrases array These are the phrases that will always interrupt the assistant immediately, regardless of numWords. These are typically phrases indicating disagreement or desire to stop.
View JSON Schema on GitHub

JSON Schema

vapi-stopspeakingplan-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/StopSpeakingPlan",
  "title": "StopSpeakingPlan",
  "type": "object",
  "properties": {
    "numWords": {
      "type": "number",
      "description": "This is the number of words that the customer has to say before the assistant will stop talking.\n\nWords like \"stop\", \"actually\", \"no\", etc. will always interrupt immediately regardless of this value.\n\nWords like \"okay\", \"yeah\", \"right\" will never interrupt.\n\nWhen set to 0, `voiceSeconds` is used in addition to the transcriptions to determine the customer has started speaking.\n\nDefaults to 0.\n\n@default 0",
      "minimum": 0,
      "maximum": 10,
      "example": 0
    },
    "voiceSeconds": {
      "type": "number",
      "description": "This is the seconds customer has to speak before the assistant stops talking. This uses the VAD (Voice Activity Detection) spike to determine if the customer has started speaking.\n\nConsiderations:\n- A lower value might be more responsive but could potentially pick up non-speech sounds.\n- A higher value reduces false positives but might slightly delay the detection of speech onset.\n\nThis is only used if `numWords` is set to 0.\n\nDefaults to 0.2\n\n@default 0.2",
      "minimum": 0,
      "maximum": 0.5,
      "example": 0.2
    },
    "backoffSeconds": {
      "type": "number",
      "description": "This is the seconds to wait before the assistant will start talking again after being interrupted.\n\nDefaults to 1.\n\n@default 1",
      "minimum": 0,
      "maximum": 10,
      "example": 1
    },
    "acknowledgementPhrases": {
      "description": "These are the phrases that will never interrupt the assistant, even if numWords threshold is met.\nThese are typically acknowledgement or backchanneling phrases.",
      "example": [
        "i understand",
        "i see",
        "i got it",
        "i hear you",
        "im listening",
        "im with you",
        "right",
        "okay",
        "ok",
        "sure",
        "alright",
        "got it",
        "understood",
        "yeah",
        "yes",
        "uh-huh",
        "mm-hmm",
        "gotcha",
        "mhmm",
        "ah",
        "yeah okay",
        "yeah sure"
      ],
      "default": [
        "i understand",
        "i see",
        "i got it",
        "i hear you",
        "im listening",
        "im with you",
        "right",
        "okay",
        "ok",
        "sure",
        "alright",
        "got it",
        "understood",
        "yeah",
        "yes",
        "uh-huh",
        "mm-hmm",
        "gotcha",
        "mhmm",
        "ah",
        "yeah okay",
        "yeah sure"
      ],
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 240
      }
    },
    "interruptionPhrases": {
      "description": "These are the phrases that will always interrupt the assistant immediately, regardless of numWords.\nThese are typically phrases indicating disagreement or desire to stop.",
      "example": [
        "stop",
        "shut",
        "up",
        "enough",
        "quiet",
        "silence",
        "but",
        "dont",
        "not",
        "no",
        "hold",
        "wait",
        "cut",
        "pause",
        "nope",
        "nah",
        "nevermind",
        "never",
        "bad",
        "actually"
      ],
      "default": [
        "stop",
        "shut",
        "up",
        "enough",
        "quiet",
        "silence",
        "but",
        "dont",
        "not",
        "no",
        "hold",
        "wait",
        "cut",
        "pause",
        "nope",
        "nah",
        "nevermind",
        "never",
        "bad",
        "actually"
      ],
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 240
      }
    }
  }
}