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

from signalwire import AgentBase
from signalwire import FunctionResult
agent = AgentBase(name="my-agent", route="/agent")
agent.set_prompt_text("You are a helpful assistant.")
@agent.tool(name="custom_action", description="Process a custom action")
def custom_action(args, raw_data):
return (
FunctionResult("Processing your request.")
.add_action("set_global_data", {"status": "active"})
.add_action("hold", 60)
)
agent.serve()