Environments in KM (Production vs UAT vs Staging)
Managing multiple environments effectively is the key to a stable and reliable Knowledge Management (KM) strategy. To ensure your bot always provides accurate information, our system follows a Production-First philosophy.
This guide outlines how our three primary environments—UAT, Staging, and Production—interact and how you should manage your data and settings across them.
Environment Overview
Our architecture is designed to keep your lower environments (UAT and Staging) aligned with your "Source of Truth" (Production).
| Environment | Primary Purpose | KM Permissions |
|---|---|---|
| Production | The live "Source of Truth" for your bot. | Full Access. Managed as the master for settings. |
| UAT | Testing new connectors and article flows. | Full Access. Add and test before pushing to Prod. |
| Staging | Development and stability checks. | Read-Only. Integration is mirrored from Production. |
The "Source of Truth" Principle
In this system, data flows downward to maintain parity. What exists in Production—including connectors, articles, and configurations—is replicated to UAT and Staging.
[!IMPORTANT] This replication is not an instant database mirror. It is triggered via KM Sync Workflows (Bulk or Incremental ingestion). This ensures that lower environments stay aligned with the live bot experience.
How Synchronization Works
- Auto-Synchronization from Production: All data ingested into the Production environment—including updates received from connected sources such as SharePoint, ServiceNow, etc and other customer-configured connectors—is automatically synchronized to the UAT and Staging environments. This ensures that users testing in UAT or Staging see the same data as Production, without needing to manually replicate any changes. When no manual modifications are made directly in UAT or Staging, auto-synchronization keeps these environments consistent and up to date with Production at all times.
- Production-First Settings: All core configurations, such as LLM parameters, multilingual support, and search behavior, are managed in Production. Once set, they are copied to UAT and Staging to maintain system-wide consistency.
- Safe Testing in UAT: When new connectors or knowledge articles need to be tested while the Production environment is already live, they can be added directly in UAT rather than making changes in Production. This allows teams to validate new data sources and content in an isolated environment without impacting live users. Any additions made in UAT remain exclusively in the UAT environment—they are not synchronized to Production or Staging. Once testing is complete and the results are validated, the changes can then be promoted to Production.
- UAT to Prod Movement: Once UAT testing is successful, the validated connectors or articles can be promoted to Production using the "Pull from UAT" option. During this process, the tested data is moved from UAT to Production and removed from the UAT environment. As soon as the data is live in Production, it is automatically synchronized back to both UAT and Staging, ensuring all environments remain consistent and up to date.
- Behavior in Staging The Staging environment is always in a disabled state—no additions, modifications, or manual changes are permitted. Staging exclusively receives its data through automatic synchronization from Production. Since the platform operates by connecting to knowledge sources and indexing content automatically, there is no need for manual intervention in Staging. It serves solely as a mirror of the Production environment for reference and validation purposes.
How to Use Each Environment
1. UAT (User Acceptance Testing)
UAT is your sandbox for innovation. This is the only environment where you should experiment with new data sources.
- The Workflow:
- Add a new connector
- Ingest articles
- Test bot responses.
- Next Steps: Once you are satisfied with the performance in UAT, you can pull those connectors into the Production environment.
2. Staging
Staging is primarily a development environment.
- Read-Only: You cannot add or edit connectors/integrations here.
- Stability: Use this environment to see how your production-ready content interacts with the latest code deployments without the risk of configuration drift.
3. Production
This is the heart of your KM stack.
- Management: All global settings and "Source of Truth" reside here.
- Downstream Impact: Remember that changes made here will eventually reflect in UAT and Staging to keep your entire pipeline synchronized.
Best Practices for Success
- Starting Fresh: If no environment is live yet, connectors can be added directly in Production. The data will automatically synchronize across all environments, allowing teams to test and validate in both UAT and Staging as needed.
- Always test in UAT: Never attempt to bypass testing by moving directly to Production. Do not try to test in the Staging environment.
- Testing Strategy: Add a connector in UAT, test it thoroughly and then 'Pull from UAT' to production once satisfied.
- Respect the Hierarchy: Do not attempt to manually "fix" settings in Staging.
- Monitor Sync Logs: Since bulk syncs involve hard-deletes to maintain parity, always review your sync logs to ensure your environment alignment is performing as expected.
Updated 2 days ago
