Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryPPreparation Recipe
AnalyticsBeginner

Preparation Recipe

A Preparation Recipe (usually just called a recipe) is a Data Prep workflow in CRM Analytics that cleans, transforms, and combines source data, then writes the result to a dataset.

§ 01

Definition

A Preparation Recipe (usually just called a recipe) is a Data Prep workflow in CRM Analytics that cleans, transforms, and combines source data, then writes the result to a dataset. You build it on a visual canvas by chaining nodes, so analysts shape raw data into analysis-ready form without writing transformation code.

CRM Analytics is the Salesforce analytics platform that was called Einstein Analytics and then Tableau CRM before the 2022 rename. A recipe sits between synced source data and the datasets that power dashboards and lenses. It reads inputs, applies steps such as joins and formulas, and outputs one or more datasets that downstream exploration depends on.

§ 02

How a recipe fits the CRM Analytics data pipeline

Where the recipe sits in the pipeline

CRM Analytics moves data through three stages, and the recipe owns the middle one. First, Data Sync pulls records from Salesforce objects and external connectors into CRM Analytics and keeps a local copy current. Second, a recipe reads that synced data, reshapes it, and writes the result. Third, dashboards and lenses query the dataset the recipe produced. Treat the recipe as the place where raw tables become the shape your analysis needs. If two objects need to be combined, or a field needs cleaning, that logic belongs in the recipe rather than in every dashboard that reads the data. Salesforce recommends pre-pulling data with Data Sync so recipes run faster, because the recipe reads the synced copy instead of querying the source object each run. This separation matters in practice. A single well-built recipe can feed many dashboards, so fixing a data problem once at the recipe layer corrects it everywhere downstream. Skipping the recipe and pushing raw data straight to a dataset usually forces repeated workarounds later.

The nodes that make up a recipe

You assemble a recipe from nodes on a visual graph, and each node does one job. An Input node adds source data, either a synced object, another dataset, or a connected source. A Transform node holds transformations that change the raw data, such as a calculated column from a formula, a column type conversion, a bucket, or text concatenation. You can string several transformations inside one Transform node so they run in sequence. A Join node adds related columns from a second stream, with lookup, left, right, inner, full outer, and cross options. An Aggregate node rolls data up to a higher grain by grouping and computing measures like sum or count. A Filter node keeps or drops rows by condition. An Append node stacks rows from two streams that share columns. An Output node writes the result to a target. A recipe can hold multiple Input, Join, Transform, Aggregate, Filter, Append, and Output nodes, so one recipe can branch, merge, and produce several datasets at once.

Transformations inside the Transform node

The Transform node is where most cleaning and enrichment happens, and it offers a wide menu beyond simple formulas. You can create a calculated column with a formula expression, change a column type, split or concatenate text, and trim or standardize values. Higher-level transformations include bucketing values into named groups, clustering similar rows, detecting sentiment on text fields, computing date and time differences, and generating a time series forecast. Because transformations run in the order you place them inside the node, you can clean a field first and then derive a new column from the cleaned version in the same pass. The canvas shows a live preview, so selecting a node displays sample results and lets you confirm the logic before you run anything against the full data. This preview is one of the strongest reasons to build logic in a recipe rather than in a dashboard formula. You see the effect immediately, you keep the logic in one reusable place, and the heavy computation happens once at recipe run time instead of every time a user opens a dashboard.

The Output node and where results go

Every recipe ends with at least one Output node, which tells CRM Analytics where to write the prepared data. The most common target is a dataset, where you set the dataset name, the app it lives in, and an optional security predicate for row-level security. A recipe can also write outside CRM Analytics. Output connectors can send results to targets such as Salesforce objects, Amazon S3, Azure Data Lake, Snowflake, and Tableau, depending on what your org has configured. Because a recipe can contain several Output nodes, one run can produce multiple datasets or push the same result to more than one destination. When you set a security predicate on the output, the dataset enforces who can see which rows, which keeps sensitive data scoped even as many users explore the same dashboard. A useful pattern for larger pipelines is staged data. One recipe writes an intermediate result, and a second recipe reads that staged output, which lets you break a long transformation into sequential, dependent steps that are easier to maintain.

