SwmlTransferSkill
Transfer calls between agents or endpoints using SWML transfer actions. The
skill accepts either a Python-style transfers config (regex pattern →
per-entry config) or a TypeScript-style patterns array of named
destinations. At least one of the two shapes is required — setup() fails
closed otherwise.
Class: SwmlTransferSkill
Tools: transfer_call always; list_transfer_destinations additionally
registered when at least one entry is supplied in patterns.
Env vars: None
Multi-instance: yes — set a distinct tool_name per instance.
transfers
Python-style map of transfer configs keyed by regex pattern (or name). Each
entry includes either url or address (not both), plus optional
message, return_message, post_process, final, and from_addr.
Either transfers or patterns must be provided; both may be combined.
setup() fails closed when neither is configured.
patterns
TypeScript-style array of named transfer patterns. Each object has:
name(string, required) — friendly name for the destination.destination(string, required) — SIP URI, phone number, or agent URL.description(string) — optional human-readable description.message/returnMessage/postProcess/final/fromAddr— optional per-pattern overrides.
allow_arbitrary
Whether to allow transfers to arbitrary destinations not listed in
patterns / transfers. When unset, defaults depend on whether any
patterns are configured.
tool_name
Name of the transfer tool exposed to the AI.
description
Description for the transfer tool shown to the AI.
parameter_name
Name of the parameter that accepts the transfer type.
parameter_description
Description for the transfer-type parameter.
default_message
Message spoken when no pattern matches.
default_post_process
Whether to post-process the default message with the AI.
required_fields
Map of additional fields (name → description) the agent must collect before a transfer.
Regex patterns in transfers are matched case-sensitively. Use character
classes or flags in the source pattern when case-insensitive matching is
needed.