set_metadata

View as MarkdownOpen in Claude

Set function-scoped metadata. Metadata is scoped to the current function’s meta_data_token, so each function maintains its own independent metadata store.

Parameters

data
dict[str, Any]Required

Dictionary of key-value pairs to store as metadata.

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="track_usage", description="Track user activity")
def track_usage(args, raw_data):
return (
FunctionResult("Usage tracked.")
.set_metadata({
"last_action": "search",
"timestamp": "2024-01-15T10:30:00Z",
"user_id": args.get("user_id")
})
)
agent.serve()