Corral
Learn > Documentation

Publishing & Versions

Corral uses a test-then-publish model. You configure and iterate in a test environment, then publish a version to make it live.


How Publishing Works

Test Environment

Every configuration change — intelligence settings, MCP connections, OpenAPI integrations — takes effect immediately in the Build & Test tab. This is your development sandbox. Users don’t see test changes.

Publishing a Version

When you’re ready to go live:

  1. Navigate to the app in the admin console
  2. Go to the Versions tab
  3. Click publish and provide a version string

What Happens on Publish

Publishing triggers a coordinated snapshot:

  1. Validation: The system checks prerequisites — intelligence must be configured, at least one channel must be active
  2. Snapshot: The current test configuration is frozen and copied to a published configuration, linked to the new version
  3. Activation: The published version becomes the live configuration for all production channels (Hub, Teams, widget, API)

Each version is a complete snapshot of the app’s configuration at that point in time.

Permissions

Publishing requires ReadAndPublish permission on the app. See Permissions & Access Control → for the full permission model.


Version History

Every published version is recorded and browsable in the Versions tab, ordered by creation date. This gives you a history of how the app’s configuration has evolved.

This section is a work in progress.


What Gets Versioned

Each publish snapshots:

ComponentWhat’s Captured
Intelligence configurationModel, system prompt, intelligence type settings
MCP connectionsServer URLs, auth, enabled tools
OpenAPI connectionsSpec URLs, enabled operations
Channel configurationTeams, widget, DirectLine settings

Publishing Prerequisites

Before you can publish, the system validates:

  • Intelligence configured — the app must have an intelligence type, model, and system prompt set
  • Channel active — at least one channel must be enabled (DirectLine is always present, so this is effectively always met)

If prerequisites aren’t met, publishing is blocked with an explanation of what’s missing.