Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions fern/call-forwarding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -259,4 +259,50 @@ Here is a full example of a `transferCall` payload using the warm transfer with
}
```

#### 3. Warm Transfer with TwiML

In this mode, Vapi executes TwiML instructions on the destination call leg before connecting the destination number.

* **Configuration:**
* Set the `mode` to `"warm-transfer-with-twiml"`.
* Provide the TwiML instructions in the `twiml` property.
* Supports only `Play`, `Say`, `Gather`, `Hangup`, and `Pause` verbs.
* Maximum TwiML length is 4096 characters.

* **Example:**

```json
"transferPlan": {
"mode": "warm-transfer-with-twiml",
"twiml": "<Say>Hello, transferring a customer to you.</Say><Pause length=\"2\"/><Say>They called about billing questions.</Say>"
}
```


Here is a full example of a `transferCall` payload using the warm transfer with TwiML mode:

```json
{
"type": "transferCall",
"messages": [
{
"type": "request-start",
"content": "I'll transfer you to someone who can help."
}
],
"destinations": [
{
"type": "number",
"number": "+14155551234",
"description": "Transfer to customer support",
"transferPlan": {
"mode": "warm-transfer-with-twiml",
"twiml": "<Say>Hello, this is an incoming call from a customer.</Say><Pause length=\"1\"/><Say>They have questions about their recent order.</Say><Pause length=\"1\"/><Say>Connecting you now.</Say>",
"sipVerb": "refer"
}
}
]
}
```

**Note:** In all warm transfer modes, the `{{transcript}}` variable contains the full transcript of the call and can be used within the `summaryPlan`.
Loading