---
schema_version: "1"
id: 03a84560daf1d05f73f5f89a69ee991f860dd9c194582934b11ea096e1547fde
title: When to Use Multiple Extract Steps (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_when_to_use_multiple_extract_steps.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_when_to_use_multiple_extract_steps.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 84cb90011065a737b20d47801854e3c8cede51d545e360a62e1f013c87f430f5
description: "For the managed package runtime, how many extract steps you need depends on how the object types you are extracting from are related. There are three basic scenarios: single, single with relationship notation, and multiple."
products:
  - Omnistudio
release: "264"
---
# When to Use Multiple Extract Steps (Managed Package)

For the managed package runtime, how many extract steps you need depends on how the object types you are extracting from are related. There are three basic scenarios: single, single with relationship notation, and multiple.

![Managed Package app icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/resources-global/_corporate/images/managedpackageicon.png) This information is for Omnistudio for Managed Packages. For Omnistudio on standard runtime, see [Omnistudio Help](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_standard.htm&language=en_US).

1. Extracting data from a single object type, for example, Cases, requires only one extract step.
2. Extracting data from a primary object and one or more parent objects also requires only one extract step. An example is extracting Cases with some Account data for each Case. See [Relationship Notation versus Multiple Extract Steps (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_relationship_notation_versus_multiple_extract_steps.htm&release=264.0.0&type=5 "For the managed package runtime, using relationship notation improves the performance of Omnistudio Data Mappers that retrieve data from a parent of the primary sObject. You use this notation in the Extract JSON Paths for the parent sObject's fields instead of adding a second sObject in the Data Mapper's Extract tab. Two examples illustrate how to use relationship notation.").
3. Extracting data from a primary object and one or more child objects requires at least two extract steps, one for each object type. An example is extracting an Account and all the Cases associated with that Account.

For example, to find Cases by Case Number, you can use a filter such as CaseNumber = Number in the extract step:

![The Case object has the filter CaseNumber = Number.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/omnistudio_for_managed_packages/images/caseextract.png)

The objects are queried in the order that you specify them in extract steps, which is important for the third scenario, when you need to use data from a previously-read object to filter a subsequent object.

For example, to find all the cases associated with a specific account, you can read the account with a basic filter such as Id = Id in the first extract step, then read the cases with a filter such as AccountId = Acct:Id in the second extract step. (The AccountId is a Case field; the Acct:Id is a reference to the Id field of the Account.)

![The Account object has an Extract Output Path of Acct and the filter Id = Id. The Case object has an Extract Output Path of Case and the filter AccountId = Acct:Id.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/omnistudio_for_managed_packages/images/accountcases.png)

This data is read into the extraction step JSON, and the Extract Step JSON pane on the right shows the top-level hierarchy defined by the output paths that you specify on this tab.

By default, if a value is null, no node is created for the field in the output JSON. To ensure that a node is created, regardless of whether the field is null, go to the Options tab and check Overwrite Target For All Null Inputs.

## What’s Next