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

# Transfer

> Transfer the call to an agent, queue, or external number

The **Transfer** node routes the active call to a human agent, a call queue, an external phone number, or a SIP endpoint.

## Behavior

* Initiates a call transfer to the configured destination
* Waits up to the configured timeout for the transfer to complete
* Emits one of three events based on the outcome
* Optionally records the transferred call and whispers context to the receiving agent

## Configuration

| Parameter        | Type    | Default    | Options / Range                      | Description                                                 |
| ---------------- | ------- | ---------- | ------------------------------------ | ----------------------------------------------------------- |
| `transferType`   | enum    | `"queue"`  | `queue`, `direct`, `external`, `sip` | Destination type                                            |
| `phoneNumber`    | string  | `""`       | —                                    | Target phone number (for `external` transfers)              |
| `sipUri`         | string  | `""`       | —                                    | Target SIP URI (for `sip` transfers)                        |
| `queueName`      | string  | `""`       | —                                    | Target queue name (for `queue` transfers)                   |
| `agentId`        | string  | `""`       | —                                    | Target agent ID (for `direct` transfers)                    |
| `priority`       | enum    | `"normal"` | `low`, `normal`, `high`, `urgent`    | Transfer priority level                                     |
| `timeout`        | number  | `60`       | 10–300                               | Ring timeout in seconds                                     |
| `whisperMessage` | string  | `""`       | —                                    | Message whispered to the agent before connecting the caller |
| `recordCall`     | boolean | `true`     | —                                    | Record the transferred call                                 |

### Transfer types

<CardGroup cols={2}>
  <Card title="Queue" icon="users">
    Route to a named call queue. The call is distributed to the next available agent in the queue based on priority.
  </Card>

  <Card title="Direct" icon="user">
    Transfer directly to a specific agent by ID. Useful for VIP routing or callback scenarios.
  </Card>

  <Card title="External" icon="phone">
    Dial an external phone number. Use for transferring to third-party services or non-agent destinations.
  </Card>

  <Card title="SIP" icon="server">
    Route via SIP URI for enterprise telephony integrations.
  </Card>
</CardGroup>

## Output handles

| Handle         | Description                                                     |
| -------------- | --------------------------------------------------------------- |
| **Successful** | Transfer completed — the caller is connected to the destination |
| **Timeout**    | No answer within the configured timeout                         |
| **Failed**     | Transfer failed (destination unavailable, network error, etc.)  |

## Use cases

<AccordionGroup>
  <Accordion title="Department routing with fallback">
    IVR Menu → Transfer (queue: "sales"). On timeout, transfer to a backup external number. On failure, play an apology and end the call.
  </Accordion>

  <Accordion title="VIP direct transfer">
    Use a Condition node to check a customer tier variable. If VIP, transfer directly to a specific agent with `priority: "urgent"` and a whisper message.
  </Accordion>

  <Accordion title="After-hours forwarding">
    Time Check (Closed) → Transfer (external) to an after-hours answering service.
  </Accordion>
</AccordionGroup>
