Vapi · Schema

TransferDestinationNumber

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
message object This is spoken to the customer before connecting them to the destination. Usage: - If this is not provided and transfer tool messages is not provided, default is "Transferring the call now". - If set
type string
numberE164CheckEnabled boolean This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it. Use cases: - `false`: To allow non-E164 numbe
number string This is the phone number to transfer the call to.
extension string This is the extension to dial after transferring the call to the `number`.
callerId string This is the caller ID to use when transferring the call to the `number`. Usage: - If not provided, the caller ID will be the number the call is coming **from**. Example: a customer with number +141511
transferPlan object This configures how transfer is executed and the experience of the destination party receiving the call. Defaults to `blind-transfer`. @default `transferPlan.mode='blind-transfer'`
description string This is the description of the destination, used by the AI to choose when and how to transfer the call.
View JSON Schema on GitHub

JSON Schema

vapi-transferdestinationnumber-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TransferDestinationNumber",
  "title": "TransferDestinationNumber",
  "type": "object",
  "properties": {
    "message": {
      "description": "This is spoken to the customer before connecting them to the destination.\n\nUsage:\n- If this is not provided and transfer tool messages is not provided, default is \"Transferring the call now\".\n- If set to \"\", nothing is spoken. This is useful when you want to silently transfer. This is especially useful when transferring between assistants in a squad. In this scenario, you likely also want to set `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message` for the destination assistant.\n\nThis accepts a string or a ToolMessageStart class. Latter is useful if you want to specify multiple messages for different languages through the `contents` field.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "#/components/schemas/CustomMessage"
        }
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "number"
      ]
    },
    "numberE164CheckEnabled": {
      "type": "boolean",
      "description": "This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it.\n\nUse cases:\n- `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`. This is useful for dialing out to non-E164 numbers on your SIP trunks.\n- `true` (default): To allow only E164 numbers like `+14155551234`. This is standard for PSTN calls.\n\nIf `false`, the `number` is still required to only contain alphanumeric characters (regex: `/^\\+?[a-zA-Z0-9]+$/`).\n\n@default true (E164 check is enabled)",
      "default": true
    },
    "number": {
      "type": "string",
      "description": "This is the phone number to transfer the call to.",
      "minLength": 3,
      "maxLength": 40
    },
    "extension": {
      "type": "string",
      "description": "This is the extension to dial after transferring the call to the `number`.",
      "minLength": 1,
      "maxLength": 10
    },
    "callerId": {
      "type": "string",
      "description": "This is the caller ID to use when transferring the call to the `number`.\n\nUsage:\n- If not provided, the caller ID will be the number the call is coming **from**.\n  Example: a customer with number +14151111111 calls in to and the assistant transfers out to +16470000000. +16470000000 will see +14151111111 as the caller.\n  For inbound calls, the caller ID is the customer's number. For outbound calls, the caller ID is the phone number of the assistant.\n- To change this behavior, provide a `callerId`.\n- Set to '{{customer.number}}' to always use the customer's number as the caller ID.\n- Set to '{{phoneNumber.number}}' to always use the phone number of the assistant as the caller ID.\n- Set to any E164 number to always use that number as the caller ID. This needs to be a number that is owned or verified by your Transport provider like Twilio.\n\nFor Twilio, you can read up more here: https://www.twilio.com/docs/voice/twiml/dial#callerid",
      "maxLength": 40
    },
    "transferPlan": {
      "description": "This configures how transfer is executed and the experience of the destination party receiving the call. Defaults to `blind-transfer`.\n\n@default `transferPlan.mode='blind-transfer'`",
      "allOf": [
        {
          "$ref": "#/components/schemas/TransferPlan"
        }
      ]
    },
    "description": {
      "type": "string",
      "description": "This is the description of the destination, used by the AI to choose when and how to transfer the call."
    }
  },
  "required": [
    "type",
    "number"
  ]
}