Variables
Put these in the agent’s instructions or greeting as{{transfer.rep.name}}, or with a fallback as {{transfer.rep.name|our team}}. A blank value counts as no value. When there is no value and no fallback, the token becomes empty text. Spaces around the fallback are ignored, so {{ transfer.rep.name | our team }} reads “our team”. A fallback cannot contain }.
Values are put in as one line of text: line breaks, other control characters, { and } become spaces. A name taken from a SIP header is cut to 64 characters, and any other value to 200.
For survey question text and Skip when these transfer details are missing, see Survey Agent.
Only
{{transfer.…}} text is replaced. Any other {{…}} text is left as written. Single-brace placeholders such as {name} (see Inject Context) are separate features. In particular {rep_name} in a greeting is the caller’s first name from the Sage 100 integration, not the person who transferred the call: use {{transfer.rep.name}} for that.Where the context comes from
Telzino tries these in order and uses the first that finds a transferring person or queue.1
Trusted SIP headers
The headers you turn on with Trust the Referred-By header, Trust the Diversion header and Trust the History-Info header, checked in the order they were switched on. With more than one on, the settings show that order. Through the API, they are checked in list order.
2
Dialed number map
Your own map from the number the call was sent to, to a rep or queue.
3
NetSapiens lookup
Telzino reads the call records in NetSapiens to find the last transfer, and the transferring user and queue when the call went through one, however long the caller spent with that person: it searches the caller’s calls from the last 24 hours, and if that finds nothing, every call from the last 15 minutes. In our tests the record was readable about 1–2 seconds after the transfer. The lookup stops after at most 8 seconds. A call that was never transferred has no transfer to find, so there it keeps looking for several seconds before giving up. When it fails or gives up, the headers and the map still apply.
4
Unknown
Nothing found. The
transfer.… variables use their fallbacks.transfer.source tells you which one answered:
Settings
All of these are in 04 Transfers, under Transferred-call context, in the Telzino Dashboard (Advanced view) and on the agent’s edit page in the Connect App. They are off by default: an agent without them behaves as before, and a{{transfer.…}} token in its prompt still renders to its fallback. The lookup runs only on inbound phone (SIP) calls; on web widget and outbound calls the variables use their fallbacks, unless another AI agent hands the call over (see Agent-to-agent transfers).
NetSapiens drops Referred-By on the call it creates after a blind transfer, even when the phone sends it, and adds no Diversion or History-Info. On NetSapiens, use the lookup (and the map for exceptions), not headers.
Where you see it
- Call record:
session_data.transfer, withoutani(call recordsession_datais not encrypted, so the caller’s number is left out). See Call Logs. call.completedwebhook:data.transfer, withoutani. The caller’s number is sent asphi.transfer_ani, and only when Webhook PHI allows it. See PHI.
{{transfer.…}} token on its own fills the prompt and greeting with fallbacks but is not recorded. A caller who hangs up while the lookup is still running is still recorded: the call record waits for the lookup to finish.
Timing
The lookup runs in the background from the moment the call reaches the agent. A greeting with a{{transfer.…}} token waits for it for up to 3 seconds, while the call is being answered rather than after, then uses the fallbacks. The agent’s instructions are updated whenever the lookup finishes. A greeting without tokens never waits.
Agent-to-agent transfers
When one AI agent hands the call to another within the same call, the context is carried over. If the first agent’s lookup is still running at that moment, the handoff does not wait for it: the second agent gets the result when the lookup finishes, and its greeting waits for it like a fresh call’s (up to 3 seconds). When there is no context,source is internal.