この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ApprovalProcess

承認プロセスに関連付けられたメタデータを表します。承認プロセスでは、Salesforce でレコードを承認する方法を自動化します。承認プロセスでは、承認申請者やプロセスの各ポイントでの実行内容など、承認の各ステップについて指定します。

Metadata メタデータ型を拡張し、その fullName 項目を継承します。

  • メタデータ API と共に Salesforce ナレッジ記事の承認プロセスを使用するには、記事タイプをリリースする必要があります。承認プロセスの記事バージョン (_kav) の場合、サポートされるアクションの種類は、ナレッジアクション、メールアラート、項目自動更新、送信メッセージになります。
  • メールドラフトの送信アクションおよび承認プロセスは、メタデータ API ではサポートされません。
  • メタデータには、有効承認プロセスの順序は含まれません。場合によっては、リリース後に対象組織で承認プロセスを並び替える必要があります。
  • 組織に承認プロセスを実装する前に、Salesforce ヘルプの「承認に関する考慮事項」を参照してください。

メモ

ファイルのサフィックスおよびディレクトリの場所

ApprovalProcess コンポーネントのサフィックスは .approvalProcess で、approvalProcesses フォルダに保存されます。

バージョン

ApprovalProcess コンポーネントは、API バージョン 28.0 以降で使用できます。

項目

項目名 項目の型 説明
active boolean 必須。承認プロセスがアクティブかどうか。

承認プロセスを有効にした後は、プロセスが無効であっても、ステップの追加、削除、順序の変更、プロセスの却下やスキップの動作の変更はできません。

allowRecall boolean 申請者に承認申請の取り消しを許可するかどうか。

false に設定されている場合、システム管理者のみが承認申請を取り消すことができます。

allowedSubmitters ApprovalSubmitter[] 必須。レコードの承認申請が許可されているユーザの配列。
approvalPageFields ApprovalPageField 承認者がレコードを承認または却下する承認ページに表示する項目を指定します。デフォルトでは、次の項目が表示されます。
  • [名前] 項目
  • [所有者] 項目 (子オブジェクトを除く)

Salesforce モバイルアプリケーションで通知を有効にしている場合、承認者がモバイルデバイスでこの項目のリストを参照可能になります。ユーザがレコードの承認または却下を決定するために必要な項目のみを選択してください。

approvalStep ApprovalStep[] 承認ステップ定義の配列。
description string 承認プロセスを説明します。
emailTemplate string 承認申請に使用する Classic メールテンプレートを指定します。指定されていない場合は、デフォルトのメールテンプレートが使用されます。

Lightning メールテンプレートは、パッケージ化できません。Classic メールテンプレートを使用することをお勧めします。

承認プロセスによってユーザへ承認申請が割り当てられると、Salesforce からそのユーザに対して承認申請メールが送信されます。

enableMobileDeviceAccess boolean ユーザは Salesforce にログインせずに、モバイルデバイスのブラウザを含む任意のブラウザから承認ページの外部バージョンにアクセスできるかどうか。ユーザインターフェースの [セキュリティ設定] に対応します。

true に設定されている場合、承認ステップに type adhoc の承認者を含めることはできません。

false に設定されている場合、承認者は Salesforce にログインして承認ページにアクセスする必要があります。

entryCriteria ApprovalEntryCriteria 承認プロセスの対象となるレコードを決定します。承認プロセスをすべてのレコードに許可する場合は、この項目を除外します。
finalApprovalActions ApprovalAction レコードに対するすべての承認申請が終了したときに実行するワークフローアクションを指定します。
finalApprovalRecordLock boolean 必要なすべての承認が終了した後でレコードをロックしたままにするかどうか。デフォルト: false
finalRejectionActions ApprovalAction レコードが最終却下状態に移行した後で実行するワークフローアクションを指定します。
finalRejectionRecordLock boolean 最終的に却下された後でレコードをロックしたままにするかどうか。デフォルト: false
initialSubmissionActions ApprovalAction レコードの最初の承認申請時に実行するワークフローアクションを指定します。
label string 必須。承認プロセスの名前。
nextAutomatedApprover NextAutomatedApprover 承認ステップに承認者を自動割り当てするために使用できる、標準またはカスタムユーザ階層項目を指定します。

