Skip to main content
App deployment is the process of moving an application version from development to live environments in a controlled and repeatable manner. It ensures that tested and stable versions of the app are accessible to users in the appropriate environments, such as development, staging, or production.

Deployment Lifecycle

Versioning, environments, and the deployment process are critical to managing application releases:
  1. Create an Application Version - Build and package the app into a deployable, versioned snapshot.
  2. Create an Environment - Isolate configurations to ensure updates and tests don’t impact end users.
  3. Deploy App to an Environment - Release a selected version to a chosen environment.
  4. Access the Deployed App - Via a unique URL or API for integration or user interaction.
┌────────────┐ ┌────────────┐ ┌────────────┐ │ Develop │────▶│ Version │────▶│ Deploy │ └────────────┘ └────────────┘ └────────────┘ │ │ │ ┌────────────────────────┼─────────────────────────┐ │ │ │ │ │ ▼ ▼ ▼ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ Draft │ │ Staging │ │ Production │ │ │ Environment │ │ Environment │ │ Environment │ │ └─────────────┘ └─────────────┘ └─────────────┘
Only authorized users can access version control and environment management features. Refer to Sharing and Permissions for more information on the roles required to make these changes.

App Versioning

The app versioning system manages the entire app lifecycle—including associated AI agents and tools—ensuring version consistency, stable releases, and streamlined deployment across environments. By default, an app is in draft version.

Key Benefits

Enhanced Stability and Consistency
  • Immutable Releases: Once deployed, versions remain unchanged, guaranteeing stability and preventing inconsistencies.
  • Controlled Deployments: Implement updates and new features smoothly without disrupting services.
  • Dependency Protection: Tools linked to active versions can’t be deleted, safeguarding existing deployments.
  • Environment Isolation: Deploy different app versions to separate environments for varied testing and production needs.
Streamlined Management and Tracking
  • Coordinated Agent Management: Maintain system stability by synchronizing multiple AI agents.
  • Version Alignment: Easily track which agent versions are associated with specific app versions.
  • Selective Versioning: Use the precise versions of agents and tools required for each app.
Improved Development and Deployment
  • Draft Testing: Test versions in a draft environment before finalizing them.
  • Rollback Support: Revert to previous versions in a draft state while retaining the complete version history.
  • Pre-Deployment Validation: Automatically verify agents, tools, and configurations before creating a new version.
Security and Control
  • Role-Based Access: Limit version control actions to authorized personnel, enhancing security and governance.

Create an App Version

  1. Go to the Versions page and click + New Version.
  2. Enter the Name and Description. Select the appropriate versions of agents and tools to include. Click Create.
  3. Once created, preview the version to review its configuration and functionality, then Deploy it.

Deploy the App Version

Select the app version and environment from the dropdown, then click Proceed.

Restore to a Version

Restoring a version reverts the current draft to a previously saved state. This action overwrites the entire draft—including all configurations, tools, and agent settings—with those from the selected version. If the restored version contains MCP server configurations, they are automatically applied to the draft. Use this feature to:
  • Revert to a known working state after experimentation.
  • Undo recent changes that introduced errors.
  • Compare previous configurations by restoring and reviewing.
Restoring a version replaces the current draft and cannot be undone. Consider saving your current work as a new version before restoring another.

Delete a Version

Delete an app version to remove it permanently. Before deletion, the Platform performs dependency checks to ensure no linked agents or tools are impacted.

Environments

Environments are isolated deployment targets with their own configurations. The Platform supports multiple environments, allowing independent configuration without affecting app logic. By default, a draft environment exists for development and testing.

Key Benefits

  • Integrated Draft Development: The default “draft” environment is used for initial development and testing.
  • Targeted Version Control: Deploy specific app versions to designated environments.
  • Dedicated Endpoints: Each environment provides a unique URL for testing or integration.
  • Deployment History: View detailed logs of all deployments across environments.
  • Environment Isolation: Each environment maintains separate URL endpoints, independent configuration, its own deployment history, and isolated API keys.

Create an Environment

  1. Go to the Environments page.
  2. Click + New Environment.
  3. Enter the Name, Description, and select the App Version.
  4. Click the Preview icon to review version details.
  5. Click Create.
Once created, the Environments page lists the draft and all created environments.

Manage an Environment

