{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/GoogleModel", "title": "GoogleModel", "type": "object", "properties": { "messages": { "description": "This is the starting state for the conversation.", "type": "array", "items": { "$ref": "#/components/schemas/OpenAIMessage" } }, "tools": { "type": "array", "description": "These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.\n\nBoth `tools` and `toolIds` can be used together.", "items": { "oneOf": [ { "$ref": "#/components/schemas/CreateApiRequestToolDTO", "title": "ApiRequestTool" }, { "$ref": "#/components/schemas/CreateBashToolDTO", "title": "BashTool" }, { "$ref": "#/components/schemas/CreateCodeToolDTO", "title": "CodeTool" }, { "$ref": "#/components/schemas/CreateComputerToolDTO", "title": "ComputerTool" }, { "$ref": "#/components/schemas/CreateDtmfToolDTO", "title": "DtmfTool" }, { "$ref": "#/components/schemas/CreateEndCallToolDTO", "title": "EndCallTool" }, { "$ref": "#/components/schemas/CreateFunctionToolDTO", "title": "FunctionTool" }, { "$ref": "#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO", "title": "GoHighLevelCalendarAvailabilityTool" }, { "$ref": "#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO", "title": "GoHighLevelCalendarEventCreateTool" }, { "$ref": "#/components/schemas/CreateGoHighLevelContactCreateToolDTO", "title": "GoHighLevelContactCreateTool" }, { "$ref": "#/components/schemas/CreateGoHighLevelContactGetToolDTO", "title": "GoHighLevelContactGetTool" }, { "$ref": "#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO", "title": "GoogleCalendarCheckAvailabilityTool" }, { "$ref": "#/components/schemas/CreateGoogleCalendarCreateEventToolDTO", "title": "GoogleCalendarCreateEventTool" }, { "$ref": "#/components/schemas/CreateGoogleSheetsRowAppendToolDTO", "title": "GoogleSheetsRowAppendTool" }, { "$ref": "#/components/schemas/CreateHandoffToolDTO", "title": "HandoffTool" }, { "$ref": "#/components/schemas/CreateMcpToolDTO", "title": "McpTool" }, { "$ref": "#/components/schemas/CreateQueryToolDTO", "title": "QueryTool" }, { "$ref": "#/components/schemas/CreateSlackSendMessageToolDTO", "title": "SlackSendMessageTool" }, { "$ref": "#/components/schemas/CreateSmsToolDTO", "title": "SmsTool" }, { "$ref": "#/components/schemas/CreateTextEditorToolDTO", "title": "TextEditorTool" }, { "$ref": "#/components/schemas/CreateTransferCallToolDTO", "title": "TransferCallTool" }, { "$ref": "#/components/schemas/CreateSipRequestToolDTO", "title": "SipRequestTool" }, { "$ref": "#/components/schemas/CreateVoicemailToolDTO", "title": "VoicemailTool" } ] } }, "toolIds": { "description": "These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", "type": "array", "items": { "type": "string" } }, "knowledgeBase": { "description": "These are the options for the knowledge base.", "oneOf": [ { "$ref": "#/components/schemas/CreateCustomKnowledgeBaseDTO", "title": "Custom" } ] }, "model": { "type": "string", "description": "This is the Google model that will be used.", "enum": [ "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.0-flash-thinking-exp", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash", "gemini-2.0-flash-lite", "gemini-2.0-flash-exp", "gemini-2.0-flash-realtime-exp", "gemini-1.5-flash", "gemini-1.5-flash-002", "gemini-1.5-pro", "gemini-1.5-pro-002", "gemini-1.0-pro" ] }, "provider": { "type": "string", "enum": [ "google" ] }, "realtimeConfig": { "description": "This is the session configuration for the Gemini Flash 2.0 Multimodal Live API.\nOnly applicable if the model `gemini-2.0-flash-realtime-exp` is selected.", "allOf": [ { "$ref": "#/components/schemas/GoogleRealtimeConfig" } ] }, "temperature": { "type": "number", "description": "This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.", "minimum": 0, "maximum": 2 }, "maxTokens": { "type": "number", "description": "This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.", "minimum": 50, "maximum": 10000 }, "emotionRecognitionEnabled": { "type": "boolean", "description": "This determines whether we detect user's emotion while they speak and send it as an additional info to model.\n\nDefault `false` because the model is usually are good at understanding the user's emotion from text.\n\n@default false" }, "numFastTurns": { "type": "number", "description": "This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.\n\nDefault is 0.\n\n@default 0", "minimum": 0 } }, "required": [ "model", "provider" ] }