---
schema_version: "1"
id: 86313e74e94ea90631645d8fedba96a4c6d650f4226a4a57134a499dc25b396a
title: ServiceProcess
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_serviceprocess.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_serviceprocess.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 47b4accf6781653698f3aac1c31f60d9009c605e2b0b9e007d4c700deec31526
description: Represents a process created in Service Process Studio and its associated attributes.
---
# ServiceProcess

Represents a process created in Service Process Studio and its associated attributes.

## Parent Type

This type extends 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.") metadata type and inherits its fullName field.

## File Suffix and Directory Location

ServiceProcess components have the suffix .serviceprocess and are stored in the .serviceprocess folder.

## Version

ServiceProcess components are available in API version 57.0 and later.

## Special Access Rules

Access to the ServiceProcess type requires the AccessToServiceProcess permission.

## Fields

| Field Name | Description |
| --- | --- |
| description | 
Field Type

string

Description

A meaningful explanation of the service process.



 |
| processLabel | 

Field Type

string

Description

Required.

A meaningful name for the service process.



 |
| serviceProcessAttributes | 

Field Type

[ServiceProcessAttribute\[\]](#ServiceProcessAttribute)

Description

Custom attributes that store the data associated with the service process.



 |
| serviceProcessDependencies | 

Field Type

[ServiceProcessDependency\[\]](#ServiceProcessDependency)

Description

Dependent components of the service process, such as OmniScripts or flows.



 |
| serviceProcessItemGroups | 

Field Type

[ServiceProcessItemGroup\[\]](#ServiceProcessItemGroup)

Description

Groups of related ServiceProcessAttribute records.



 |
| shortDescription | 

Field Type

string

Description

A brief meaningful explanation of the service process.



 |
| usageType | 

Field Type

SvcCatalogItemUsageType (enumeration of type string)

Description

Required.

The Cloud that uses this service process.

Values are:

- CustomerService
- Employee
- FinancialServices
- Industry (available in version 58.0 and later)





 |

## ServiceProcessAttribute

A custom attribute that stores data associated with a service process. For example, a service process that reverses a fee can have a Fee Type attribute.

| Field Name | Description |
| --- | --- |
| attributeType | 
Field Type

SvcCtlgItemAttrAttributeType (enumeration of type string)

Description

A Base attribute corresponds to a SvcCatalogRequest field, which is subject to field-level security. An Extended attribute is only a ServiceProcessAttribute object record, which isn't subject to field-level security.

Values are:

- Base
- Extended

The default is Extended.





 |
| dataType | 

Field Type

SvcCatalogItemAttrDataType (enumeration of type string)

Description

The data type of the attribute.

Values are:

- Attachment
- Checkbox
- Currency
- Date
- Datetime
- DisplayText
- Email
- IPAddress
- Integer
- ListOfAttachment(available in API version 65.0 and later)
- ListOfBoolean
- ListOfDouble
- ListOfInteger
- ListOfMaps
- ListOfString
- Lookup
- Map
- MultilineText
- MultiSelectPicklist(available in API version 65.0 and later)
- Number
- NumericScale
- Password(available in API version 65.0 and later)
- Percentage
- Picklist
- Queue
- RadioButton(available in API version 65.0 and later)
- SingleCheckbox (available in API version 59.0 and later)
- SinglelineText
- Text
- Toggle (available in API version 59.0 and later)
- Url

The default is Text.

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

#### Note

Selecting Currency doesn't cause an error, but currency conversions aren't supported.















 |
| description | 

Field Type

string

Description

A meaningful explanation of the attribute.



 |
| developerName | 

Field Type

string

Description

Required.

A system name for the attribute.



 |
| fieldIdentifier | 

Field Type

string

Description

For a Base attribute, the Developer Name of the SvcCatalogRequest field. This field can be standard or custom.



 |
| groupApiName | 

Field Type

string

Description

The apiName of the ServiceProcessItemGroup to which this attribute belongs.



 |
| inputVariableValue | 

Field Type

string

Description

The default value of the attribute.



 |
| isRequired | 

Field Type

boolean

Description

Specifies whether the attribute is required. The default is false.



 |
| label | 

Field Type

string

Description

Required.

A meaningful name for the attribute.



 |
| parentAttribute | 

Field Type

string

Description

The parent attribute of this attribute. For example, a Latitude attribute can have GeoLocation as a parent.



 |
| sortOrder | 

Field Type

int

Description

The position of the attribute in the payload relative to other attributes having no parent or the same parent.



 |

## ServiceProcessDependency

A dependent component of the service process, which can be a flow, an OmniScript, an Integration Definition, or a preprocessor Apex class.

| Field Name | Description |
| --- | --- |
| dependencyReference | 
Field Type

string

Description

Required.

The Developer Name of the flow, OmniScript, Integration Definition, or preprocessor Apex class.



 |
| processStepName | 

Field Type

SvcCtlgItemDpndProcType (enumeration of type string)

Description

Name of the step in a service process.

Values are:

- FulfillmentFlow
- IntegrationDefinition
- Preprocessor
- RequestForm





 |
| type | 

Field Type

SvcCatalogItemDependencyType (enumeration of type string)

Description

Required.

The type of dependent component.

Values are:

- FlowDefinition
- IntegrationProviderDef
- OmniScriptConfig
- PreprocessorApexClass





 |

## ServiceProcessItemGroup

A group of related ServiceProcessAttribute records.

| Field Name | Description |
| --- | --- |
| apiName | 
Field Type

string

Description

Required.

The API Name of the group.



 |
| groupName | 

Field Type

string

Description

Required.

The name of the group.



 |
| sortOrder | 

Field Type

int

Description

Required.

The group display order.



 |

## Declarative Metadata Sample Definition

The following is an example of a ServiceProcess component.

<?xml version="1.0" encoding="UTF-8"?>
<ServiceProcess xmlns="http://soap.sforce.com/2006/04/metadata">
   <processLabel\>EmailUpdate</processLabel\>
   <usageType\>FinancialServices</usageType\>
   <serviceProcessAttributes\>
      <label\>EmailAddress</label\>
      <developerName\>EmailAddress</developerName\>
      <dataType\>Text</dataType\>
      <groupApiName\>Info</groupApiName\>
   </serviceProcessAttributes\>
   <serviceProcessDependencies\>
      <dependencyReference\>EmailPreprocessor</dependencyReference\>
      <type\>PreprocessorApexClass</type\>
   </serviceProcessDependencies\>
   <serviceProcessItemGroups\>
        <apiName\>Info</apiName\>
        <groupName\>Info</groupName\>
        <sortOrder\>1</sortOrder\>
    </serviceProcessItemGroups\>
</ServiceProcess\>

The following is an example package.xml that references the previous definition.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>\*</members\>
        <name\>ServiceProcess</name\>
    </types\>
    <version\>57.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. 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.").

## Usage Type

We recommend that you review these considerations before you retrieve or deploy service process metadata.

- If you deploy metadata with the same name as the definition when your service process definition is active, you get an error message. Deactivate the service process definition and try again.
- When your service process definition is inactive, consider these guidelines.
    - If a service process definition contains service catalog requests and service catalog request extended attribute values and you deploy metadata with the same name as the definition, you get an error message. You can’t delete or change a service process that has service catalog requests with attribute values in it. Make sure that all records are deleted in service catalog requests and service catalog request extended attribute values before you deploy the metadata.
    - If a service process definition contains service catalog requests but doesn’t contain service catalog request extended attribute values and you deploy the metadata with the same name, the deployment works as expected.
    - If a service process definition doesn’t contain service catalog requests and you deploy the metadata with the same name, the deployment works as expected.