Skip to main content

Quick Apps 2.0 Installation Instructions

Introduction

Quick Apps 2.0 is DIAL's open-source, no-code agent composer. It lets users assemble task-oriented workflows from DIAL agents (DIAL-native applications and AI models) and external integrations (REST APIs, MCP servers), with any tool-calling model registered in DIAL Core acting as the agent orchestrator.

Quick Apps 2.0 has two parts:

  • The runtime — distributed as a standalone service, ai-dial-quickapps-backend — which executes the agent workflow and serves the configuration schema. You deploy it and register it in DIAL Core as a custom application type.
  • The no-code configurator — the editor UI used to create and edit Quick Apps 2.0 instances — which ships as part of DIAL Chat. Its capabilities therefore track the DIAL Chat version, not the backend version; keep DIAL Chat current to get the latest editor features.

Follow this guide to deploy the Quick Apps 2.0 service and wire it into your DIAL installation.

[!NOTE] Quick Apps 2.0 is a schema-rich application: DIAL Core stores the application-type schema and brokers requests, while the agent logic runs in the Quick Apps 2.0 container. The legacy Quick Apps application type is a separate, SaaS-only offering and is not covered here.

Prerequisites

  • Permissions to deploy and configure Helm charts and services within the Kubernetes cluster.
  • DIAL Core 0.41.0 or higher — the minimum version that supports the application-type schema endpoint used below. The dial:applicationTypeRoutes block additionally requires Core from the DIAL 1.44 line (0.44.0+); see Step 3.
  • At least one tool-calling LLM deployment (model or DIAL application) registered in DIAL Core to act as the orchestrator.

Step 1: Update Components

Make sure the following components are at compatible versions. The versions below correspond to DIAL release 1.44 — check the latest release notes for the current stable line.

ComponentVersion
ai-dial-quickapps-backend0.8.0 or higher
DIAL Core0.44.0 (0.41.0 minimum — see Prerequisites)
DIAL Chat0.46.0 or higher

[!NOTE] The Quick Apps 2.0 configurator ships with DIAL Chat, so the DIAL Chat version determines which editor features are available. Upgrade DIAL Chat to get the latest configurator capabilities.

Step 2: Deploy Quick Apps 2.0 with Helm

The image is published to the public GitHub Container Registry at ghcr.io/epam/ai-dial-quickapps-backend. Deploy it with the dial-extension Helm chart:

helm upgrade --install quickapps2 dial/dial-extension -f ./values.yaml --version <chart-version> -n dial
Example values.yaml
# This section is an example. Pin the image tag to a released version.
image:
registry: ghcr.io
repository: epam/ai-dial-quickapps-backend
tag: "0.8.0"
pullPolicy: IfNotPresent

fullnameOverride: quickapps2

ingress:
enabled: false

env:
# URL of the DIAL Core API (only required variable).
DIAL_URL: "http://dial-core.dial.svc.cluster.local"

# Default orchestrator model used when an app manifest omits `orchestrator.deployment`.
# Must be a tool-calling deployment registered in DIAL Core. Also pre-fills new apps in the editor.
DEFAULT_ORCHESTRATOR_DEPLOYMENT_ID: "gpt-5.2-2025-12-11"

[!NOTE] The service listens on port 5000 and is reachable in-cluster at http://quickapps2.dial.svc.cluster.local. DIAL_URL is the only required environment variable; see the full Environment Variables reference.

Step 3: Register the Application Type in DIAL Core

Add the Quick Apps 2.0 application type to the "applicationTypeSchemas" array in the DIAL Core configuration. With this entry, DIAL Core fetches the configuration schema directly from the running service via dial:applicationTypeSchemaEndpoint, so you never have to maintain a static schema by hand.

Replace <quickapps_base_url> with the service base URL from Step 2 (e.g. http://quickapps2.dial.svc.cluster.local):

{
"applicationTypeSchemas": [
{
"dial:applicationTypeDisplayName": "Quick App 2.0",
"dial:appendApplicationPropertiesHeader": false,
"dial:applicationTypeAssistantAttachmentsInRequestSupported": true,
"dial:applicationTypeCompletionEndpoint": "<quickapps_base_url>/openai/deployments/quick_apps2/chat/completions",
"dial:applicationTypeConfigurationEndpoint": "<quickapps_base_url>/openai/deployments/quick_apps2/configuration",
"dial:applicationTypeSchemaEndpoint": "<quickapps_base_url>/v1/configuration-support/application-schema",
"dial:applicationTypeRoutes": {
"configuration_support_read": {
"dial:paths": ["/v1/configuration-support(/[^/]+)*$"],
"dial:methods": ["GET"],
"dial:rewritePath": true,
"dial:permissions": ["WRITE"],
"dial:upstreams": [
{"dial:endpoint": "<quickapps_base_url>"}
]
},
"configuration_support_skill_validate": {
"dial:paths": ["/v1/configuration-support/skills/validate$"],
"dial:methods": ["POST"],
"dial:rewritePath": true,
"dial:permissions": ["WRITE"],
"dial:upstreams": [
{"dial:endpoint": "<quickapps_base_url>"}
],
"dial:attachmentPaths": {
"dial:requestBody": ["@.url"]
}
}
},
"$id": "https://mydial.epam.com/custom_application_schemas/quickapps2",
"$schema": "https://dial.epam.com/application_type_schemas/schema#"
}
]
}

What each field does:

  • dial:applicationTypeCompletionEndpoint — where DIAL Core sends chat completion requests.
  • dial:applicationTypeConfigurationEndpoint — where DIAL Core pulls each app instance's configuration, including starter buttons.
  • dial:applicationTypeSchemaEndpoint — where DIAL Core fetches the live configuration schema that powers the editor UI and validation. This keeps the schema in sync with the deployed service version automatically.
  • dial:applicationTypeRoutes — exposes the service's /v1/configuration-support/* endpoints (used by the editor to list predefined skills, prompts, tool sets and tools) to DIAL clients through DIAL Core. Both entries are WRITE-gated since configuration support is only useful to callers with edit access.
  • $id — the application type's identifier. Use exactly https://mydial.epam.com/custom_application_schemas/quickapps2: DIAL Chat recognizes Quick Apps 2.0 (and opens the 2.0 editor) by this specific id, so it must match.

Step 4: Configure DIAL Core to Include Custom Applications

Set the following DIAL Core environment variable so end-users can create their own Quick Apps 2.0 instances:

aidial.applications.includeCustomApps: "true"

Step 5: DIAL Chat Configuration

Add quick-apps to ENABLED_FEATURES so the Quick Apps 2.0 editor is available in DIAL Chat:

ENABLED_FEATURES: "...,quick-apps"

That is all that is required. DIAL Chat recognizes a Quick Apps 2.0 application — and opens the 2.0 editor for it — by the application type's $id (https://mydial.epam.com/custom_application_schemas/quickapps2, set in Step 3).

[!WARNING] QUICK_APPS_HOST, QUICK_APPS_SCHEMA_ID, and QUICK_APPS_MODEL are legacy settings for the original Quick Apps (1.0) and should be left unset for Quick Apps 2.0. In particular, do not point QUICK_APPS_SCHEMA_ID at the 2.0 id — DIAL Chat would then open the old Quick Apps editor instead of the 2.0 editor. The default orchestrator model for new Quick Apps 2.0 instances comes from the backend schema (DEFAULT_ORCHESTRATOR_DEPLOYMENT_ID, Step 2).