OmniIntegrationProcedure

Represents an Omnistudio Integration Procedure for the Discovery Framework. It enables declarative, server-side processing to perform multiple actions in a single server call, supporting sales, service, and other business workflows. For Discovery Framework, the customization type is discoveryframework.

Parent Type

This type extends the Metadata metadata type and inherits its fullName field.

File Suffix and Directory Location

OmniIntegrationProcedure components have the suffix .omniIntegrationProcedure and are stored in the omnistudio/<Namespace>/omniIntegrationProcedures folder.

Version

OmniIntegrationProcedure components are available in API version 56.0 and later.

Special Access Rules

To use this metadata type, you must have an Omnistudio license and the Discovery Framework feature enabled in your Salesforce org.

Fields

Field Name Description
customHtmlTemplates
Field Type
string
Description
The angular Omniscript template definitions.
customJavaScript
Field Type
string
Description
The custom JavaScript used for integration procedure.
description
Field Type
string
Description
The description of the integration procedure.
designerCustomizationType
Field Type
string
Description
The Omnistudio designer customization type.
elementTypeComponentMapping
Field Type
string
Description
Overrides all elements of one type with a custom Lightning web component by mapping the element type to the Custom LWC.
integrationProcedureInput
Field Type
string
Description
The input for the integration procedure in JSON format.
integrationProcedureOutput
Field Type
string
Description
The output for the integration procedure in JSON format.
isActive
Field Type
boolean
Description
Indicates whether the integration procedure is active (true) or not (false). The default value is false.
isIntegProcdSignatureAvl
Field Type
boolean
Description
Indicates whether the integration procedure has a signature (true) or not (false). The default value is false.
isIntegrationProcedure
Field Type
boolean
Description
Indicates whether Omniscript is an Integration Procedure (true) or Omniscript metadata (false).
isManagedUsingStdDesigner
Field Type
boolean
Description
Indicates whether the integration procedure is managed using standard designer (true) or not (false).
isMetadataCacheDisabled
Field Type
boolean
Description
Indicates whether metadata cache for the integration procedure is disabled (true) or not (false). The default value is false.
isOmniScriptEmbeddable
Field Type
boolean
Description
Indicates whether the Omniscript can be embedded in other Omniscripts (true) or not (false). The default value is false
isTestProcedure
Field Type
boolean
Description
Indicates whether OmniIntegrationProcedure is a test procedure setting (true) or not (false). The default value is false
isWebCompEnabled
Field Type
boolean
Description
Indicates whether web component Omniscript (not Angular) is enabled (true) or not (false). The default value is false
language
Field Type
string
Description
Required.
The language of the integration procedure.
lastPreviewPage
Field Type
string
Description
The last page previewed in the Omniscript designer.
name
Field Type
string
Description
Required.
The name of the integration procedure.
nameSpace
Field Type
string
Description
The namespace associated with the integration procedure record.
omniProcessElements
Field Type
OmniProcessElement[]
Description
The OmniProcessElements associated with the OmniIntegrationProcedure.
omniProcessKey
Field Type
string
Description
The integration procedure Type_SubType value.
omniProcessType
Field Type
OmniProcessType (enumeration of type string)
Description
Required. Integration Procedure or Omniscript.
Possible value is:
  • Integration Procedure
overrideKey
Field Type
string
Description
Reserved for future use.
propertySetConfig
Field Type
string
Description
The configuration information associated with the OmniIntegrationProcedure.
requiredPermission
Field Type
string
Description
The required permissions to execute the integration procedure.
responseCacheType
Field Type
string
Description
Response cache used for the integration procedure (session or Org).
subType
Field Type
string
Description
Required.
The subtype value that's used with type and language to create a unique identifier for integration procedure. Integration Procedure subtype can contain only alphanumeric characters.
type
Field Type
string
Description
Required.
The type value that's used with subtype and language to create a unique identifier for integration procedure. Integration Procedure type can contain only alphanumeric characters.
uniqueName
Field Type
string
Description
Required.
The unique name for the integration procedure as Type_SubType_Language_VersionNumber.
versionNumber
Field Type
string
Description
Required.
A numeric version that's used with subtype, type, and language to create a unique identifier for integration procedure.
webComponentKey
Field Type
string
Description
Internal unique key for the generated Lightning Web Components (LWC).

OmniProcessElement

Represents the Omnistudio Process Element associated with the Omnistudio Integration Procedure.

