diff --git a/fern/call-forwarding.mdx b/fern/call-forwarding.mdx index 79b1e7a5b..15c141436 100644 --- a/fern/call-forwarding.mdx +++ b/fern/call-forwarding.mdx @@ -362,6 +362,83 @@ Here is a full example of a `transferCall` payload using the warm transfer with } ``` +#### 6. Experimental Warm Transfer + +In this mode, Vapi dials the destination number and places the caller on hold (with a default ringtone). If the destination answers, Vapi connects the calls. If voicemail is detected or the call isn't answered, Vapi plays a fallback message to the caller. + +- **Configuration:** + + - Set the `mode` to `"warm-transfer-experimental"`. + - Provide a `message` to be spoken to the operator when they answer. + - Optionally define a `summaryPlan` that will take precedence over the message if enabled. + - Configure a `fallbackPlan` with a message and whether to end the call if transfer fails. + - When voicemail detection is enabled in the assistant configuration (with either Google or OpenAI provider), it will use that configuration to detect if a human answered the call. Note that only Google or OpenAI providers are supported for voicemail detection with transfer plans, even if the assistant configuration supports other providers like Twilio or Vapi. + +- **Example:** + +```json +"transferPlan": { + "mode": "warm-transfer-experimental", + "message": "Transferring a customer to you.", + "fallbackPlan": { + "message": "Could not transfer your call, goodbye.", + "endCallEnabled": true + }, + "summaryPlan": { + "enabled": true, + "messages": [ + { + "role": "system", + "content": "Please provide a summary of the call." + }, + { + "role": "user", + "content": "Here is the transcript:\n\n{{transcript}}\n\n" + } + ] + } +} +``` + +Here is a full example of a `transferCall` payload using the experimental warm transfer mode: + +```json +{ + "type": "transferCall", + "function": { + "name": "myTransferCall" + }, + "destinations": [ + { + "type": "number", + "number": "+1123456789", + "message": "Transferring the call now...", + "transferPlan": { + "mode": "warm-transfer-experimental", + "message": "Transferring a customer to you.", + "fallbackPlan": { + "message": "Could not transfer your call, goodbye.", + "endCallEnabled": true + }, + "summaryPlan": { + "enabled": true, + "messages": [ + { + "role": "system", + "content": "Please provide a summary of the call." + }, + { + "role": "user", + "content": "Here is the transcript:\n\n{{transcript}}\n\n" + } + ] + } + } + } + ] +} +``` + **Notes:** - In all warm transfer modes, the `{{transcript}}` variable contains the full transcript of the call and can be used within the `summaryPlan`. diff --git a/fern/sdk/mcp-server.mdx b/fern/sdk/mcp-server.mdx index e72e8a587..03619e510 100644 --- a/fern/sdk/mcp-server.mdx +++ b/fern/sdk/mcp-server.mdx @@ -39,6 +39,10 @@ The Vapi MCP Server provides the following tools for integration: - `list_phone_numbers`: Lists all Vapi phone numbers - `get_phone_number`: Gets details of a specific phone number +### Vapi Tools +- `list_tools`: Lists all Vapi tools +- `get_tool`: Gets details of a specific tool + ## Setup Options There are two primary ways to connect to the Vapi MCP Server: