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

# Human Transfer Stage

> Escalate calls to human agents

The **Human Transfer** stage connects callers to human agents when AI assistance isn't sufficient. Configure transfer numbers, briefing messages, and availability windows.

## Overview

Human Transfer nodes handle:

* Warm transfers with context briefing
* Business hours enforcement
* Fallback handling when humans unavailable
* Hold messages during transfer

<Info>
  Human Transfer nodes are colored **orange** and are terminal nodes (the AI conversation ends after transfer).
</Info>

## Configuration

### Basic Settings

| Setting              | Description                            |
| -------------------- | -------------------------------------- |
| **Transfer Number**  | Phone number to transfer to (required) |
| **Name**             | Display name for tracking              |
| **Transfer Message** | Message spoken before transfer begins  |
| **Department**       | Category for analytics                 |

```yaml theme={null}
Transfer Number: +1-555-123-4567
Name: "Customer Support"
Transfer Message: "I'm connecting you with a support specialist now. Please hold."
Department: "support"
```

### Briefing Template

Information passed to the human agent before they take the call:

```yaml theme={null}
Briefing Template: |
  Customer Name: {{customer_name}}
  Issue Type: {{issue_type}}
  Order Number: {{order_number}}

  Summary: Customer is calling about a {{issue_type}} for order {{order_number}}.
  They have already verified their identity.

  Key Details:
  - Customer seems {{sentiment}} about the issue
  - Previous attempts to resolve: {{resolution_attempts}}
```

The human agent hears this briefing before being connected to the caller.

### Time Restrictions

Limit transfers to business hours:

```yaml theme={null}
Time Restrictions:
  Timezone: "America/New_York"
  Allowed Days: [Monday, Tuesday, Wednesday, Thursday, Friday]
  Start Time: "09:00"
  End Time: "17:00"
```

When outside business hours, the **Fallback Message** plays instead.

### Fallback Message

Message when transfer isn't available:

```yaml theme={null}
Fallback Message: |
  I'm sorry, our support team is currently unavailable.
  They're available Monday through Friday, 9 AM to 5 PM Eastern.
  Would you like to leave a message, or shall I help with something else?
```

### Hold Messages

Periodic messages while caller waits for transfer:

```yaml theme={null}
Hold Messages:
  - "Thank you for your patience. A representative will be with you shortly."
  - "We appreciate you waiting. Your call is important to us."
  - "A specialist will be with you in just a moment."
```

### Advanced Settings

| Setting                 | Description                                |
| ----------------------- | ------------------------------------------ |
| **Briefing Timeout**    | Seconds to wait for briefing (default: 30) |
| **Supervisor Greeting** | What human agent says when connected       |
| **Enabled**             | Toggle transfer capability                 |
| **Condition**           | Optional trigger condition                 |

## Example Configurations

<AccordionGroup>
  <Accordion title="Standard Support Transfer">
    ```yaml theme={null}
    Transfer Number: +1-555-SUPPORT
    Name: "Customer Support"
    Department: support

    Transfer Message: |
      I'm transferring you to our customer support team now.
      They'll be able to help you further. Please hold.

    Briefing Template: |
      Incoming transfer from AI assistant.
      Customer: {{customer_name}}
      Reason: {{transfer_reason}}
      Summary of conversation: {{conversation_summary}}

    Time Restrictions:
      Timezone: America/New_York
      Days: [Mon, Tue, Wed, Thu, Fri]
      Hours: 09:00 - 17:00

    Fallback Message: |
      Our support team is currently closed.
      Business hours are Monday to Friday, 9 AM to 5 PM Eastern.
      Please call back during business hours, or leave a message
      and we'll return your call.

    Hold Messages:
      - "Your call is being connected. Thank you for waiting."
      - "A support specialist will be with you shortly."
    ```
  </Accordion>

  <Accordion title="VIP/Priority Transfer">
    ```yaml theme={null}
    Transfer Number: +1-555-VIP-LINE
    Name: "VIP Support"
    Department: vip

    Transfer Message: |
      As a valued customer, I'm connecting you directly
      to our priority support line.

    Briefing Template: |
      VIP CUSTOMER TRANSFER
      Account: {{account_number}}
      Customer: {{customer_name}}
      Account Type: Premium
      Issue: {{issue_description}}

      Note: This is a priority account. Handle with care.

    Briefing Timeout: 45
    ```
  </Accordion>

  <Accordion title="Sales Team Transfer">
    ```yaml theme={null}
    Transfer Number: +1-555-SALES
    Name: "Sales Team"
    Department: sales

    Transfer Message: |
      Great! Let me connect you with our sales team
      who can help you get started.

    Briefing Template: |
      Sales Lead Transfer
      Name: {{lead_name}}
      Company: {{company_name}}
      Interest: {{product_interest}}
      Budget Range: {{budget}}

      Lead Score: Hot - ready to purchase

    Time Restrictions:
      Timezone: America/Los_Angeles
      Days: [Mon, Tue, Wed, Thu, Fri]
      Hours: 08:00 - 18:00

    Fallback Message: |
      Our sales team is currently unavailable.
      Would you like me to schedule a callback for tomorrow?
    ```
  </Accordion>
</AccordionGroup>

## Flow Patterns

### Simple Transfer

```
┌─────────────────┐
│  Conversation   │
└────────┬────────┘
         │ "wants human"
         ▼
┌─────────────────┐
│ Human Transfer  │
└─────────────────┘
```

### Transfer with Data Collection

```
┌─────────────────┐
│  Conversation   │
└────────┬────────┘
         │ "needs help"
         ▼
┌─────────────────┐
│ Data Extraction │
│ - name, issue   │
└────────┬────────┘
         │ all_extracted
         ▼
┌─────────────────┐
│ Human Transfer  │
│ (with context)  │
└─────────────────┘
```

### Conditional Transfer

```
┌─────────────────┐
│  Conversation   │
└────────┬────────┘
         │
    ┌────┴────┐
    │ If/Else │
    └────┬────┘
    ┌────┴────┬────────────┐
    │         │            │
    ▼         ▼            ▼
[Support] [Sales]    [Billing]
Transfer  Transfer    Transfer
```

## Best Practices

<CardGroup cols={2}>
  <Card title="Brief Thoroughly" icon="clipboard">
    Include all relevant context in the briefing. Human agents shouldn't have to ask questions the AI already answered.
  </Card>

  <Card title="Set Business Hours" icon="clock">
    Always configure time restrictions. Transfers to closed lines frustrate callers.
  </Card>

  <Card title="Prepare Fallbacks" icon="shield">
    Have a clear path when transfer isn't available: voicemail, callback scheduling, or continued AI assistance.
  </Card>

  <Card title="Keep Hold Messages Fresh" icon="comment">
    Rotate hold messages to reduce perceived wait time.
  </Card>
</CardGroup>

## Related

<CardGroup cols={2}>
  <Card title="Data Extraction" icon="clipboard-list" href="/agent-builder/stages/data-extraction">
    Collect info before transfer
  </Card>

  <Card title="If/Else" icon="code-branch" href="/agent-builder/stages/if-else">
    Route to different transfer destinations
  </Card>

  <Card title="End Call" icon="phone-slash" href="/agent-builder/stages/end-call">
    When transfer isn't the right option
  </Card>
</CardGroup>