この項目を除外すると、承認ステップでユーザ階層項目を使用して承認者の自動割り当てができなくなります。

postTemplate string Chatter での承認に使用する投稿テンプレート。

Chatter 投稿承認通知は、フィード追跡が有効になっているオブジェクトに関連付けられている承認プロセスでのみ使用可能です。

recallActions ApprovalAction 未承認の申請を取り下げたときに実行するワークフローアクションを指定します。
recordEditability RecordEditabilityType (string 型の列挙) 未承認のレコードを編集できるユーザを指定します。レコードは承認申請されると自動的にロックされ、承認プロセス中に他のユーザがそのレコードを編集するのを防ぎます。有効な値は、次のとおりです。
  • AdminOnly — 未承認のレコードを編集できるユーザは、次のとおりです。
    • 「すべてのデータの編集」権限を持つユーザ
    • 指定のオブジェクトに対してオブジェクトレベルで「すべて変更」権限を持つユーザ
  • AdminOrCurrentApprover — 未承認のレコードを編集できるユーザは、次のとおりです。
    • 「すべてのデータの編集」権限を持つユーザ
    • 指定のオブジェクトに対してオブジェクトレベルで「すべて変更」権限を持つユーザ
    • 指定のオブジェクトに対して、ユーザ権限および組織の共有設定を介してレコードへの編集アクセス権を持つ、割り当て済みの承認者
showApprovalHistory boolean 承認申請の詳細を承認者が表示できレコードを承認または却下できる承認ページに、[承認履歴] 関連リストを追加するかどうか。[承認履歴] 関連リストは、レコードの承認プロセスを追跡します。

[承認履歴] 関連リストをレコード詳細ページおよび編集ページにも追加する場合は、Salesforce ユーザインターフェースを使用して指定のオブジェクトのページレイアウトをカスタマイズします。

ApprovalSubmitter

レコードの承認を申請できるユーザまたはユーザセットを表します。

項目名 項目の型 説明
submitter string レコードの承認を申請できる特定のユーザまたはユーザセットを識別します。次のタイプが指定され submitter 項目が無視される場合を除き、この項目は必須です。
  • owner
  • creator
  • allInternalUsers
例:
1<allowedSubmitters> 
2    <type>allInternalUsers</type>
3</allowedSubmitters>  
4<allowedSubmitters>
5    <submitter>myGroup</submitter>
6    <type>group</type>
7</allowedSubmitters>
type ProcessSubmitterType (string 型の列挙) 必須。レコードの承認を申請できるユーザまたはユーザセットの種別。有効な値は、次のとおりです。
  • group
  • role
  • user
  • roleSubordinates
  • roleSubordinatesInternal
  • owner
  • creator
  • partnerUser
  • customerPortalUser
  • portalRole
  • portalRoleSubordinates
  • allInternalUsers — 組織内のすべての Salesforce ユーザ。

ApprovalPageField

承認申請の詳細を承認者が表示できレコードを承認または却下できる承認ページに表示するために選択された項目を表します。

項目名 項目の型 説明
field string[] 承認者がレコードを承認または却下する承認ページに表示する項目の配列。

ApprovalStep

承認プロセスのステップを表します。承認ステップで、特定の承認プロセスに一連の承認を定義します。各ステップで、そのステップの条件を満たすレコード、承認申請を割り当てるユーザ、各代理承認者による申請への返答を許可するかどうかを決定します。最初のステップでは、レコードがそのステップの条件を満たさない場合の動作を指定します。その後のステップでは、承認者が申請を却下した場合の動作を指定します。

  • 承認プロセス定義の ApprovalStep エントリの順序によって、承認ステップの実行順序が決まります。
  • 承認プロセスを有効にした後は、プロセスが無効であっても、ステップの追加、削除、順序の変更、プロセスの却下やスキップの動作の変更はできません。
  • 各承認プロセスでは、最大で 30 個のステップがサポートされます。

