Publishing ========== Publishing a Voice Agent deploys it to the production infrastructure .. image:: ../images/voice-publish.png :alt: Voice Agent publish flow — validate, review, publish :align: center :width: 100% | so it can handle real calls. The publish workflow uses a review gate — an agent must be validated and approved before it can go live. Publish Workflow ---------------- The workflow has four stages: 1. **Edit** — the agent is in edit mode (locked to the current user). Configuration changes can be saved freely. 2. **Validate** — the agent is validated to confirm all required fields are present and the configuration is consistent. 3. **Mark for Review** — after a passing validation, submit the agent for approval. The agent moves to *Pending Approval* status and becomes read-only. 4. **Approve / Reject** — a user with approval permissions reviews the agent and either approves (creating a new version and publishing) or rejects (returning it to edit mode with an optional comment). Accessing the Publish Controls ------------------------------- Click the **Publish** button (rocket icon) in the header toolbar. A popover opens with the current status and available actions. The Publish button is disabled when: * The canvas is in read-only mode (not in edit mode) * Another user holds the edit lock * You are viewing a historical version Step 1: Enable Edit Mode ------------------------ Click the **Edit Mode** toggle in the header to take the edit lock. The header updates to show your name as the current editor. Step 2: Validate ---------------- In the Publish popover, click **Validate**. The platform checks: * All required configuration fields are filled * The Twilio phone number is present * The STT and TTS providers have their required credentials * The LLM configuration is complete If validation passes, a green checkmark with a timestamp appears. If it fails, an error toast lists the specific issues to resolve. Step 3: Mark for Review ----------------------- After a successful validation, click **Mark for Review**. The agent status changes to *Pending Approval* and the form becomes read-only. A notification is sent to workspace users with approval permissions. Step 4: Approve or Reject -------------------------- A user with the **Approve Voice Agents** permission sees **Approve** and **Reject** buttons in the Publish popover. * **Approve** — marks the agent as approved, creates a new version snapshot, and publishes to EKS. The version appears in the version history dropdown. * **Reject** — returns the agent to *Available* (edit mode). An optional review comment can be added and is displayed to the agent owner. Publishing to EKS ----------------- After approval, click **Publish → EKS** to deploy the agent to the Kubernetes cluster. A toast confirms success or reports an error. Once published, the agent is live and will handle calls routed to its configured phone number. Phone Number Setup ------------------ For an inbound agent, configure your Twilio phone number's **Voice webhook** to point at the platform's inbound call endpoint. The endpoint URL is available in the **API Access** tab. For an outbound agent, the platform dials numbers from a contact list uploaded via the **Schedule** tab. No webhook configuration is required for outbound. Versioning ---------- Every approval creates a new numbered version (e.g. **v1.0**, **v2.0**). The version dropdown in the header lists all approved versions. Selecting a past version loads it in read-only mode. Click **Restore** to copy it back as the working draft.