orange-fireman-69650
03/27/2026, 3:24 PMtall-airline-16756
03/27/2026, 3:24 PMtall-airline-16756
03/27/2026, 3:25 PMagent_name (or similar identifier) for each agent so they can coexist in the same project and repository.
• Configure dispatch rules to send work to the correct agent based on name, intent, or other criteria.
• Starter repos (for example the agent-starter-python / agent-starter-node examples) are designed to support multiple agents from one codebase.
When you might want separate projects or repos
• Isolate environments (dev, staging, prod) using separate LiveKit projects — this is recommended for safety and testing.
• If different teams manage agents with different deployment pipelines, you may prefer separate repositories for organizational or security reasons.
Tips for development
• Use environment variables (for example a LIVEKIT_AGENT_SUFFIX) to avoid naming conflicts between developer instances (e.g., my-agent-jack, my-agent-jill).
• Use console/local modes when iterating so developers can test agents without connecting to shared LiveKit infrastructure.
If you want, tell me:
• How many agents you plan to run and whether they will be managed by the same team or different teams.
• Whether you need separate dev/staging/prod environments.
I can then recommend a specific repo/project layout and example naming/dispatch rules that match your use case.
Sources: Avoiding crosstalk when multiple developers share a LiveKit project | LiveK... | Voice AI quickstart | LiveKit Documentation | Self-hosted deployments | LiveKit Documentation | Examples | livekit/livekit_composite | DeepWiki | Structuring development and test environments | LiveKit, with interactive elementsorange-fireman-69650
03/27/2026, 3:26 PMtall-airline-16756
03/27/2026, 3:27 PMinbound-support-agent, billing-agent). When an agent has a specific agent_name, it will not receive automatic dispatches — it must be explicitly dispatched.
• Deploy each agent separately in LiveKit Cloud using the agent name. For example, use the LiveKit CLI to create deployments tied to each agent_name.
• Use explicit dispatch to route rooms/sessions to the correct agent:
◦ Create an agent dispatch via the API with the target agent_name.
◦ Generate participant tokens that include the agent_name (RoomAgentDispatch) so joining participants go to the intended agent.
◦ Or use the CLI (for example: lk dispatch create --agent-name <name> --room <room>) or room configuration (e.g., roomConfig.agents) for SIP/automated routing.
How scaling and availability work
• You can run multiple instances of the same named agent; LiveKit will load balance across them for availability and scale.
• Each distinct agent type stays independently deployable and rollbackable, so you can update one agent without impacting others.
When you might prefer separate projects/repos
• Use separate LiveKit projects to isolate environments (dev/staging/prod) — this is recommended for safety/testing.
• You may still choose separate repositories if different teams need isolated CI/CD pipelines or strict repo-level controls.
Practical tips
• Use environment variables (for example a LIVEKIT_AGENT_SUFFIX) during development to avoid name collisions between developer instances.
• Use the console/local mode to test agents without touching production LiveKit resources.
• Name and dispatch rules should reflect the routing logic you want (by intent, skill, language, etc.) to keep routing simple.
If you want, tell me:
• The number and types of agents you plan to run.
• Whether you need per-environment isolation (dev/staging/prod).
• Your preferred dispatch method (API token, CLI, or room config).
I’ll give you a concrete example of commands and token payloads to deploy and dispatch your agents based on your answers.
Sources: Why do jobs stop after agent rejection? | LiveKit | Agent dispatch | LiveKit Documentation | Pricing | LiveKit | Google AI and LiveKit | LiveKit Documentation | Avoiding crosstalk when multiple developers share a LiveKit project | LiveK..., with interactive elements