---
schema_version: "1"
id: 70a4456ad0b1dbd17affa145663bda9bf09996e30b4a6d7620544438dd7dd5e7
title: Workflow of Data Processing Engine Definition Runs
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/dpe_monitor_workflow.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.dpe_monitor_workflow.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 55d89ff61871b23a8fa467000926b6dd39d6cde346df61abf58f759a2a016bb0
description: A definition's run consists of different stages. The stages include syncing data sources on the definition's runtime platform, transforming data, and writing back results to target objects. The overall workflow remains the same for definitions on CRM Analytics and Data Cloud. Though there are key differences in the resources used to run definitions of each platform.
products:
  - Cross Cloud
release: "264"
---
# Workflow of Data Processing Engine Definition Runs

A definition's run consists of different stages. The stages include syncing data sources on the definition's runtime platform, transforming data, and writing back results to target objects. The overall workflow remains the same for definitions on CRM Analytics and Data Cloud. Though there are key differences in the resources used to run definitions of each platform.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=ind.dpe_editions.htm&amp;release=264.0.0&amp;type=5" title="Review the supported editions and availability for Data Processing Engine (DPE).">View supported editions</a>.</td></tr></tbody></table>

## Overview of a Definition's Run

A Batch Job record is created for each run. The batch job consists of details of all the stages of the run and provides a unified summary of the runs after they complete. For each stage, one or more Batch Job Part records are created. The number of batch job parts that are created vary based on the definition's design and the runtime platform. Batch job parts are also known as tasks. The tasks are executed in a sequence and if one task fails, the subsequent tasks are automatically canceled.

## Workflow of a Definition's Run on CRM Analytics (CRMA)

Here are the stages of a definition's run on CRMA:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e82">Stage</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e85">What Happens</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e88">Tasks Created</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e91">Resources</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e82 ">Data sync</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e85 ">Data from each of the definition's data sources are synced in CRMA.</td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e88 ">A task is created to sync data from each of the definition's data sources. Each
              task has the same name as the Data Source node that it syncs data for.</td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e91 ">
              <p>To learn about how to track the data sync jobs in CRM Analytics, see </p>
              <ul>
                <li><a href="https://help.salesforce.com/s/articleView?id=ind.dpe_best_practice_sync.htm&amp;language=en_US" target="_blank">Data Processing Engine Best Practices for Data
                    Sync in CRM Analytics</a></li>

                <li><a href="https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_monitor_replication.htm&amp;language=en_US" target="_blank">Monitor a Data Sync Job</a></li>

              </ul>
              <p style="margin-bottom:0;">.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e82 ">Data transformation</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e85 ">
              <p>A recipe is created in CRMA to transform the data.</p>
              <p style="margin-bottom:0;">After the recipe completes
                the data transformation, the data is sent back to Data Processing Engine for write
                back.</p>
            </td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e88 ">A task named Execution is created. </td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e91 ">
              <p>To learn about how recipes transform data, see</p>
              <ul>
                <li><a href="https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_recipe_nodes_overview.htm&amp;language=en_US" target="_blank">Nodes for Data Prep Recipes</a></li>

                <li><a href="https://help.salesforce.com/s/articleView?id=ind.dpe_check_definition_issues_recipe.htm&amp;language=en_US" target="_blank">Learn About Issues in Your Data Processing
                    Engine Definition</a></li>

              </ul>
            </td>

          </tr>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e82 ">Data write back</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e85 ">
              <p>Transformed data is written back to the target objects and CRMA datasets.</p>
              <ul>
                <li>To write back results to objects, Bulk API 2.0 is used.</li>

                <li>To write back results to CRMA datasets, CRMA's Dataflow is used.</li>

              </ul>
            </td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e88 ">
              <p>A task is created to write back data to each of the definition's target
                writeback objects. Each task has the same name as the Writeback Object node that it
                writes back data for.</p>
              <p>If a definition consists of a Composite Writeback node, a
                task is created for each of the Writeback Object nodes that are part of the
                Composite Writeback node and a task is created for the Composite Writeback node.
                All the tasks have the same name as the Composite Writeback node but the tasks for
                the individual Writeback Object nodes contain a numerical qualifier.</p>
              <p style="margin-bottom:0;">If the
                writeback target is a CRM Analytics dataset, a task isn't created for write
                back.</p>
            </td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e91 ">
              <p>To learn about the resources that are used to write back results, see:</p>
              <ul>
                <li><a href="https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_api_2_0_ingest.htm" target="_blank">Bulk API 2.0 Ingest</a></li>

                <li><a href="https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_design_datasets_with_dataflows_and_builder.htm&amp;language=en_US" target="_blank">Design Datasets with Dataflows and the Dataset
                    Builder</a></li>

              </ul>
            </td>

          </tr>
        </tbody>
      </table>

After a run completes, a task named Analysis is created. This task prepares the analysis of the completed run. The analysis of the run is available on the Analysis tab of the run's batch job.

## Workflow of a Definition's Run on Data 360