Click an environment to view its details and manage it:
  • Linked App Version: To switch app versions, click Change, select the desired version, and click Deploy.
  • Web Client Details: View the URL generated by the Platform to start interacting with the app.
  • cURL Script: Use the curl script to interact with the app through code. Construct API requests in accordance with the given specifications.
  • Delete Environment: Removes the environment with user confirmation, deactivates endpoints, cleans up configurations, and releases resources. Audit logs and usage statistics are preserved.

Deploying to an Environment

  1. Select Version: Choose which version to deploy.
  2. Choose Environment: Select the target environment.
  3. Deploy: Click Deploy to publish.

Access Methods

Web Widget (Webclient Script)

The Webclient Script provides a simple method for embedding the agentic app within your existing website, giving users a smooth, native experience without redirecting them to another site. Key Features:
  • Single-Script Integration: Integrate the app with one <script> tag.
  • Seamless User Experience: Users interact directly with the app within your website.
  • Customizable Appearance: Configure to match your brand’s look and feel.
  • Session Management: Maintains user context and authentication state between the site and the app.
Steps to access the Webclient Script:
  1. Go to the Environments page of the app.
  2. Select the environment tile for which you want to access the script.
  3. Go to the Embed Code tab.
  4. Copy the provided HTML code and paste it into each page where the chat experience appears. Insert your API key into the code snippet.
<!-- Add to your website -->
<div id="chat-container"></div>
<script src="https://widget.kore.ai/v1/loader.js"
        data-app-id="your-app-id"
        data-container="chat-container">
</script>
Configuration options:
KoreWidget.init({
  appId: 'your-app-id',
  containerId: 'chat-container',
  theme: 'light',  // or 'dark'
  position: 'bottom-right',
  greeting: 'Hi! How can I help you today?'
});
The containerId parameter must match an existing HTML element ID in your webpage. Create a container element (e.g., <div id="container-id"></div>) where the chat widget will appear before initializing the SDK.

API Integration

Direct API access for custom integrations:
# Execute a conversation
curl -X POST https://api.kore.ai/v1/apps/{app_id}/execute \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "What is your return policy?",
    "session_id": "user_session_123",
    "metadata": {
      "user_id": "user_456"
    }
  }'
Response:
{
  "response": "Our return policy allows returns within 30 days...",
  "session_id": "user_session_123",
  "agent": "support_agent",
  "tools_used": ["knowledge_search"],
  "tokens": {
    "input": 45,
    "output": 128
  }
}

API Keys

API keys are required to authenticate requests sent to the agentic app via APIs.

Generating Keys

  1. Navigate to DeployAPI Keys.
  2. Click Generate Key.
  3. Enter a descriptive name and click Generate Key. This creates a unique key — keep it confidential. For security reasons, the key cannot be viewed again once you navigate away from the page.
  4. Copy and store securely.
Name: Production Web App
Key: sk-app-xxxxxxxxxxxxxxxxxxxx

⚠️ This key won't be shown again. Store it securely.

Rollback

Revert to a previous version if issues arise.

Quick Rollback

  1. Navigate to DeployHistory.
  2. Find the previous working version.
  3. Click Rollback.
  4. Confirm the action.

Deployment History

Track all deployments:
┌─────────────────────────────────────────────────────────┐ │ Deployment History - Production │ ├─────────────────────────────────────────────────────────┤ │ Version │ Deployed │ By │ Status │ ├─────────────────────────────────────────────────────────┤ │ 1.2.0 │ 2024-01-15 14:30│ alice@co.com │ ● Active │ │ 1.1.0 │ 2024-01-10 09:15│ bob@co.com │ ○ Previous │ │ 1.0.0 │ 2024-01-05 11:00│ alice@co.com │ ○ Previous │ └─────────────────────────────────────────────────────────┘

Pre-Deployment Checklist

Before deploying to production:
## Configuration
- [ ] All agents tested and configured
- [ ] Tools deployed and tested
- [ ] Knowledge bases connected and indexed
- [ ] Guardrails enabled and configured
- [ ] PII protection configured

## Testing
- [ ] Diagnostics pass with no errors
- [ ] Key user flows tested
- [ ] Edge cases validated
- [ ] Error handling verified

## Security
- [ ] API keys generated
- [ ] Access controls configured
- [ ] Sensitive data protected
- [ ] Rate limits set

## Monitoring
- [ ] Analytics enabled
- [ ] Alerts configured
- [ ] Logging enabled