メモ

項目名 項目の型 説明
allowDelegate boolean 承認プロセスのこのステップで代理承認者を許可するかどうか。代理承認者は、割り当てられた承認者により承認申請の承認代理として任命されたユーザです。
approvalActions ApprovalAction 承認プロセスのこのステップでレコードが承認されたときに実行するワークフローアクションを指定します。
assignedApprover ApprovalStepApprover 承認プロセスのこのステップに割り当てられた承認者を指定します。
description string 承認ステップを説明します。
entryCriteria ApprovalEntryCriteria 承認プロセスのこのステップの対象となるレコードを決定します。
ifCriteriaNotMet StepCriteriaNotMetType (string 型の列挙) 開始条件を満たさないレコードに対する処理を指定します。有効な値は、次のとおりです。
  • ApproveRecord — 申請を承認し、最終承認時のアクションをすべて実行します。
  • RejectRecord — 申請を却下し、最終却下時のアクションをすべて実行します。このオプションは、承認プロセスの最初のステップでのみ使用できます。
  • GotoNextStep — 次の承認ステップにスキップします。最初の承認ステップでこのオプションを選択し、レコードが他のステップの開始条件を満たさない場合、レコードは却下されます。
label string 必須。承認ステップの名前。
name string 必須。承認ステップの一意の名前。アンダースコアと英数字のみを含むこと、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。一意性は、特定の承認プロセス内でのみ必要です。
rejectBehavior ApprovalStepRejectBehavior 承認プロセスの最初のステップを除き必須。承認プロセスの最初のステップでない場合に、承認者がこの承認ステップで申請を却下したと���の処理を指定します。

承認プロセスの最初のステップで承認者が申請を却下した場合、却下時の処理は finalRejectionActions によって決まります。

rejectionActions ApprovalAction 承認プロセスのこのステップでレコードが却下されたときに実行するワークフローアクションを指定します。

ApprovalAction

承認プロセスの結果として発生するアクションを表します。

項目名 項目の型 説明
action WorkflowActionReference[] 実行するワークフローアクションの配列。

ApprovalStepApprover

承認ステップに割り当てられた承認者を表します。各ステップでは、最大で 25 個の承認者がサポートされます。

項目名 項目の型 説明
approver Approver[] 承認プロセスのこのステップに割り当てられた承認者の配列。
whenMultipleApprovers RoutingType (string 型の列挙) ステップに複数の承認者が割り当てられている場合の、承認または却下の処理方法を指定します。有効な値は、次のとおりです。
  • Unanimous — (デフォルト) このステップのすべての承認者から全員の承認を得る必要があります。いずれかの承認者が申請を却下すると、このステップの承認申請は却下されます。
  • FirstResponse — 最初の返答に基づいて承認または却下します。

Approver

承認ステップに割り当てられた承認者を表します。Salesforce ヘルプの「承認設定に関する考慮事項」を参照してください。

項目名 項目の型 説明
name string 割り当てられた承認者を特定します。type が次のいずれかで name が無視される場合を除き、この項目は必須です。
  • adhoc
  • userHierarchyField
type NextOwnerType (string 型の列挙) 指定された name と組み合わせて、割り当てられた承認者を特定します。有効な値は、次のとおりです。
  • adhoc — ステップの承認者を手動で選択する必要があります。最初のステップの場合は、申請者が承認者を選択します。2 番目以降のステップの場合は、前のステップの承認者が承認者を選択します。この値の場合は、name 項目を除外します。
  • user — 組織内のユーザ。この値の場合は、name 項目にユーザ名を入力します。
  • userHierarchyField — 標準またはカスタムユーザ階層項目 (標準 [マネージャ] 項目など) で指定されたユーザ。この値の場合は、name 項目を除外します。ユーザ階層項目は、承認プロセスの nextAutomatedApprovers で定義されている必要があります。
  • relatedUserField — 申請されたレコードのユーザ参照項目 ([最終更新者] 項目など) で指定されたユーザ。この値の場合は、name 項目にユーザ参照項目の名前を入力します。
  • queue — 自動的にキューに割り当てます。この値の場合は、name 項目にキューの名前を入力します。