Running, scheduling, and refreshing

A recipe is not a one-time action. After you save it, you can run it manually for an immediate dataset build, or schedule it to run on a recurring cadence so the dataset stays fresh. When a recipe runs, CRM Analytics executes the nodes in order and creates or overwrites the target dataset. Pairing the schedule with Data Sync keeps the whole chain current. Sync refreshes the local copy of source data, then the recipe rebuilds the dataset from that copy. For orgs with many jobs, priority scheduling and notifications help you control execution timing and catch failures. Saving a recipe also preserves version history, so you can restore an earlier definition if a change breaks downstream dashboards. Plan refresh frequency around how fresh the analysis needs to be and how heavy the recipe is. A dataset that powers daily standups might rebuild overnight, while a near-real-time operational view needs a tighter schedule and a leaner recipe. Over-scheduling a heavy recipe wastes run capacity, so match the cadence to the actual reporting need.

Data Prep versus Dataflows and Data Prep Classic

Recipes built with Data Prep are the current, recommended way to prepare data in CRM Analytics. Two older approaches still appear in mature orgs. Dataflows use a JSON definition with transformations like sfdcDigest, augment, and filter, and they predate the visual recipe canvas. Data Prep Classic was an earlier recipe interface before the modern Data Prep graph. Salesforce documents how to convert a dataflow to a recipe, which signals the direction of travel: new work should be built as recipes, and existing dataflows are good candidates to migrate. The practical reason is maintainability. The recipe canvas gives you a visual graph, live previews, a broad transformation library, and version history, which makes complex preparation easier to read and change than a hand-edited JSON dataflow. If you inherit an org with dataflows, you do not have to rebuild everything at once, but plan to move active pipelines to recipes so future analysts work in the supported tool. When you build something new, start with a recipe.

§ 03

How to build a Data Prep recipe in CRM Analytics

Build a recipe in CRM Analytics Data Prep to combine and clean source data, then write it to a dataset that dashboards can use. Make sure the source objects are synced first so the recipe reads a current local copy.

  1. Open Data Prep and create a recipe

    In CRM Analytics, go to Data Manager, open the Recipes (or Dataflows and Recipes) area, and click Create Recipe. A blank Data Prep canvas opens.

  2. Add input data

    Add an Input node and pick your source, such as a synced Salesforce object, an existing dataset, or a connected external source. Add a second Input node if you plan to join or append another stream.

  3. Transform and combine

    Add a Transform node for calculated columns, type conversions, and cleaning. Use a Join node to add related columns, a Filter node to drop unwanted rows, and an Aggregate node to roll up to a higher grain. Select any node to preview its results.

  4. Add an Output node

    End the recipe with an Output node. Name the target dataset, choose the app it belongs to, and set a security predicate if you need row-level access control.

  5. Save, run, and schedule

    Save the recipe, then run it to build the dataset. Schedule it to run on a recurring cadence so the dataset stays fresh, ideally after the related Data Sync job completes.

Mandatory fields
Input sourcerequired

The synced object, dataset, or connected source the Input node reads. Sync source objects first so the recipe reads a current local copy.

Output dataset namerequired

The name of the dataset the Output node creates or overwrites. Dashboards and lenses query this dataset.

Apprequired

The CRM Analytics app that stores the output dataset and controls who can access it.

Security predicate (optional)required

A row-level security rule on the output dataset that limits which rows each user can see.

Gotchas
  • If the source object is not synced, the recipe still runs but reads slower and may miss recent records; pre-pull with Data Sync first.
  • Running a recipe overwrites its target dataset, so a broken change replaces the good dataset everywhere downstream. Use version history to restore.
  • Transformations run in the order placed inside a Transform node, so a derived column must come after the cleaning step it depends on.
  • Scheduling a heavy recipe too frequently wastes run capacity; match the cadence to how fresh the analysis truly needs to be.
§

Trust & references

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Preparation Recipe.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Test your knowledge

Q1. What is a Preparation Recipe?

Q2. Where do recipes fit in the workflow?

Q3. Why does recipe quality matter?

§

Discussion

Loading…

Loading discussion…