Vapi · Schema

TransferAssistantModel

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
provider string The model provider for the transfer assistant
model string The model name - must be compatible with the selected provider
messages array These are the messages used to configure the transfer assistant. @default: ``` [ { role: 'system', content: 'You are a transfer assistant designed to facilitate call transfers. Your core responsibilit
tools array Tools available to the transfer assistant during warm-transfer-experimental. **Default Behavior:** The transfer assistant will ALWAYS have both `transferSuccessful` and `transferCancel` tools automati
View JSON Schema on GitHub

JSON Schema

vapi-transferassistantmodel-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TransferAssistantModel",
  "title": "TransferAssistantModel",
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "The model provider for the transfer assistant",
      "enum": [
        "openai",
        "anthropic",
        "google",
        "custom-llm"
      ]
    },
    "model": {
      "type": "string",
      "description": "The model name - must be compatible with the selected provider",
      "example": "gpt-4o"
    },
    "messages": {
      "type": "array",
      "description": "These are the messages used to configure the transfer assistant.\n\n@default: ```\n[\n  {\n    role: 'system',\n    content: 'You are a transfer assistant designed to facilitate call transfers. Your core responsibility is to manage the transfer process efficiently.\\n\\n## Core Responsibility\\n- Facilitate the transfer process by using transferSuccessful or transferCancel tools appropriately\\n\\n## When to Respond\\n- Answer questions about the transfer process or provide summaries when specifically asked by the operator\\n- Respond to direct questions about the current transfer situation\\n\\n## What to Avoid\\n- Do not discuss topics unrelated to the transfer\\n- Do not engage in general conversation\\n- Keep all interactions focused on facilitating the transfer\\n\\n## Transfer Tools\\n- Use transferSuccessful when the transfer should proceed\\n- Use transferCancel when the transfer cannot be completed\\n\\nStay focused on your core responsibility of facilitating transfers.'\n  }\n]```\n\n**Default Behavior:** If you don't provide any messages or don't include a system message as the first message, the default system message above will be automatically added.\n\n**Override Default:** To replace the default system message, provide your own system message as the first message in the array.\n\n**Add Context:** You can provide additional messages (user, assistant, etc.) to add context while keeping the default system message, or combine them with your custom system message."
    },
    "tools": {
      "type": "array",
      "description": "Tools available to the transfer assistant during warm-transfer-experimental.\n\n**Default Behavior:** The transfer assistant will ALWAYS have both `transferSuccessful` and `transferCancel` tools automatically added, regardless of what you provide here.\n\n**Default Tools:**\n- `transferSuccessful`: \"Call this function to confirm the transfer is successful and connect the customer. Use this when you detect a human has answered and is ready to take the call.\"\n- `transferCancel`: \"Call this function to cancel the transfer when no human answers or transfer should not proceed. Use this when you detect voicemail, busy signal, or no answer.\"\n\n**Customization:** You can override the default tools by providing `transferSuccessful` and/or `transferCancel` tools with custom `function` or `messages` configurations.\n\n**Additional Tools:** You can also provide other tools, but the two transfer tools will always be present and available to the assistant."
    }
  },
  "required": [
    "provider",
    "model"
  ]
}