add_action

View as MarkdownOpen in Claude

Append a raw action to the action list. Prefer the named convenience methods (connect(), hangup(), say(), etc.) for common operations.

Parameters

name
strRequired

Action type identifier (e.g., "hold", "hangup", "set_global_data").

data
AnyRequired

Action payload. Can be a string, boolean, dict, or list depending on the action type.

Returns

FunctionResult — self, for chaining.

Example

1from signalwire import AgentBase
2from signalwire import FunctionResult
3
4agent = AgentBase(name="my-agent", route="/agent")
5agent.set_prompt_text("You are a helpful assistant.")
6
7@agent.tool(name="custom_action", description="Process a custom action")
8def custom_action(args, raw_data):
9 return (
10 FunctionResult("Processing your request.")
11 .add_action("set_global_data", {"status": "active"})
12 .add_action("hold", 60)
13 )
14
15agent.serve()