ApprovalEntryCriteria

レコードが承認プロセスまたは承認ステップに進むための条件を表します。��索条件または数式のいずれかを指定します。両方は指定できません。

項目名 項目の型 説明
booleanFilter string criteriaItems の検索条件ロジック。formula を入力する場合は、この項目を除外します。
criteriaItems FilterItem[] レコードが承認プロセスまたは承認ステップに進むための検索条件。

承認プロセスでは、検索条件の valueField エントリをサポートしていません。

formula string レコードが承認プロセスまたは承認ステップに進むためにレコードを true と評価する数式。

ApprovalStepRejectBehavior

承認プロセスの最初のステップでない場合に、承認者がこの承認ステップで申請を却下したときの処理を表します。承認プロセスの最初のステップの場合、却下時の処理は承認プロセスの最終却下時のアクションによって決まります。

項目名 項目の型 説明
type StepRejectBehaviorType (string 型の列挙) 承認プロセスの最初のステップでは無効です。有効な値は、次のとおりです。
  • RejectRequest — これまでのステップが承認されたかどうかに関係なく、申請を却下します。Salesforce は、このステップの却下時のすべてのアクションと、最終却下時のすべてのアクションを実行します。
  • BackToPrevious — 申請を却下し、承認申請を 1 つ前の承認者に戻します。Salesforce は、このステップのすべての却下時のアクションを実行します。

NextAutomatedApprover

承認プロセスの次の承認者として使用するユーザ階層項目を表します。定義されていると、階層項目で指定されたユーザを、1 つ以上の承認ステップで承認者として自動的に割り当てることができます。

項目名 項目の型 説明
useApproverFieldOfRecordOwner boolean 必須。申請者のユーザレコードではなく、レコード所有者のユーザレコードで指定された userHierarchyField を承認者として最初に実行される承認ステップで使用すべきかどうか。残りのすべてのステップでは、前のステップの承認者のユーザレコードで指定された userHierarchyField が使用されます。
userHierarchyField string 必須。承認者として割り当てるユーザを指定する値を持つ、標準またはカスタムユーザ階層項目。たとえば、標準 [マネージャ] 階層項目を使用して、従業員の有給休暇申請の承認者を割り当てることができます。

宣言的なメタデータの定義のサンプル

次に、ApprovalProcess コンポーネントの例を示します。

