# Dataflow conversion and recipe version restores

*CRM Analytics and Einstein Discovery Consultant Study Guide · Data Layer · Last updated November 3, 2026 · https://www.certifyforce.com/study-guide/crm-analytics-and-einstein-discovery-consultant/data-layer/dataflow-conversion-and-recipe-version-restores*

When and how to convert a dataflow to a recipe and cut over safely, why dataflows aren't retired, how recipe and dataflow versions are previewed and restored through history records, and what a dataset version restore does and doesn't bring back.

- Certification: Salesforce CRM Analytics and Einstein Discovery Consultant
- Exam section: Data Layer
- Study guide: https://www.certifyforce.com/study-guide/crm-analytics-and-einstein-discovery-consultant

**Official exam objective:**

> Implement delivery management strategies in dataflows/recipes including versioning and conversion.

## What the exam expects

- Decide whether a dataflow needs converting at all, and explain that dataflows have no end-of-life date.
- Convert a dataflow with the right permission and location, protect earlier converted recipes, and validate the result.
- Cut dashboards over to the converted recipe's datasets and stop the old dataflow.
- Preview and restore earlier recipe and dataflow versions, and predict what a restore can break.
- Roll a dataset's data back with a dataset version restore, and know what neither restore covers (dataset XMD).

Key terms: **conversion** (Convert to Recipe, which builds one recipe from one dataflow); **_df2R3** (the suffix on a converted recipe's output dataset names); **history record** (a saved snapshot of a dashboard, lens, recipe or dataflow version); **privatePreviewUrl** (a dataflow history URL that returns the editor's download JSON); **dataset version restore** (rolling a dataset's data back to an earlier version).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Dataflow end of life | Not set; keep working dataflows | [Why Use Recipes](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_prepare.htm&type=5&language=en_US) |
| Data Prep Classic | Replaced by Data Prep; no new Classic recipes since Winter '21 | [Data Prep Classic or Data Prep](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_use_dataprep_or_dataprepbeta.htm&type=5&language=en_US) |
| Convert permission | Edit CRM Analytics Dataflows or Edit Dataset Recipes | [Convert a Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_data_prep_upconversion.htm&language=en_US&type=5) |
| Where | Convert to Recipe in the dataflow menu, Data Manager (Legacy) | [Convert a Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_data_prep_upconversion.htm&language=en_US&type=5) |
| Reconversion | One recipe per dataflow; each conversion replaces the previous one | [Convert a Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_data_prep_upconversion.htm&language=en_US&type=5) |
| After conversion | Dataflow and its schedule unchanged; outputs named with _df2R3 | [Convert a Dataflow](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_data_prep_upconversion.htm&language=en_US&type=5) |
| Automatic tags | Initial Create; template action, name and version | [History API](https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_asset_history.htm) |
| Restore effect | Creates a history record; dependencies can break it | [History API](https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_asset_history.htm) |
| Not backed up | Dataset XMD files | [History API](https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_asset_history.htm) |
| Dataset versions | Prior two stored; older deleted after 24 hours | [Restore a Dataset Version](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataset_restore.htm&type=5&language=en_US) |
| Restore permission | Edit CRM Analytics Dataflows (Edit a Dataset) or Manage CRM Analytics (Restore page) | [Edit a Dataset](https://help.salesforce.com/s/articleView?id=analytics.bi_dataset_edit.htm&type=5&language=en_US), [Restore a Dataset Version](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataset_restore.htm&type=5&language=en_US) |

## Check yourself

- Why can a dataset restore be undone overnight without anyone touching it?
- When did Data Prep Classic stop accepting new recipes?
- What happens to a recipe's history records if the recipe is deleted?
- When someone opens an old Data Prep Classic recipe, what happens to it?

## Sources

- [Convert a Dataflow to a Recipe](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_data_prep_upconversion.htm&language=en_US&type=5)
- [Backup and Restore Previous Versions of CRM Analytics Assets with History API](https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_rest.meta/bi_dev_guide_rest/bi_asset_history.htm)
- [Why Should I Use Recipes Instead of Dataflows?](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_prepare.htm&type=5&language=en_US)
- [Should I Use Data Prep Classic or Data Prep?](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_use_dataprep_or_dataprepbeta.htm&type=5&language=en_US)
- [Edit a Dataset](https://help.salesforce.com/s/articleView?id=analytics.bi_dataset_edit.htm&type=5&language=en_US)
- [Restore a Dataset Version](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataset_restore.htm&type=5&language=en_US)
- [Apply Extended Metadata to Change the Formatting of a Dataset](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_dataset_xmd.htm&type=5&language=en_US)

## About the full unit

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