Skip to main content
Dynamic Routing is a single entry point that intelligently routes user queries to the most appropriate specialized app based on intent. It is powered by DialogGPT, an agentic orchestrator using Retrieval-Augmented Generation (RAG) and LLMs. You configure Dynamic Routing by linking apps through the Automation Node in Flows. This eliminates the need for extensive utterance-based training.

Key Concepts

Autonomy Levels

The Automation Node supports two autonomy levels:
LevelDescription
Orchestrated AutonomyDialogGPT-powered intent detection routes user input to linked apps.
Full AutonomyAgent Platform-powered automation that handles entire flows without predefined paths.

Parent App and Linked Apps

RoleDescription
Parent AppManages its own dialogs, FAQs, and Knowledge Base. Orchestrates linked app dialogs and FAQs using DialogGPT.
Linked AppsApps connected to the parent app. Their dialogs and FAQs are indexed to support intent resolution.
Example: If you link App2, App3, and App4 to App1, App1 becomes the parent app and the others become linked apps. When apps are linked, the parent app generates an index of linked app dialogs and FAQs. Embeddings include metadata: dialog name, description, app name, app description, and fulfillment type.
  • Once apps are linked in the Automation Node, they remain associated across other flows. Each parent app supports only one specific combination of linked apps.
  • Sessions initiated through the parent app include full context for all linked apps. Sessions initiated directly with a linked app are not visible to the parent app.

App Indexes

IndexDescription
Configured App IndexIn-development version. Created when apps are first linked; updated via Sync Updates.
Published App IndexLive, user-facing version. Created when the parent app is published; auto-updated when linked apps are published.

DialogGPT

DialogGPT is the intent detection and conversation management engine. It uses embedding-based retrieval and Generative AI. Capabilities:
  • Training-free intent detection
  • Embedding-based matching of user input to app content
  • LLM-powered identification of fulfillment type (actions, answers, multiple intents, etc.)
  • Automated event handling
  • Intelligent routing to linked apps
  • Disambiguation via clarifying questions

Key Features

FeatureDescription
Multi-app linkingLink multiple apps via the Automation Node with DialogGPT for intent identification.
Content indexingDialog and FAQ chunks from linked apps are indexed in the parent app. Search AI knowledge is supported in the parent app by default.
Embedding-based matchingUser input and app content are converted to embeddings. The platform retrieves top-matching chunks by semantic similarity.
LLM intent resolutionAn LLM resolves shortlisted chunks and determines the winning intent: Intent, Multiple Intents, Answers, FAQs, Conversation Intents, Ambiguous Intents, or Small Talk.
Event handlingDefault event handlers are triggered based on fulfillment type.
DisambiguationClarifying questions are triggered for ambiguous intents.
Simplified trainingNo utterances or invocation phrases needed. Provide complete dialog descriptions for accurate routing.

How Dynamic Routing Works

  1. App Linking and Indexing — When an app is linked, the parent app indexes the linked app’s dialogs and FAQs, along with its own knowledge documents. Indexes include metadata: dialog name, description, app name, app description, and fulfillment type.
  2. User Query Processing — When a user submits a query, DialogGPT converts it to an embedding and compares it against stored embeddings to find the most semantically similar chunks.
  3. Intent Identification — User input and the top-matching chunks are sent to the LLM, which identifies the most appropriate intent.
  4. Fulfillment and Response — Based on the identified intent, Dynamic Routing determines the fulfillment type and responds by:
    • Executing a dialog
    • Providing an answer from FAQs or knowledge documents
    • Handling multiple intents
    • Clarifying ambiguous intents
    • Engaging in small talk

Setup

Prerequisites: Steps:
  1. Go to Flows & Channels > Flows > Start Flows > Welcome Chat Flow and click the Automation Node. Automation Node
  2. In Component Properties, set Autonomy Level to Orchestrated Autonomy.
  3. In Automation AI Options, select Use GenAI to dynamically route to linked apps. If DialogGPT is disabled, follow the on-screen instructions to enable it.
  4. Optionally, configure the Message Prompt.
  5. Click +Link Apps. The list of available apps is displayed. Link Apps
  6. Select the apps and click Save. A success message is displayed.
  7. To link additional apps, click +Link App. To unlink an app, click the unlink icon next to it. Linked Apps Unlink App

Managing App Updates

Publishing Dynamic Routing

Publishing generates two indexes: the Configured App Index and the Published App Index. Keeping both in sync is essential for seamless operation. For background on app statuses, see Publication Statuses.
  • All dialog/FAQ updates and app linking/unlinking must be done in the development version. The published version does not allow changes.
  • The platform uses the parent app’s embedding model to generate indexes for dialogs, FAQs, and search documents.

First-Time Publishing

After linking apps, publish both the linked apps and the parent app. This generates the Published App Index and makes it available to users. Publish linked apps first.

Synchronizing Updates

ScenarioAction Required
Dialog or FAQ added/updated in a linked appClick Sync Updates in the linked app to refresh the Configured App Index. The Published App Index updates automatically when the dialog or FAQ is published.
Dialog or FAQ added/updated in the parent app, or a new app linkedClick Sync Updates in the parent app, then publish the new or updated apps to update the Published App Index.

Best Practices

  • Enable DialogGPT before setting up Dynamic Routing.
  • Publish linked apps before publishing the parent app.
  • Use Sync Updates and re-publish apps after any changes to keep indexes in sync.

FAQs

When do I need to manually trigger Sync Updates? When you create or update dialogs or FAQs, trigger Sync Updates to refresh the configured app index. Then publish the updated app to make changes available to users. Will publishing a dialog automatically update the app index? Publishing a dialog updates only the Published App Index. To update the Configured App Index, use Sync Updates before publishing. How are dialogs and FAQs synchronized between parent and linked apps? When apps are linked, all their dialogs and FAQs are indexed in the configured app index. What happens if I add a new dialog to a linked app? A Sync Updates notification appears in the linked app. Click it to refresh the configured app index. The published index updates automatically once the dialog is published. What is the difference between configured and published indexes?
IndexDescription
Configured App IndexIn-development version. Created when the app is linked.
Published App IndexLive, user-facing version. Created when the parent app is published.
What happens if linked apps are not published during the publish process? A warning is shown. If you proceed, only already-published linked apps are re-indexed.