1<?xml version="1.0" encoding="UTF-8"?>
2<ApprovalProcess xmlns="http://soap.sforce.com/2006/04/metadata">
3    <active>false</active>
4    <allowRecall>false</allowRecall>
5    <allowedSubmitters>
6        <type>owner</type>
7    </allowedSubmitters>
8    <allowedSubmitters>
9        <submitter>USSalesRep</submitter>
10        <type>role</type>
11    </allowedSubmitters>
12    <allowedSubmitters>
13        <submitter>MarketingGroup</submitter>
14        <type>group</type>
15    </allowedSubmitters>
16    <allowedSubmitters>
17        <submitter>kcooper@example.com</submitter>
18        <type>user</type>
19    </allowedSubmitters>
20    <approvalPageFields>
21        <field>Name</field>
22        <field>Owner</field>
23        <field>MyLeadCustomField__c</field>
24        <field>Address</field>
25    </approvalPageFields>
26    <approvalStep>
27        <allowDelegate>false</allowDelegate>
28        <approvalActions>
29            <action>
30                <name>LeadApprovedTask1</name>
31                <type>Task</type>
32            </action>
33            <action>
34                <name>LeadApprovedTask2</name>
35                <type>Task</type>
36            </action>
37        </approvalActions>
38        <assignedApprover>
39            <approver>
40                <type>adhoc</type>
41            </approver>
42        </assignedApprover>
43        <label>Step1</label>
44        <name>Step1</name>
45        <rejectionActions>
46            <action>
47                <name>LeadRejectedTask</name>
48                <type>Task</type>
49            </action>
50        </rejectionActions>
51    </approvalStep>
52    <approvalStep>
53        <allowDelegate>false</allowDelegate>
54        <assignedApprover>
55            <approver>
56                <type>userHierarchyField</type>
57            </approver>
58        </assignedApprover>
59        <entryCriteria>
60            <criteriaItems>
61                <field>Lead.CreatedDate</field>
62                <operation>greaterThan</operation>
63                <value>3/25/2013</value>
64            </criteriaItems>
65            <criteriaItems>
66                <field>User.IsActive</field>
67                <operation>notEqual</operation>
68                <value>true</value>
69            </criteriaItems>
70        </entryCriteria>
71        <ifCriteriaNotMet>ApproveRecord</ifCriteriaNotMet>
72        <label>Step2</label>
73        <name>Step2</name>
74        <rejectBehavior>
75            <type>RejectRequest</type>
76        </rejectBehavior>
77    </approvalStep>
78    <approvalStep>
79        <allowDelegate>true</allowDelegate>
80        <assignedApprover>
81            <approver>
82                <name>MarketingTeamQueue</name>
83                <type>queue</type>
84            </approver>
85            <approver>
86                <name>LastModifiedBy</name>
87                <type>relatedUserField</type>
88            </approver>
89            <approver>
90                <name>awheeler@example.com</name>
91                <type>user</type>
92            </approver>
93            <whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
94        </assignedApprover>
95        <entryCriteria>
96            <formula>CONTAINS( MyLeadCustomField__c , 'Salesforce')</formula>
97        </entryCriteria>
98        <label>Step3</label>
99        <name>Step3</name>
100        <rejectBehavior>
101            <type>BackToPrevious</type>
102        </rejectBehavior>
103    </approvalStep>
104    <emailTemplate>MyFolder/LeadsNewassignmentnotification</emailTemplate>
105    <enableMobileDeviceAccess>false</enableMobileDeviceAccess>
106    <entryCriteria>
107        <criteriaItems>
108            <field>Lead.AnnualRevenue</field>
109            <operation>greaterThan</operation>
110            <value>10500</value>
111        </criteriaItems>
112        <criteriaItems>
113            <field>Lead.MyLeadCustomField__c</field>
114            <operation>equals</operation>
115            <value>Salesforce</value>
116        </criteriaItems>
117    </entryCriteria>
118    <finalApprovalActions>
119        <action>
120            <name>LeadEmailContacted</name>
121            <type>Alert</type>
122        </action>
123    </finalApprovalActions>
124    <finalApprovalRecordLock>true</finalApprovalRecordLock>
125    <finalRejectionActions>
126        <action>
127            <name>ProcessRejectedMessageAction</name>
128            <type>OutboundMessage</type>
129        </action>
130    </finalRejectionActions>
131    <finalRejectionRecordLock>false</finalRejectionRecordLock>
132    <initialSubmissionActions>
133        <action>
134            <name>LeadFieldUpdate</name>
135            <type>FieldUpdate</type>
136        </action>
137        <action>
138            <name>NewLeadEmail</name>
139            <type>Alert</type>
140        </action>
141    </initialSubmissionActions>
142    <label>SampleProcess</label>
143    <nextAutomatedApprover>
144        <useApproverFieldOfRecordOwner>false</useApproverFieldOfRecordOwner>
145        <userHierarchyField>customlookupuserfield__c</userHierarchyField>
146    </nextAutomatedApprover>
147    <postTemplate>MyPostTemplate</postTemplate>
148    <recallActions>
149        <action>
150            <name>ProcessRecalledMessageAction</name>
151            <type>OutboundMessage</type>
152        </action>
153    </recallActions>
154    <recordEditability>AdminOnly</recordEditability>
155    <showApprovalHistory>false</showApprovalHistory>
156</ApprovalProcess>

マニフェストファイル内のワイルドカードのサポート

package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) を使用して、すべてのオブジェクトのすべての承認プロセスを取得できます。ワイルドカードは承認プロセスのサブセットの取得には使用できません。Lead.* のような構文はサポートされません。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。