Hooman Labs DocsGuideReference

Call Transfer

This section explains how to configure live call transfers to a human agent. When certain conditions are met during a call, the voice agent can hand over the conversation to a human. Transfers can be based on intent, fallback, user requests, or business logic.

Configure

  1. Navigate: Agents → Select Agent → Edit → Call Transfer.

  2. Toggle to enabled.

Prompt

Describe when your agent should transfer the call. Add clear logic in the prompt field to guide the LLM when to initiate transfer (e.g., "if the user asks to speak with a human, transfer to support").

Transfer message

Enter the message the agent will say before initiating a transfer. This can be fixed or dynamic.

Transfer destination

Type

Description

Phone Number

A valid phone number with country code (eg. +918860886088)

SIP Endpoint

A registered SIP endpoint in following format sip:username@host

Once a call is transferred, the human agent receives it from your number (not the user’s) due to regulatory requirements. To share the user’s number and conversation context with your agent, use the transfer endpoint.

Transfer type

Type

Description

Dynamic

Transfer number or endpoint is decided on the go by LLM. Useful for cases where destination is decided based on result of an API call.

Single Destination

Transfer to a predefined number or SIP endpoint.

Multi Destination

Set up multiple departments (e.g., Sales, Support) and route conversations based on context.
The field ${analysis.results.department} in the post-call object indicates which department the conversation was ultimately routed to.

Pro Tip: Use clear, intuitive naming for departments in multi-destination setup (e.g., sales, support, billing) to make it easier for the LLM.

For every transfer, the agent logs a concise explanation in ${analysis.results.reason}. This helps track why the transfer happened.

Transfer window

Choose when transfers should be allowed:

  • 24-hours: Always allow transfer.

  • Custom: Define allowed time windows per day (e.g., 10:00–18:00 Mon–Sat).

This ensures transfers only occur during business hours or staffing periods.

Agent instructions (Inside vs. Outside Window)

Provide two sets of instructions:

  • Within Transfer Window Instructions: Added to context if call is within allowed hours.

  • Outside Transfer Window Instructions: Added if outside allowed hours.

Only one set of instructions is available to agent at runtime via ${humanContext}. Make sure you reference this in your agent prompt.

Transfer endpoint (optional)

Use this API to send call information to your backend when a transfer happens. This is useful for:

  • Sharing conversation history with the human agent

  • Logging transfer events

  • Triggering workflows in your internal tools

Steps to set up:

  1. Choose HTTP method (POST recommended)

  2. Enter the URL

  3. Add headers (e.g., content-type, auth)

  4. Define the body