most-lighter-64623
02/22/2026, 9:12 PMtall-airline-16756
02/22/2026, 9:12 PMmost-lighter-64623
02/22/2026, 9:13 PMtall-airline-16756
02/22/2026, 9:13 PMagent_name parameter to your @server.rtc_session decorator. Example:
@server.rtc_session(agent_name="my-telephony-agent")
async def my_agent(ctx: JobContext):
# Your agent logic here
pass
1. Node.js agents
◦ Provide agentName in ServerOptions. Example:
const opts = new ServerOptions({
agentName: "my-telephony-agent"
});
What changes after you set a name
• The agent will no longer be auto-dispatched; it must be explicitly dispatched by name.
• Dispatch can be done via:
◦ The CreateAgentDispatchRequest API
◦ SIP dispatch rules that reference the agent_name
◦ Room token configuration with RoomAgentDispatch
Quick checks if it still doesn’t work
• Confirm the name in your agent code exactly matches the name used by your dispatch rules or API call (case-sensitive).
• Redeploy the agent after changing the configuration so the name takes effect.
• If you use SIP or any automated dispatching layer, update its rules to reference the exact agent_name.
If you'd like, tell me:
• Which runtime you’re using (Python or Node.js),
• The exact name you set (or the code snippet), and
• How you currently dispatch the agent (API, SIP, or room token).
I’ll help verify the configuration and walk through any remaining steps.
Sources: Agents telephony integration | LiveKit Documentation | Agent dispatch | LiveKit Documentation | Agent Builder | LiveKit Documentationtall-airline-16756
02/22/2026, 9:13 PMagent_name (Python or Node.js).
• Help you update dispatch rules (SIP, API, or room token) to reference the exact agent name.
• Suggest checks to verify the agent is being dispatched correctly after redeploying.
Which of those would be most useful right now?most-lighter-64623
02/22/2026, 9:16 PM"I'm using Agent Builder with SIP dispatch rules. My dispatch rule metadata contains JSON (e.g.,This is the critical gap — the agent is being dispatched correctly now, but it's using placeholder values for company_id, tenant_id, caller_phone, etc. because the metadata isn't flowing through. Also worth asking:). In my agent's instructions and HTTP tool configurations, I reference these as{"company_id": "...", "tenant_id": "..."}. How does the agent access dispatch metadata and SIP participant attributes (like{{metadata.company_id}},sip.phoneNumber) in Agent Builder? Are they available as template variables, and if so, what's the syntax?"sip.callID
"Can the agent access room metadata that is updated after the room is created? For example, if my server updates room metadata via the LiveKit API when a SIP participant joins, will the agent see the updated metadata viaThe answer to these two questions will determine our approach: • If Agent Builder can read room metadata updates → We inject caller-specific data from our webhook handler into room metadata, and the agent picks it up automatically • If it can only read dispatch rule metadata → We put the static values (company_id, tenant_id) in the dispatch rule, and add a new HTTP tool likevariables?"{{metadata.*}}
identify_caller that the agent calls first to get the dynamic per-call infotall-airline-16756
02/22/2026, 9:16 PMmost-lighter-64623
02/22/2026, 10:09 PMmost-lighter-64623
02/22/2026, 10:10 PMmost-lighter-64623
02/22/2026, 10:24 PM