{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CallHookCustomerSpeechTimeout",
  "title": "CallHookCustomerSpeechTimeout",
  "type": "object",
  "properties": {
    "on": {
      "type": "string",
      "description": "Must be either \"customer.speech.timeout\" or match the pattern \"customer.speech.timeout[property=value]\"",
      "maxLength": 1000
    },
    "do": {
      "type": "array",
      "description": "This is the set of actions to perform when the hook triggers",
      "items": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SayHookAction",
            "title": "SayHookAction"
          },
          {
            "$ref": "#/components/schemas/ToolCallHookAction",
            "title": "ToolCallHookAction"
          },
          {
            "$ref": "#/components/schemas/MessageAddHookAction",
            "title": "MessageAddHookAction"
          }
        ]
      }
    },
    "options": {
      "description": "This is the set of filters that must match for the hook to trigger",
      "allOf": [
        {
          "$ref": "#/components/schemas/CustomerSpeechTimeoutOptions"
        }
      ]
    },
    "name": {
      "type": "string",
      "description": "This is the name of the hook, it can be set by the user to identify the hook.\nIf no name is provided, the hook will be auto generated as UUID.\n\n@default UUID",
      "maxLength": 1000
    }
  },
  "required": [
    "on",
    "do"
  ]
}