You're asking whether a sandbox/preview agent is an exact replica of a production agent, and what the CI/CD path is from sandbox to production — here's the concise answer.
• Sandbox/preview agent behavior
◦ Every agent created with the Agent Builder is a real, fully functional LiveKit Agent running on LiveKit Cloud (same voice pipeline, phone number integration, observability, and client SDKs).
◦ The preview session used while building is running on that real backend but is intended for development: it uses your project's Inference credits and preview sessions do not appear in Agent Observability or usage metrics.
• Is the sandbox an exact replica of production?
◦ Functionally yes: the agent runs the same production-grade runtime and features.
◦ Practically there is a distinction: preview sessions are isolated for development (they don’t appear in observability/usage). Full production behavior (visible sessions/metrics, routing for live users) occurs after deployment.
• CI/CD / deployment workflow
a. Build and test in the Agent Builder using preview mode.
b. To make an agent live, click “Deploy agent” in the Agent Builder — this makes it a full production instance.
c. Optionally download the agent code (ZIP) from Agent Builder to get a complete Python project.
d. Move to code-based deployment and use the LiveKit CLI (
lk agent deploy
) so you can integrate the agent into your version control and standard CI/CD pipelines.
e. For code-deployed agents on paid plans you can update with
lk agent deploy
and revert with
lk agent rollback
(rolling updates / rollback support).
If you want, I can:
• Walk through exporting the agent code and a sample GitHub Actions or other CI/CD pipeline for deploys, or
• Explain differences you should watch for when promoting changes (e.g., observability, credentials, phone number config). Which would you prefer? Sources:
LiveKit Blog |
https://blog.livekit.io/announcing-agent-builder-a-pathway-to-code/#/portal| |
Announcing Agent Builder: A Pathway to Code |
LiveKit Blog |
Agent Builder | LiveKit docs