register

View as MarkdownOpen in Claude

Register an AgentBase instance at a URL route on the server. The agent’s FastAPI router is mounted at the specified prefix so all of its endpoints (SWML, SWAIG, debug, post-prompt) become available under that path.

Registering a duplicate route raises ValueError. Each route can only host one agent.

Parameters

agent
AgentBaseRequired

The agent instance to register. Must be an AgentBase subclass.

route
str | NoneDefaults to None

URL path prefix for this agent (e.g., "/sales"). If omitted, the agent’s own route property is used. Leading slashes are added and trailing slashes are stripped automatically.

Returns

None

Example

from signalwire import AgentServer
from signalwire import AgentBase
class SalesAgent(AgentBase):
def __init__(self):
super().__init__(name="sales-agent", route="/sales")
self.prompt_add_section("Role", "You are a sales rep.")
server = AgentServer(port=3000)
server.register(SalesAgent(), "/sales")
server.run()