AgentsAgentBase

add_pre_answer_verb

View as MarkdownOpen in Claude

Add a verb to run before the call is answered. Pre-answer verbs execute while the call is still ringing.

Only certain verbs are safe before answering. Using an unsupported verb raises ValueError. Verbs with auto_answer capability (like play and connect) are allowed but should include "auto_answer": False in their config to prevent automatic answering — omitting it logs a warning.

Safe pre-answer verbs: transfer, execute, return, label, goto, request, switch, cond, if, eval, set, unset, hangup, send_sms, sleep, stop_record_call, stop_denoise, stop_tap.

Parameters

verb_name
strRequired

SWML verb name (e.g., "play", "sleep", "request").

config
dict[str, Any]Required

Verb configuration dictionary. See the SWML reference for verb-specific parameters.

Returns

AgentBase — Returns self for method chaining.

Example

1from signalwire import AgentBase
2
3agent = AgentBase(name="support", route="/support")
4agent.set_prompt_text("You are a helpful assistant.")
5agent.add_pre_answer_verb("play", {
6 "urls": ["ring:us"],
7 "auto_answer": False
8})
9agent.serve()