Workflow
詳細は、Salesforce ヘルプの「ワークフロー」を参照してください。Metadata メタデータ型を拡張し、その fullName 項目を継承します。
マニフェストファイルを使用する場合、次のコードを使用してすべてのワークフローコンポーネントを取得します。
1<types>
2 <members>*</members>
3 <name>Workflow</name>
4</types>宣言的なメタデータファイルのサフィックスおよびディレクトリの場所
ワークフローファイルには、サフィックス .workflow が付けられます。ワークフローのある標準オブジェクトまたはカスタムオブジェクトごとに、1 つのファイルがあります。これらのファイルは、対応するパッケージの workflows ディレクトリに保存されます。
バージョン
ワークフロールールは、API バージョン 13.0 以降で使用できます。
Workflow
このメタデータ型は、標準オブジェクトまたはカスタムオブジェクトに関連付けられたワークフロールールおよびアクションの有効な型を表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| alerts | WorkflowAlert[] | ワークフローに関連付けられたオブジェクトに関するすべてのアラートの配列。 |
| fieldUpdates | WorkflowFieldUpdate[] | ワークフローに関連付けられたオブジェクトに関するすべての項目自動更新の配列。 |
| fullName | string | API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| knowledgePublishes | WorkflowKnowledgePublish[] | ワークフローに関連付けられている Salesforce ナレッジワークフロー公開の配列。API バージョン 27.0 以降で利用できます。 |
| outboundMessages | WorkflowOutboundMessage[] | ワークフローに関連付けられたオブジェクトに関するすべての送信メッセージの配列。 |
| rules | WorkflowRule[] | ワークフローに関連付けられてたすべてのオブジェクトの配列。 |
| tasks | WorkflowTask[] | ワークフローに関連付けられたオブジェクトに関するすべての ToDo の配列。 |
WorkflowActionReference
WorkflowActionReference は、いずれかのワークフローアクションを表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| name | string | 必須。ワークフローアクションの名前。 |
| type | WorkflowActionType (string 型の列挙) | 必須。次の種別のワークフローアクションを使用できます。
|
WorkflowAlert
WorkflowAlert は、ワークフロールールに関連付けられたメールアラートを表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| ccEmails | string[] | 追加のメールアドレス。この項目は、メールクライアントの CC 項目に似ています。 メールを正常に送信するためには、ccEmails または recipients の値を設定します。両方の項目に値を設定できます。ccEmails の値には、最大 5 個の異なるメールアドレスを含めることができます。 |
| description | string | 必須。メールアラートの説明。API バージョン 16.0 以降で利用できます。 |
| fullName | string | 必須。API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| protected | boolean | 必須。このコンポーネントが保護されるか (true)、否か (false) を示します。保護コンポーネントは、インストールする組織で作成されたコンポーネントによってリンク設定したり参照したりすることはできません。 |
| recipients | WorkflowEmailRecipient[] | メールの受信者。 メールを正常に送信するためには、ccEmails または recipients の値を設定します。両方の項目に値を設定できます。 |
| senderAddress | string | メールアラートの [送信者] 項目のアドレス。デフォルトの [送信者] 項目 (レコードを更新したユーザのメールアドレス) の代わりに、組織の標準のグローバルメールアドレス (support@company.com など) を使用できます。senderType が OrgWideEmailAddress に設定されている場合にのみ、この項目に値を指定できます。Salesforce ヘルプの「組織の共有メールアドレス」を参照してください。 |
| senderType | ActionEmailSenderType (string 型の列挙) | 送信者の送信者および返信先アドレスとして使用されるメール。有効な値は次のとおりです。 |
| template | string | 必須。EmailTemplate への名前指定参照。このメールテンプレートは zip ファイル内に存在する必要はありませんが、メタデータ API には存在する必要があります。 Lightning メールテンプレートは、パッケージ化できません。Classic メールテンプレートを使用することをお勧めします。 |
WorkflowEmailRecipient
WorkflowEmailRecipient は、ワークフロールールに関連付けられたメールアラートの受信者を表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| field | string | type で参照される項目の名前。名前を指定した項目は、type で指定されている型である必要があります。 |
| recipient | string | メールの受信者。選択した型に応じて、必須になる場合があります。 |
| type | ActionEmailRecipientTypes (string 型の列挙) | EmailTemplate コンポーネントへの名前指定参照。有効な値は、次のとおりです。
|
WorkflowFieldUpdate
WorkflowFieldUpdate は、ワークフローの項目自動更新を表します。項目自動更新を使用すると、ワークフロールールがトリガされたときに、自動的に項目値を指定した値に更新できます。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| description | string | 項目自動更新の説明。この情報は、項目自動更新を最初に設定したときの理由を追跡するのに役立ちます。 |
| field | string | 必須。更新する項目 (ワークフローのオブジェクト上の)。 |
| formula | string | operation 項目値が Formula の場合、これは新しい項目値の計算に使用される数式に設定されます。 |
| fullName | string | 必須。API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| literalValue | string | operation 項目値が Literal の場合、これは項目のリテラル値です。 |
| lookupValue | string | operation 項目値が lookupValue の場合、これは参照されるルックアップ値です。 |
| lookupValueType | LookupValueType (string 型の列挙) |
lookupValue 項目値が参照するオブジェクトの種別。有効な値は、次のとおりです。
|
| name | string | 必須。コンポーネントの名前。API バージョン 16.0 以降で使用できます。 |
| notifyAssignee | boolean | 必須。項目が更新された場合に割り当て先に通知します。 |
| operation | FieldUpdateOperation (string 型の列挙) | 必須。項目の更新に使用される値を計算する操作。有効な値は、次のとおりです。
|
| protected | boolean | 必須。このコンポーネントが保護されるか (true)、否か (false) を示します。保護コンポーネントは、インストールする組織で作成されたコンポーネントによってリンク設定したり参照したりすることはできません。 |
| reevaluateOnChange | boolean | この項目が true に設定されているときにこの項目が項目の値を更新すると、関連付けられたオブジェクトのすべてのワークフロールールが再評価されます。条件が項目値の変更結果と一致するすべてのワークフロールールがトリガされます。 トリガされたワークフロールールのいずれかにより、ワークフロールールの再評価も有効にする他の項目自動更新が実行される場合、ドミノ効果が発生し、新規にトリガされた項目自動更新の結果としてより多くのワークフロールールを再評価できます。このワーフロールールの再評価およびトリガのカスケードは、それを開始した最初の項目自動更新の後、最大 5 回実行できます。 |
| targetObject | string | これは、子レコードで変更が検出された場合に設定されます。これが設定されている場合、親 (Case など) を指し示す子オブジェクト (EmailMessage.ParentId など) の外部キー参照を指し示します。設定されると、数式は子オブジェクト (EmailMessage など) に基づきます。この項目は、バージョン 14.0 より前では sourceField という名前です。項目名の変更は、バージョン間で自動的に処理され、既存の XML コンポーネントファイルを手動で編集する必要はありません。 |
WorkflowKnowledgePublish
WorkflowKnowledgePublish は、Salesforce ナレッジ記事の公開アクションおよび情報を表します。API バージョン 27.0 以降で利用できます。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| action | KnowledgeWorkflowAction (string 型の列挙) | このルールが起動したときに実行可能な記事の公開アクション。有効な値は、次のとおりです。
|
| description | string | 簡単な記事の説明。 |
| label | string |
Salesforce ユーザインターフェース全体で記事を表す表示ラベル。 |
| language | string | 記事の言語。 |
| protected | boolean | 必須。このコンポーネントが保護されるか (true)、否か (false) を示します。保護コンポーネントは、インストールする組織で作成されたコンポーネントによってリンク設定したり参照したりすることはできません。 |
WorkflowOutboundMessage
WorkflowOutboundMessage は、ワークフロールールに関連付けられた送信メッセージを表します。送信メッセージは、外部サービスなどの指定したエンドポイントに指定の情報を送信するワークフローおよび承認アクションです。送信メッセージは、エンドポイントに対し、特定の項目内のデータを SOAP メッセージとして送信します。詳細は、Salesforce ヘルプの「送信メッセージアクション」を参照してください。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| apiVersion | double | 必須。送信メッセージの API バージョン。送信メッセージが作成されると、自動的に現在の API バージョンに設定されます。送信メッセージの有効な API バージョンは 8.0 および 18.0 以降です。 この API バージョンは、Enterprise または Partner WSDL を使用した Salesforce への API コールバックで使用されます。[API バージョン] は、メタデータ API を使用してのみ変更できます。Salesforce ユーザインターフェースを使用して変更することはできません。この項目は、API バージョン 18.0 以降で使用できます。 |
| description | string | 送信メッセージを説明します。 |
| endpointUrl | string | 必須。送信メッセージの送信先となるエンドポイント URL。 |
| fields | string[] | 送信対象の項目への名前指定参照。 |
| fullName | string | 必須。API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| includeSessionId | boolean | 必須。送信メッセージに Salesforce セッション ID を含める場合は設定します。API コール発行の予定があり、ユーザ名とパスワードを含めたくない場合に便利です。 |
| integrationUser | string | 必須。このメッセージの送信者となるユーザへの名前指定参照。 |
| name | string | 必須。コンポーネントの名前。API バージョン 16.0 以降で使用できます。 |
| protected | boolean | 必須。このコンポーネントが保護されるか (true)、否か (false) を示します。保護コンポーネントは、インストールする組織で作成されたコンポーネントによってリンク設定したり参照したりすることはできません。 |
| useDeadLetterQueue | boolean | この項目は、配信不能メッセージキュー権限が有効な組織でのみ使用できます。設定されている場合、この送信メッセージは、通常の配信が失敗した場合に配信不能メッセージキューを使用します。 |
WorkflowRule
このメタデータ型はワークフロールールを表します。Metadata メタデータ型を拡張し、その fullName 項目を継承します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| actions | WorkflowActionReference[] | このルールが起動したら実行する必要があるアクションの参照の配列。 |
| active | boolean | 必須。このルールが有効かどうかを決定します。 |
| booleanFilter | string | 高度な検索条件の boolean 数式 ((1 AND 2) OR 3 など) です。 |
| criteriaItems | FilterItem[] | このルールを起動する boolean 条件の配列。この項目か、formula のいずれかが設定されている必要があります。 |
| description | string | ワークフロールールの説明。 |
| formula | string | このルールが最初に (この項目か criteriaItems に) 設定されている必要がある数式条件。 |
| fullName | string | API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| triggerType | WorkflowTriggerTypes (string 型の列挙) | トリガが起動する条件。有効な値は、次のとおりです。 |
| workflowTimeTriggers | WorkflowTimeTrigger | 指定間隔の前/後に実行する一連のワークフローアクション (項目自動更新、メールアラート、送信メッセージ、ToDo) を表します。 |
WorkflowTask
このメタデータ型は、割り当てられたワークフロー ToDo を参照します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| assignedTo | string | ワークフロールールまたはアクションが割り当てられているユーザ、ロール、またはチームを指定します。ここで指定した値に対応する項目は、指定された assignedToType と同じである必要があります。 |
| assignedToType | ActionTaskAssignedToTypes (string 型の列挙) | この型の有効な string 値は次のとおりです。
|
| description | string | このワークフロー ToDo の説明。 |
| dueDateOffset | int | 必須。トリガ日または (省略可能な) offsetFromField で指定された日付からのオフセット (日数)。負の数値を設定できます。 |
| fullName | string | 必須。API アクセスの一意の識別子として使用される開発者名。fullName には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。この項目は、Metadata コンポーネントから継承されています。 |
| notifyAssignee | boolean | 必須。ToDo が割り当てられたときにメール通知を送信する場合に設定します。 |
| offsetFromField | string | dueDate の計算の基準となる date 項目の項目参照 (省略可能)。 |
| priority | string | 必須。作成された ToDo に割り当てる優先度。 |
| protected | boolean | 必須。このコンポーネントが保護されるか (true)、否か (false) を示します。保護コンポーネントは、インストールする組織で作成されたコンポーネントによってリンク設定したり参照したりすることはできません。 |
| status | string | 必須。作成した ToDo を割り当てる状況。 |
| subject | string | 必須。ワークフロー ToDo の件名。ToDo が割り当てられたときにメール通知を送信する場合に使用されます。API バージョン 16.0 以降で利用できます。 |
WorkflowTimeTrigger
指定間隔の前/後に実行する一連のワークフローアクション (項目自動更新、メールアラート、送信メッセージ、ToDo) を表します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| actions | WorkflowActionReference[] | このトリガが起動した場合に実行するアクションの参照の配列。 |
| offsetFromField | string | 時間ベースのワークフローがトリガされる基準となる date 型の項目名 ([作成日]、[最終更新日]、[ルール適用日])、またはワークフロールールが定義されている、オブジェクトのカスタム日付項目。 |
| timeLength | string | ワークフローをトリガした後/トリガする前の時間 (数値)。負の値は、トリガが起動する前の時間の長さを表します。timeLength は、workflowTimeTriggerUnit で指定される時間または日のいずれかで測定されます。 |
| workflowTimeTriggerUnit | WorkflowTimeUnits (string 型の列挙) | 時間ベースのワークフローがトリガされる前または後の時間の単位。有効な string 値は次のとおりです。
|
宣��的なメタデータの定義のサンプル
ワークフロールールの定義を次に示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
3 <alerts>
4 <fullName>Another_alert</fullName>
5 <description>Another alert</description>
6 <protected>false</protected>
7 <recipients>
8 <type>accountOwner</type>
9 </recipients>
10 <recipients>
11 <field>Contact__c</field>
12 <type>contactLookup</type>
13 </recipients>
14 <recipients>
15 <field>Email__c</field>
16 <type>email</type>
17 </recipients>
18 <template>TestEmail/Email Test</template>
19 </alerts>
20 <fieldUpdates>
21 <fullName>Enum_Field_Update</fullName>
22 <description>Blah</description>
23 <field>EnumField__c</field>
24 <name>Enum Field Update</name>
25 <notifyAssignee>true</notifyAssignee>
26 <operation>NextValue</operation>
27 <protected>false</protected>
28 </fieldUpdates>
29 <fieldUpdates>
30 <fullName>Enum_Field_Update2</fullName>
31 <description>Blah</description>
32 <field>EnumField__c</field>
33 <literalValue>PLX2</literalValue>
34 <name>Enum Field Update2</name>
35 <notifyAssignee>true</notifyAssignee>
36 <operation>Literal</operation>
37 <protected>false</protected>
38 </fieldUpdates>
39 <fieldUpdates>
40 <fullName>Field_Update</fullName>
41 <description>TestField update desc</description>
42 <field>Name</field>
43 <formula>Name & "Updated"</formula>
44 <name>Field Update</name>
45 <notifyAssignee>false</notifyAssignee>
46 <operation>Formula</operation>
47 <protected>false</protected>
48 </fieldUpdates>
49 <fieldUpdates>
50 <fullName>Lookup_On_Contact</fullName>
51 <field>RealOwner__c</field>
52 <lookupValue>admin@acme.com</lookupValue>
53 <name>Lookup On Contact</name>
54 <notifyAssignee>false</notifyAssignee>
55 <operation>LookupValue</operation>
56 <protected>false</protected>
57 </fieldUpdates>
58 <outboundMessages>
59 <fullName>Another_Outbound_message</fullName>
60 <description>Another Random outbound.</description>
61 <endpointUrl>http://www.test.com</endpointUrl>
62 <fields>Email__c</fields>
63 <fields>Id</fields>
64 <fields>Name</fields>
65 <includeSessionId>true</includeSessionId>
66 <integrationUser>admin@acme.com</integrationUser>
67 <name>Another Outbound message</name>
68 <protected>false</protected>
69 </outboundMessages>
70 <rules>
71 <fullName>BooleanFilter</fullName>
72 <active>false</active>
73 <booleanFilter>1 AND 2 OR 3</booleanFilter>
74 <criteriaItems>
75 <field>CustomObjectForWorkflow__c.CreatedById</field>
76 <operation>notEqual</operation>
77 </criteriaItems>
78 <criteriaItems>
79 <field>CustomObjectForWorkflow__c.CreatedById</field>
80 <operation>notEqual</operation>
81 <value>abc</value>
82 </criteriaItems>
83 <criteriaItems>
84 <field>CustomObjectForWorkflow__c.CreatedById</field>
85 <operation>equals</operation>
86 <value>xyz</value>
87 </criteriaItems>
88 <triggerType>onCreateOrTriggeringUpdate</triggerType>
89 </rules>
90 <rules>
91 <fullName>Custom Rule1</fullName>
92 <actions>
93 <name>Another_alert</name>
94 <type>Alert</type>
95 </actions>
96 <actions>
97 <name>Enum_Field_Update2</name>
98 <type>FieldUpdate</type>
99 </actions>
100 <actions>
101 <fullName>Field_Update</name>
102 <type>FieldUpdate</type>
103 </actions>
104 <actions>
105 <name>Another_Outbound_message</name>
106 <type>OutboundMessage</type>
107 </actions>
108 <actions>
109 <name>Role_task_was_completed</name>
110 <type>Task</type>
111 </actions>
112 <active>true</active>
113 <criteriaItems>
114 <field>CustomObjectForWorkflow__c.Name</field>
115 <operation>startsWith</operation>
116 <value>ABC</value>
117 </criteriaItems>
118 <description>Custom Rule1 desc</description>
119 <triggerType>onCreateOrTriggeringUpdate</triggerType>
120 </rules>
121 <rules>
122 <fullName>IsChangedFunctionRule</fullName>
123 <active>true</active>
124 <description>IsChangedDesc</description>
125 <formula>ISCHANGED(Name)</formula>
126 <triggerType>onAllChanges</triggerType>
127 </rules>
128 <tasks>
129 <fullName>Another_task_was_completed</fullName>
130 <assignedToType>owner</assignedToType>
131 <description>Random Comment</description>
132 <dueDateOffset>20</dueDateOffset>
133 <notifyAssignee>true</notifyAssignee>
134 <priority>High</priority>
135 <protected>false</protected>
136 <status>Completed</status>
137 <subject>Another task was completed</subject>
138 </tasks>
139 <tasks>
140 <fullName>Role_task_was_completed</fullName>
141 <assignedTo>R11</assignedTo>
142 <assignedToType>role</assignedToType>
143 <dueDateOffset>-2</dueDateOffset>
144 <notifyAssignee>true</notifyAssignee>
145 <offsetFromField>CustomObjectForWorkflow__c.CreatedDate</offsetFromField>
146 <priority>High</priority>
147 <protected>false</protected>
148 <status>Completed</status>
149 <subject>Role task was completed</subject>
150 </tasks>
151 <tasks>
152 <fullName>User_task_was_completed</fullName>
153 <assignedTo>admin@acme.com</assignedTo>
154 <assignedToType>user</assignedToType>
155 <dueDateOffset>-2</dueDateOffset>
156 <notifyAssignee>true</notifyAssignee>
157 <offsetFromField>User.CreatedDate</offsetFromField>
158 <priority>High</priority>
159 <protected>false</protected>
160 <status>Completed</status>
161 <subject>User task was completed</subject>
162 </tasks>
163</Workflow>マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。