---
schema_version: "1"
id: d80d218002822e1f8c0116f8cd4b9fefc4eebb52a36b7e986d99bf56dc132c22
title: BusinessProcess
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_businessprocess.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_businessprocess.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 99d6c043b3301e1eb36fe7601ac29abebf2e57bbd015c01b191688cd803955b5
description: The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.
---
# BusinessProcess

The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.

Multiple business processes allow you to track separate sales, support, and lead lifecycles. A sales, support, lead, or solution process is assigned to a record type. The record type determines the user profiles that are associated with the business process.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png)

#### Important

Don’t use business processes as an access control mechanism. Profile assignment governs create and edit access for business process but doesn’t govern read access. For example, a user assigned to a profile that isn't enabled for a particular business process can't create or edit it, but they can read the business process record.

Users with access to a business process can read all information it stores. Don’t store sensitive information in the business process description, name, or picklist values. Instead, store sensitive information in a separate object or fields to which you’ve applied appropriate access controls.

## Declarative Metadata File Suffix and Directory Location

Business processes are defined as part of the custom object or standard object definition. See [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") for more information.

## Version

[BusinessProcess](#meta_businessprocess "The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.") components are available in API version 17.0 and later.

## Special Access Rules

Access to this object requires the View Setup and Configuration permission.

## Fields

| Field | Field Type | Description |
| --- | --- | --- |
| description | string | Description for the business process. |
| fullName | string | Required. The name used as a unique identifier for API access. This field is inherited from the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") component, but the string it contains is created differently than the fullName strings for other types. For a fullName string [BusinessProcess](#meta_businessprocess "The BusinessProcess metadata type enables you to display different picklist values for users based on their profile."), the fullName is created combining the Entity Name and Business Process Name. For example, for a business process called “Bulk Orders” for opportunities, the fullName would be Opportunity.Bulk Orders. Use the object-qualified form (Opportunity. Bulk Orders) for API addressing, such as in a package.xml member in metadata retrieve results. When creating a business process in a CustomObject definition, use the bare process name (Bulk Orders) for the nested <businessProcesses><fullName> value. The enclosing object already supplies the entity context. |
| isActive | boolean | Indicates if the business process is active (true) or not (false). |
| namespacePrefix | string | The namespace of the developer organization where the package was created. |
| values | [PicklistValue](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_globalpicklistvalue.htm#picklistvalue)\[\] | A list of picklist values associated with this business process. |

## Declarative Metadata Sample Definition

The following is a sample XML definition of a lead business process.

<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
....
    <businessProcesses\>
        <fullName\>HardwareLeadProcess</fullName\>
        <description\>Lead Process for hardware division</description\>
        <isActive\>true</isActive\>
        <values\>
            <fullName\>Closed - Converted</fullName\>
            <default\>false</default\>
        </values\>
        <values\>
            <fullName\>CustomLeadStep1</fullName\>
            <default\>false</default\>
        </values\>
        <values\>
            <fullName\>CustomLeadStep2</fullName\>
            <default\>false</default\>
        </values\>
        <values\>
            <fullName\>Open - Not Contacted</fullName\>
            <default\>false</default\>
        </values\>
        <values\>
            <fullName\>Working - Contacted</fullName\>
            <default\>true</default\>
        </values\>
    </businessProcesses\>
....
</CustomObject\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file only when a [RecordType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_recordtype.htm#meta_recordtype "Represents the metadata associated with a record type. Record types let you offer different business processes, picklist values, and page layouts to different users. Use this metadata type to create, update, or delete record type definitions for a custom object.") is specified. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "The deploy() and retrieve() calls are used to deploy and retrieve a .zip file. Within the .zip file is a project manifest (package.xml) that lists what to retrieve or deploy, and one or more XML components that are organized into folders.").

- [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/actionoverride.htm "ActionOverride")
- [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_compactlayout.htm "CompactLayout")

#### See Also

- [_Salesforce DX Developer Guide_: BusinessProcessGroup](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/packaging_packageable_components.htm#mdc_business_process_group)
- [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.")