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

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