Field Name Description
childElements
Field Type
OmniProcessElement[]
Description
The child elements associated with the OmniProcessElement.
description
Field Type
string
Description
The description of the OmniProcessElement.
designerCustomizationType
Field Type
string
Description
The Omnistudio designer customization type.
discoveryFrameworkUsageType
Field Type
string
Description
The usage type for industries that use the Discovery Framework. For example, the value for Health Cloud is HcUsageType. The value for no specific industry is Default.
embeddedOmniScriptKey
Field Type
string
Description
The ID of the embedded Omniscript.
isActive
Field Type
boolean
Description
Indicates whether the status of the OmniProcessElement is active (true) or not (false).
isOmniScriptEmbeddable
Field Type
boolean
Description
Indicates whether the Omniscript with the OmniProcessElement can be embedded in other Omniscript (true) or not (false).
level
Field Type
double
Description
The vertical level in which the OmniProcessElement occurs on the Omniscript.
name
Field Type
string
Description
Required.
The name of the OmniProcessElement.
omniProcessVersionNumber
Field Type
double
Description
The version number of Omnistudio process element.
parentElementName
Field Type
string
Description
The name of the parent OmniProcessElement.
parentElementType
Field Type
string
Description
The type of the parent OmniProcessElement.
propertySetConfig
Field Type
textarea
Description
The property set of the OmniProcessElement.
sequenceNumber
Field Type
double
Description
The horizontal level in which the OmniProcessElement occurs on the Omniscript.
type
Field Type
string
Description
The OmniProcessElement type. For example, Text and TextArea.
uniqueIndex
Field Type
string
Description
A unique index number for the Omniscript.

Declarative Metadata Sample Definition

The following is an example of an OmniIntegrationProcedure component.

1<?xml version="1.0" encoding="UTF-8"?>
2<OmniIntegrationProcedure xmlns="http://soap.sforce.com/2006/04/metadata">
3    <customJavaScript>{&quot;salary&quot;:332}</customJavaScript>
4    <elementTypeComponentMapping>{&quot;ElementTypeToHTMLTemplateList&quot;:[]}</elementTypeComponentMapping>
5    <integrationProcedureInput>{
6  &quot;properties&quot;: {
7    &quot;salary&quot;: {
8      &quot;type&quot;: &quot;integer&quot;
9    }
10  },
11  &quot;type&quot;: &quot;object&quot;,
12  &quot;title&quot;: &quot;Data&quot;,
13  &quot;$schema&quot;: &quot;https://json-schema.org/draft/2020-12/schema&quot;
14}</integrationProcedureInput>
15    <integrationProcedureOutput>{
16  &quot;properties&quot;: {
17    &quot;tax&quot;: {
18      &quot;type&quot;: &quot;double&quot;
19    }
20  },
21  &quot;type&quot;: &quot;object&quot;,
22  &quot;title&quot;: &quot;Data&quot;,
23  &quot;$schema&quot;: &quot;https://json-schema.org/draft/2020-12/schema&quot;
24}</integrationProcedureOutput>
25    <isActive>true</isActive>
26    <isIntegProcdSignatureAvl>true</isIntegProcdSignatureAvl>
27    <isIntegrationProcedure>true</isIntegrationProcedure>
28    <isManagedUsingStdDesigner>false</isManagedUsingStdDesigner>
29    <isMetadataCacheDisabled>false</isMetadataCacheDisabled>
30    <isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
31    <isTestProcedure>false</isTestProcedure>
32    <isWebCompEnabled>false</isWebCompEnabled>
33    <language>English</language>
34    <name>Calc</name>
35    <omniProcessElements>
36        <description>Response Action</description>
37        <isActive>true</isActive>
38        <isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
39        <level>0.0</level>
40        <name>Response</name>
41        <omniProcessVersionNumber>0.0</omniProcessVersionNumber>
42        <propertySetConfig>{
43  &quot;responseJSONPath&quot; : &quot;&quot;,
44  &quot;responseJSONNode&quot; : &quot;&quot;,
45  &quot;executionConditionalFormula&quot; : &quot;&quot;,
46  &quot;returnFullDataJSON&quot; : false,
47  &quot;additionalOutput&quot; : {
48    &quot;tax&quot; : &quot;=%salary%*0.3&quot;
49  },
50  &quot;returnOnlyAdditionalOutput&quot; : false,
51  &quot;sendJSONPath&quot; : &quot;&quot;,
52  &quot;responseFormat&quot; : &quot;&quot;,
53  &quot;id&quot; : &quot;&quot;,
54  &quot;isActive&quot; : true,
55  &quot;restOptions&quot; : { },
56  &quot;sendJSONNode&quot; : &quot;&quot;
57}</propertySetConfig>
58        <sequenceNumber>1.0</sequenceNumber>
59        <type>Response Action</type>
60    </omniProcessElements>
61    <omniProcessKey>calc_calc</omniProcessKey>
62    <omniProcessType>Integration Procedure</omniProcessType>
63    <propertySetConfig>{
64  &quot;transientValues&quot; : {
65    &quot;deactivateConsent&quot; : false
66  }
67}</propertySetConfig>
68    <subType>calc</subType>
69    <type>calc</type>
70    <uniqueName>calc_calc_English_1</uniqueName>
71    <versionNumber>1.0</versionNumber>
72</OmniIntegrationProcedure>

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

1<?xml version="1.0" encoding="UTF-8"?>
2<Package
3    xmlns="http://soap.sforce.com/2006/04/metadata">
4    <types>
5        <members>*</members>
6        <name>OmniIntegrationProcedure</name>
7    </types>
8    <version>66.0</version>
9</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.

Usage Type

Before you retrieve or deploy Discovery Framework OmniScripts, we recommend that you review this consideration.

  • When deploying the OmniIntegrationProcedure of type Discovery Framework, enable Discovery Framework Metadata Enabled setting.