Here are the stages of a definition's run on Data 360:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e231">Stage</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e234">What Happens</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e237">Tasks Created</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d11784e240">Resources</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e231 ">Data cleanup</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e234 ">Transient (in-memory) data that has remained in <span>Data 360</span> from the
              definition's previous runs is deleted in preparation for the current run.</td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e237 ">A task named Cleanup is created.</td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e240 ">N/A</td>

          </tr>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e231 ">Data sync</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e234 ">
              <p>Data from each of the definition's data sources are synced in <span>Data 360</span>.</p>
              <ul>
                <li>To sync data from standard and custom objects, <span>Data 360</span>'s CRM Salesforce
                  Connector is used.</li>

                <li>To sync data from CSV files, <span>Data 360</span>'s Ingestion API is used.</li>

              </ul>
              <p style="margin-bottom:0;">For <span>Data 360</span>-native data sources such as data model objects (DMOs), data
                lake objects (DLOs), and calculated insight objects (CIOs), data sync isn't
                required.</p>
            </td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e237 ">
              <ul>
                <li>To sync data from standard and custom objects, a task is created to sync data
                  from each of the data sources. Each task has the same name as the Data Source
                  node that it syncs data for.</li>

                <li>To sync data from CSV files, a common task is created for all the data sources
                  and two tasks are created for each CSV data source. The common task named
                  IngestionApiConnector creates a job for the Ingestion API. The second task named
                  Ingestion represents the data sync phase where the Ingestion API validates the
                  CSV file and prepares to upload the file data to <span>Data 360</span>. The third task
                  named after the data source node represents the actual task of uploading the
                  data to <span>Data 360</span>.</li>

              </ul>
            </td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e240 ">
              <p>To learn about the resources that are used to sync data, see</p>
              <ul>
                <li><a href="https://help.salesforce.com/s/articleView?id=data.c360_a_salesforce_crm_connector.htm&amp;language=en_US" target="_blank">Salesforce CRM Connector</a></li>

                <li><a href="https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-get-started.html" target="_blank">Get Started with Ingestion API</a></li>

              </ul>
              <p style="margin-bottom:0;">.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e231 ">Data transformation</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e234 ">A batch data transform is created in <span>Data 360</span> to transform the data.</td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e237 ">A task named Execution is created.</td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e240 ">To learn about batch data transforms in <span>Data 360</span>, see <a href="https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_overview.htm&amp;language=en_US" target="_blank">Batch Data Transforms</a>.</td>

          </tr>
          <tr class="">
            <td data-label="Stage" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e231 ">Data write back</td>

            <td data-label="What Happens" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e234 ">
              <p>Transformed data is written back to the target objects.</p>
              <ul>
                <li>To write back results to standard and custom objects, <span>Data 360</span>'s Query API
                  is used to read the transformed data from <span>Data 360</span> and Bulk API 2.0 is used to
                  write back the results.</li>

                <li>To write back results to <span>Data 360</span>-native data sources such as DMOs, DLOs,
                  and CIOs, a batch transform is used.</li>

              </ul>
            </td>

            <td data-label="Tasks Created" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e237 ">
              <p>A task is created to write back data to each of the definition's target
                writeback objects.</p>
              <ul>
                <li>Tasks that write back to standard and custom objects have the same name as the
                  Writeback Object node that it writes back data for.</li>

                <li>Tasks that write back to <span>Data 360</span>-native objects have the same name as the
                  target object with <samp class="parmname">_WRITEBACK</samp> as the suffix.</li>

              </ul>
              <p style="margin-bottom:0;">If the definition consists of a Composite Writeback node, a task is created
                for each of the Writeback Object nodes that are part of the Composite Writeback
                node and a task is created for the Composite Writeback node. All the tasks have
                the same name as the Composite Writeback node but the tasks for the individual
                Writeback Object nodes contain a numerical qualifier.</p>
            </td>

            <td data-label="Resources" class="slds-cell-wrap" style="vertical-align:top;" headers="d11784e240 ">
              <p>To learn about the resources used to write back results, see:</p>
              <ul>
                <li><a href="https://developer.salesforce.com/docs/data/data-cloud-query-guide/references/data-cloud-query-api-reference/c360a-api-queryservices-overview.html" target="_blank">Query Data using Query API</a></li>

                <li><a href="https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_api_2_0_ingest.htm" target="_blank">Bulk API 2.0 Ingest</a></li>

                <li><a href="https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_overview.htm&amp;language=en_US" target="_blank">Batch Data Transforms</a></li>

              </ul>
            </td>

          </tr>
        </tbody>
      </table>

## Extra Tasks Created for a Run

If you run a definition from the builder and use the Save Count of Node Records or Save Node Output Without Writing Back Results debug mode for the run, extra tasks are created. Each task is named after the node for which you wanted to view the output record count. For more information about how the debug mode, see [Debug Mode: Save Count of Node Records](https://help.salesforce.com/s/articleView?id=ind.dpe_run_builder_debug_modes.htm&language=en_US).