# Testing, versioning and cloning Omnistudio components

*Omnistudio Developer Study Guide · Omnistudio Fundamentals · Last updated October 27, 2026 · https://www.certifyforce.com/study-guide/omnistudio-developer/omnistudio-fundamentals/testing-versioning-and-cloning-omnistudio-components*

How to test each Omnistudio component with its designer's Preview, test parameters and test data, Apex unit tests and Test Procedures for Integration Procedures, and UTAM for end-to-end UI tests, plus the versioning and cloning rules for Flexcards, Omniscripts, Integration Procedures and Data Mappers.

- Certification: Salesforce Omnistudio Developer
- Exam section: Omnistudio Fundamentals
- Study guide: https://www.certifyforce.com/study-guide/omnistudio-developer

**Official exam objective:**

> Explain testing, versioning, cloning where applicable through Omnistudio components.

## What the exam expects

- Test each component in its designer's Preview with test parameters, input and test data, knowing what each Preview can't do or does for real.
- Unit test Integration Procedures from Apex on the core runtime and with Test Procedures on the Managed Package Runtime, including what must be mocked.
- Choose UTAM for durable end-to-end UI tests.
- Apply versioning and cloning rules for Flexcards, Omniscripts, Integration Procedures and Data Mappers, including Data Mapper Versioning and Clean Metadata version behaviour.

Key terms:
- **Preview**: the designer tab that runs a component with test input and shows its data JSON and action debugger.
- **Test Procedure**: an Integration Procedure that unit tests another component; its transaction rolls back.
- **UTAM**: UI Test Automation Model, a Page Object framework for Omnistudio UI tests.
- **Version**: a copy of a component under the same name, of which only one is active.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Flexcard Preview | Navigate and Omniscript actions don't work | [Preview and Debug a Flexcard](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_a_flexcard_41051.htm&language=en_US&type=5) |
| Data Mapper Preview | Load results are saved permanently | [Preview and Test Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_test_datamappers.htm&language=en_US&type=5) |
| Apex IP tests | seeAllData on @isTest; no HTTP mocking in core runtime | [IP Unit Testing from Apex](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_unit_testing_from_apex_55739.htm&language=en_US&type=5) |
| Test Procedures | Run in IDX Workbench; transaction rolled back | [Test Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_test_proceduresintegration_procedures_for_unit_testing_55410.htm&language=en_US&type=5) |
| Must mock | Docusign Envelope, Email and HTTP Actions | [Test Procedures](https://help.salesforce.com/s/articleView?id=xcloud.os_test_proceduresintegration_procedures_for_unit_testing_55410.htm&language=en_US&type=5) |
| Flexcard versions | One active at a time; activating one deactivates the others | [Clone or Create a New Version](https://help.salesforce.com/s/articleView?id=xcloud.os_flexcards_versioning_and_cloning_42243.htm&language=en_US&type=5) |
| IP versions | A new version doesn't affect the calling tool | [Configure Your Integration Procedure](https://trailhead.salesforce.com/content/learn/modules/omnistudio-integration-procedure-fundamentals/configure-your-integration-procedure) |
| Data Mapper Versioning | Per the Versioning page: existing become version 1; can't be disabled; "No active version" error. The [Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_dataraptor_best_practices_47412.htm&type=5) page differs after 242.8 | [Data Mapper Versioning](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_enable_dataraptor_versioning.htm&language=en_US&type=5) |

## Check yourself

- Why does an Apex unit test of an Integration Procedure need seeAllData=true?
- When does a Test Procedure require you to mock an action?
- Which Flexcard option creates a separate card with the same layout instead of a new version?
- Why should you create a new version before opening an activated component in the standard designer?

## Sources

- [Preview and Debug a Flexcard](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_a_flexcard_41051.htm&language=en_US&type=5)
- [Preview and Test an Omniscript](https://help.salesforce.com/s/articleView?id=sf.os_preview_an_omniscript_8849.htm&language=en_US&type=5)
- [Preview and Test Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_test_datamappers.htm&language=en_US&type=5)
- [Integration Procedure Unit Testing from Apex](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_unit_testing_from_apex_55739.htm&language=en_US&type=5)
- [Test Procedures: Integration Procedures for Unit Testing](https://help.salesforce.com/s/articleView?id=xcloud.os_test_proceduresintegration_procedures_for_unit_testing_55410.htm&language=en_US&type=5)
- [Automated Testing with UTAM for Omnistudio](https://help.salesforce.com/s/articleView?id=xcloud.os_utam_flexcards_omniscripts.htm&language=en_US&type=5)
- [Conduct End-to-End Testing for Salesforce Omnistudio-based UIs](https://developer.salesforce.com/blogs/2026/05/conduct-end-to-end-testing-for-salesforce-omnistudio-based-uis)
- [Clone a Flexcard or Create a New Version](https://help.salesforce.com/s/articleView?id=xcloud.os_flexcards_versioning_and_cloning_42243.htm&language=en_US&type=5)
- [Activate and Publish a Flexcard](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_activateconfigureand_publish_flexcards_24744.htm&type=5)
- [Best Practices for Using the Omnistudio Standard Designer](https://help.salesforce.com/s/articleView?id=xcloud.os_best_practices_for_using_the_omnistudio_standard_designer.htm&language=en_US&type=5)
- [Configure Your Integration Procedure](https://trailhead.salesforce.com/content/learn/modules/omnistudio-integration-procedure-fundamentals/configure-your-integration-procedure)
- [Enable Omnistudio Data Mapper Versioning](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_enable_dataraptor_versioning.htm&language=en_US&type=5)
- [Omnistudio Data Mapper Best Practices](https://help.salesforce.com/s/articleView?language=en_US&id=xcloud.os_dataraptor_best_practices_47412.htm&type=5)
- [Omnistudio Clean Metadata Frequently Asked Questions](https://help.salesforce.com/s/articleView?id=xcloud.os_clean_metadata_deployment_faqs.htm&language=en_US&type=5)
- [What's New in Salesforce Omnistudio Standard Designers](https://developer.salesforce.com/blogs/2026/03/whats-new-in-salesforce-omnistudio-standard-designers)
- [Create an Omniscript](https://help.salesforce.com/s/articleView?id=xcloud.os_create_an_omniscript_8570.htm&language=en_US&type=5)
- [Differences Between Omnistudio and Omnistudio for Managed Packages](https://help.salesforce.com/s/articleView?id=sf.os_differences_between_omnistudio_and_omnistudio_for_vlocity.htm&language=en_US&type=5)
- [View, Modify, and Enable Fast Activation on Omnistudio Content](https://help.salesforce.com/s/articleView?id=xcloud.os_enable_fast_activation_on_omnistudio_content.htm&language=en_US&type=5)
- [Integration Procedure Designer Overview and Guide](https://trailhead.salesforce.com/content/learn/modules/omnistudio-integration-procedure-fundamentals/get-started-with-integration-procedure-designer)
- [Compare Omniscript and Integration Procedure Versions](https://help.salesforce.com/s/articleView?id=xcloud.os_compare_omniscript_and_integration_procedure_versions.htm&language=en_US&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 10 linked practice questions, and unlimited timed mock exams are included with the Omnistudio Developer pack (USD $19): https://www.certifyforce.com/practice-exams
