> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tala-assistant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Transfer

> Transfer a call to another phone number during the conversation

## Overview

The **Transfer** node allows your voice agent to transfer the call to another phone number. This is useful when the agent has qualified the caller and wants to connect them with a human.

<CardGroup cols={2}>
  <Card title="Cold Transfer" icon="bolt">
    Immediate transfer without announcement
  </Card>

  <Card title="Warm Transfer" icon="message">
    Transfer with announcement to the recipient
  </Card>
</CardGroup>

***

## Transfer Types

### Cold Transfer

Cold transfer immediately connects the caller to the destination number.

**How it works:**

1. The agent qualifies the caller
2. The call is transferred instantly
3. The recipient receives the call without prior context

**Use cases:**

* Transfer to a general line
* Redirect to a phone switchboard
* Situations where context isn't needed

### Warm Transfer

Warm transfer allows the agent to introduce the caller to the recipient before connecting both parties.

**How it works:**

1. The agent qualifies the caller
2. The caller is put on hold with music
3. The agent calls the recipient and announces the call
4. The recipient accepts the transfer
5. Both parties are connected

**Use cases:**

* Transfer to a sales rep with briefing
* Connecting with a technical expert
* Situations requiring context

***

## Adding a Transfer Node

### Step 1: Create the Node

In the workflow editor:

1. Click **"Add Node"** in the toolbar
2. Select **"Transfer"**
3. Position the node in your workflow

<Note>
  The Transfer node is a **terminal node** - it cannot have outgoing connections. The call ends (for the agent) after the transfer.
</Note>

### Step 2: Configure the Transfer

Double-click the Transfer node to open the configuration:

| Parameter           | Description                                                 |
| ------------------- | ----------------------------------------------------------- |
| **Name**            | Name to identify this transfer in the workflow              |
| **Transfer Number** | Destination number with country code (e.g., `+33612345678`) |
| **Transfer Type**   | `Cold` (immediate) or `Warm` (with announcement)            |

### Warm Transfer Options

If you choose "Warm Transfer", additional options appear:

| Parameter                | Description                                                              |
| ------------------------ | ------------------------------------------------------------------------ |
| **Announcement Message** | Message the agent will say to the recipient before connecting the caller |
| **Language**             | Voice language for the announcement                                      |

**Available languages:**

* French (France) - `fr-FR`
* English (US) - `en-US`
* English (UK) - `en-GB`

***

## Configuration Examples

### Cold Transfer to Sales

```
Name: Transfer to Sales
Transfer Number: +33140123456
Transfer Type: Cold
```

The caller is immediately connected to the sales department.

### Warm Transfer with Briefing

```
Name: Transfer to Tech Support
Transfer Number: +33612345678
Transfer Type: Warm
Announcement: "Hello, I'm transferring a call from a customer
              who has a billing issue.
              Their name is {{ caller_name }}."
Language: French (France)
```

The agent first calls tech support, announces the context, then connects the caller.

***

## Variables in Announcements

For warm transfers, you can use variables in the announcement message:

| Variable             | Description                  |
| -------------------- | ---------------------------- |
| `{{ caller_name }}`  | Caller's name (if collected) |
| `{{ caller_phone }}` | Caller's phone number        |
| `{{ context }}`      | Conversation summary         |

**Example:**

```
"I'm transferring {{ caller_name }} who wants
 an appointment for {{ context }}."
```

***

## Workflow Architecture

The Transfer node should be connected after an Agent node that qualifies the caller.

```mermaid theme={null}
graph LR
    A[Start Call] --> B[Agent: Qualification]
    B --> C{Qualified?}
    C -->|Yes| D[Transfer: Sales]
    C -->|No| E[End Call]
```

<Warning>
  The Transfer node has **no outgoing connection**. After the transfer, the workflow ends for the agent (the call continues between the caller and recipient).
</Warning>

***

## Best Practices

<Check>
  **Validate the number** - Always use international format with country code (`+33...`).
</Check>

<Check>
  **Test with Looptalk** - Verify that the transfer works before going live.
</Check>

<Check>
  **Plan a fallback** - What happens if the recipient doesn't answer? Add fallback logic in your workflow.
</Check>

<Check>
  **Keep warm transfer brief** - The announcement message should be short and informative (10-20 seconds max).
</Check>

***

## Troubleshooting

### Transfer Fails

**Check:**

* Number format (country code required)
* That the destination number is reachable
* Your telephony provider settings (Telnyx)

### Caller Doesn't Hear Hold Music

For warm transfers, hold music plays while the agent contacts the recipient. If it doesn't work:

* Check your workflow's audio configuration
* Contact support if the issue persists

### Warm Transfer Takes Too Long

The announcement is too long. Reduce the announcement message to the essentials (caller's name + reason for the call).
