Skip to Content
    QAFKA
    CTRL K
    CTRL K
    • Introduction
      • Quick Start
      • Configuration
      • React Native Widget
      • Theming
      • Context
      • Navigation
      • External Navigation
      • Handling Tools
      • Voice Chat
      • Sub-Projects
      • Error Handling
      • CLI
      • Dashboard
      • Invitations
      • Settings
        • Project
        • Overview
        • Conversations
        • Chat Test
        • Sub-Projects
        • Analysis
        • Configuration
        • Members
        • Documents
        • Tools
        • Action Logs
        • Navigation Rules
        • External Destinations
        • Chat Theme
        • API Keys
      • API Key Security
    • Introduction
      • Quick Start
      • Configuration
      • React Native Widget
      • Theming
      • Context
      • Navigation
      • External Navigation
      • Handling Tools
      • Voice Chat
      • Sub-Projects
      • Error Handling
      • CLI
      • Dashboard
      • Invitations
      • Settings
        • Project
        • Overview
        • Conversations
        • Chat Test
        • Sub-Projects
        • Analysis
        • Configuration
        • Members
        • Documents
        • Tools
        • Action Logs
        • Navigation Rules
        • External Destinations
        • Chat Theme
        • API Keys
      • API Key Security

    On This Page

    • Inheritance
    • Conversations & Analytics
    • SDK Side
    Question? Give us feedback Edit this page 
    DashboardInside a ProjectSub-Projects

    Sub-Projects

    Sub-projects let one parent project serve multiple tenants from the same SDK install — same API key, but the SDK passes a subProjectId to route to the right child. The classic case is a single mobile app shared across many physical locations (mall apps, multi-brand retail, white-label deployments) where each location needs its own greeting, tools, and conversation history but the codebase is shared.

    Inheritance

    A sub-project inherits everything from the parent unless explicitly overridden — greeting, initial message, critical instructions, tools, theme. Override only what differs. This means adding a new location is usually a matter of creating the sub-project and writing one or two location-specific overrides, rather than re-configuring an entire project.

    Inherited values track the parent live: change the parent’s critical instructions and every non-overriding sub-project picks up the new value on the next message. Overridden values are independent — they stay even if the parent later changes.

    Conversations & Analytics

    Each sub-project has its own conversations and analytics. The parent’s Conversations and Analysis views aggregate across the parent itself plus all sub-projects; the per-sub-project views show only that child’s traffic.

    SDK Side

    The SDK takes subProjectId as a top-level prop on <Qafka /> — not inside context. Routing decisions belong with routing keys, not with runtime metadata. See Sub-Projects guide for the full SDK contract: switching at runtime, identifier conventions, voice limitations, and common patterns.

    Last updated on June 3, 2026
    Chat TestAnalysis

    MIT 2026 QAFKA