Last active
March 4, 2025 19:32
-
-
Save osieckiAdam/32e3ad91973135b01283512985bb0cda to your computer and use it in GitHub Desktop.
Bulkification in Flows - code for blog article
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Some_logic_for_setting_general_values</name> | |
<label>Some logic for setting general values</label> | |
<locationX>176</locationX> | |
<locationY>323</locationY> | |
<assignmentItems> | |
<assignToReference>Task_Record_To_Insert.IsHighPriority</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<booleanValue>false</booleanValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Some_logic_for_setting_values_on_first_task</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Some_logic_for_setting_values_on_first_task</name> | |
<label>Some logic for setting values on first task</label> | |
<locationX>176</locationX> | |
<locationY>431</locationY> | |
<assignmentItems> | |
<assignToReference>Task_Record_To_Insert.AccountId</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Task_Record_To_Insert.Subject</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"First Task"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Create_First_Task</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Some_logic_for_setting_values_on_second_task</name> | |
<label>Some logic for setting values on second task</label> | |
<locationX>176</locationX> | |
<locationY>647</locationY> | |
<assignmentItems> | |
<assignToReference>Another_Task_Record_To_Insert.AccountId</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Another_Task_Record_To_Insert.Subject</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"Second Task"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Create_second_Task</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 1 {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 1</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordCreates> | |
<name>Create_First_Task</name> | |
<label>Create First Task</label> | |
<locationX>176</locationX> | |
<locationY>539</locationY> | |
<connector> | |
<targetReference>Some_logic_for_setting_values_on_second_task</targetReference> | |
</connector> | |
<inputReference>Task_Record_To_Insert</inputReference> | |
</recordCreates> | |
<recordCreates> | |
<name>Create_second_Task</name> | |
<label>Create second Task</label> | |
<locationX>176</locationX> | |
<locationY>755</locationY> | |
<inputReference>Task_To_Insert</inputReference> | |
</recordCreates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Some_logic_for_setting_general_values</targetReference> | |
</connector> | |
<object>Account</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Obsolete</status> | |
<variables> | |
<name>Another_Task_Record_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
<variables> | |
<name>Task_Record_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
<variables> | |
<name>Task_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Some_logic_for_setting_values_on_first_task</name> | |
<label>Some logic for setting values on both tasks</label> | |
<locationX>176</locationX> | |
<locationY>323</locationY> | |
<assignmentItems> | |
<assignToReference>Task_Record_To_Insert.AccountId</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Task_Record_To_Insert.Subject</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"First Task"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Another_Task_Record_To_Insert.AccountId</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Another_Task_Record_To_Insert.Subject</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"Second Task"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Tasks_To_Insert</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>Task_Record_To_Insert</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>Tasks_To_Insert</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>Another_Task_Record_To_Insert</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Create_Tasks</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 1 Fixed {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 1 Fixed</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordCreates> | |
<name>Create_Tasks</name> | |
<label>Create Tasks</label> | |
<locationX>176</locationX> | |
<locationY>431</locationY> | |
<inputReference>Tasks_To_Insert</inputReference> | |
</recordCreates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Some_logic_for_setting_values_on_first_task</targetReference> | |
</connector> | |
<object>Account</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Another_Task_Record_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
<variables> | |
<name>Task_Record_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
<variables> | |
<name>Tasks_To_Insert</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Task</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 2 {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 2</label> | |
<loops> | |
<name>Loop_through_the_contacts</name> | |
<label>Loop through the contacts</label> | |
<locationX>176</locationX> | |
<locationY>431</locationY> | |
<collectionReference>Get_all_contact_related_to_account</collectionReference> | |
<iterationOrder>Asc</iterationOrder> | |
<nextValueConnector> | |
<targetReference>Get_all_Tasks_related_to_Contacts</targetReference> | |
</nextValueConnector> | |
</loops> | |
<loops> | |
<name>Loop_through_the_tasks</name> | |
<label>Loop through the tasks</label> | |
<locationX>352</locationX> | |
<locationY>647</locationY> | |
<collectionReference>Get_all_Tasks_related_to_Contacts</collectionReference> | |
<iterationOrder>Asc</iterationOrder> | |
<nextValueConnector> | |
<targetReference>Delete_Task</targetReference> | |
</nextValueConnector> | |
<noMoreValuesConnector> | |
<targetReference>Loop_through_the_contacts</targetReference> | |
</noMoreValuesConnector> | |
</loops> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordDeletes> | |
<name>Delete_Task</name> | |
<label>Delete Task</label> | |
<locationX>440</locationX> | |
<locationY>755</locationY> | |
<connector> | |
<targetReference>Loop_through_the_tasks</targetReference> | |
</connector> | |
<inputReference>Loop_through_the_tasks</inputReference> | |
</recordDeletes> | |
<recordLookups> | |
<name>Get_all_contact_related_to_account</name> | |
<label>Get all contact related to account</label> | |
<locationX>176</locationX> | |
<locationY>323</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Loop_through_the_contacts</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>AccountId</field> | |
<operator>EqualTo</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Contact</object> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<recordLookups> | |
<name>Get_all_Tasks_related_to_Contacts</name> | |
<label>Get all Tasks related to Contacts</label> | |
<locationX>352</locationX> | |
<locationY>539</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Loop_through_the_tasks</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>WhoId</field> | |
<operator>EqualTo</operator> | |
<value> | |
<elementReference>Loop_through_the_contacts.Id</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Task</object> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Get_all_contact_related_to_account</targetReference> | |
</connector> | |
<doesRequireRecordChangedToMeetCriteria>true</doesRequireRecordChangedToMeetCriteria> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>CleanStatus</field> | |
<operator>EqualTo</operator> | |
<value> | |
<stringValue>Inactive</stringValue> | |
</value> | |
</filters> | |
<object>Account</object> | |
<recordTriggerType>Update</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Obsolete</status> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Add_Contact_Id_to_the_list</name> | |
<label>Add Contact Id to the list</label> | |
<locationX>270</locationX> | |
<locationY>539</locationY> | |
<assignmentItems> | |
<assignToReference>ContactIds</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>Loop_through_the_contacts.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Loop_through_the_contacts</targetReference> | |
</connector> | |
</assignments> | |
<decisions> | |
<name>Any_records_to_delete_found</name> | |
<label>Any records to delete found?</label> | |
<locationX>182</locationX> | |
<locationY>839</locationY> | |
<defaultConnectorLabel>Default Outcome</defaultConnectorLabel> | |
<rules> | |
<name>Yes</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>Get_all_Tasks_related_to_Contacts</leftValueReference> | |
<operator>IsNull</operator> | |
<rightValue> | |
<booleanValue>false</booleanValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Delete_all_Tasks_related_to_Contacts</targetReference> | |
</connector> | |
<label>Yes</label> | |
</rules> | |
</decisions> | |
<description>Solution for antipattern 2</description> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 2 - Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 2 - Fix</label> | |
<loops> | |
<name>Loop_through_the_contacts</name> | |
<label>Loop through the contacts</label> | |
<locationX>182</locationX> | |
<locationY>431</locationY> | |
<collectionReference>Get_all_contact_related_to_account</collectionReference> | |
<iterationOrder>Asc</iterationOrder> | |
<nextValueConnector> | |
<targetReference>Add_Contact_Id_to_the_list</targetReference> | |
</nextValueConnector> | |
<noMoreValuesConnector> | |
<targetReference>Get_all_Tasks_related_to_Contacts</targetReference> | |
</noMoreValuesConnector> | |
</loops> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordDeletes> | |
<name>Delete_all_Tasks_related_to_Contacts</name> | |
<label>Delete all Tasks related to Contacts</label> | |
<locationX>50</locationX> | |
<locationY>947</locationY> | |
<inputReference>Get_all_Tasks_related_to_Contacts</inputReference> | |
</recordDeletes> | |
<recordLookups> | |
<name>Get_all_contact_related_to_account</name> | |
<label>Get all contact related to account</label> | |
<locationX>182</locationX> | |
<locationY>323</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Loop_through_the_contacts</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>AccountId</field> | |
<operator>EqualTo</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Contact</object> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<recordLookups> | |
<name>Get_all_Tasks_related_to_Contacts</name> | |
<label>Get all Tasks related to Contacts</label> | |
<locationX>182</locationX> | |
<locationY>731</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Any_records_to_delete_found</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>WhoId</field> | |
<operator>In</operator> | |
<value> | |
<elementReference>ContactIds</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Task</object> | |
<queriedFields>Id</queriedFields> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<start> | |
<locationX>56</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Get_all_contact_related_to_account</targetReference> | |
</connector> | |
<doesRequireRecordChangedToMeetCriteria>true</doesRequireRecordChangedToMeetCriteria> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>CleanStatus</field> | |
<operator>EqualTo</operator> | |
<value> | |
<stringValue>Inactive</stringValue> | |
</value> | |
</filters> | |
<object>Account</object> | |
<recordTriggerType>Update</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>ContactIds</name> | |
<dataType>String</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<decisions> | |
<name>Any_records_to_delete_found</name> | |
<label>Any records to delete found?</label> | |
<locationX>182</locationX> | |
<locationY>647</locationY> | |
<defaultConnectorLabel>Default Outcome</defaultConnectorLabel> | |
<rules> | |
<name>Yes</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>Get_all_Tasks_related_to_Contacts</leftValueReference> | |
<operator>IsNull</operator> | |
<rightValue> | |
<booleanValue>false</booleanValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Delete_all_Tasks_related_to_Contacts</targetReference> | |
</connector> | |
<label>Yes</label> | |
</rules> | |
</decisions> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 2 - Fix - No Loop {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 2 - Fix - No Loop</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordDeletes> | |
<name>Delete_all_Tasks_related_to_Contacts</name> | |
<label>Delete all Tasks related to Contacts</label> | |
<locationX>50</locationX> | |
<locationY>755</locationY> | |
<inputReference>Get_all_Tasks_related_to_Contacts</inputReference> | |
</recordDeletes> | |
<recordLookups> | |
<name>Get_all_contact_related_to_account</name> | |
<label>Get all Contact related to Account</label> | |
<locationX>182</locationX> | |
<locationY>323</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Get_All_Contact_Ids</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>AccountId</field> | |
<operator>EqualTo</operator> | |
<value> | |
<elementReference>$Record.Id</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Contact</object> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<recordLookups> | |
<name>Get_all_Tasks_related_to_Contacts</name> | |
<label>Get all Tasks related to Contacts</label> | |
<locationX>182</locationX> | |
<locationY>539</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Any_records_to_delete_found</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>WhoId</field> | |
<operator>In</operator> | |
<value> | |
<elementReference>Get_All_Contact_Ids</elementReference> | |
</value> | |
</filters> | |
<getFirstRecordOnly>false</getFirstRecordOnly> | |
<object>Task</object> | |
<queriedFields>Id</queriedFields> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<start> | |
<locationX>56</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Get_all_contact_related_to_account</targetReference> | |
</connector> | |
<doesRequireRecordChangedToMeetCriteria>true</doesRequireRecordChangedToMeetCriteria> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>CleanStatus</field> | |
<operator>EqualTo</operator> | |
<value> | |
<stringValue>Inactive</stringValue> | |
</value> | |
</filters> | |
<object>Account</object> | |
<recordTriggerType>Update</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<transforms> | |
<name>Get_All_Contact_Ids</name> | |
<label>Get All Contact Ids</label> | |
<locationX>182</locationX> | |
<locationY>431</locationY> | |
<connector> | |
<targetReference>Get_all_Tasks_related_to_Contacts</targetReference> | |
</connector> | |
<dataType>String</dataType> | |
<isCollection>true</isCollection> | |
<scale>0</scale> | |
<transformValues> | |
<transformValueActions> | |
<transformType>Map</transformType> | |
<value> | |
<elementReference>Get_all_contact_related_to_account[$EachItem].Id</elementReference> | |
</value> | |
</transformValueActions> | |
</transformValues> | |
</transforms> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Assign_Updated_Account_to_a_collection_A</name> | |
<label>Assign Updated Account to a collection</label> | |
<locationX>50</locationX> | |
<locationY>539</locationY> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.AccountId</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>AccountsToUpdate</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>ParentAccount</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Accounts</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Assign_Updated_Account_to_a_collection_B</name> | |
<label>Assign Updated Account to a collection</label> | |
<locationX>314</locationX> | |
<locationY>539</locationY> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Customer - Direct</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>AccountsToUpdate</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>ParentAccount</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Accounts</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Assign_Updated_Account_to_a_collection_C</name> | |
<label>Assign Updated Account to a collection</label> | |
<locationX>578</locationX> | |
<locationY>539</locationY> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.AccountId</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Customer - Channel</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>AccountsToUpdate</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>ParentAccount</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Accounts</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Assign_Updated_Account_to_a_collection_D</name> | |
<label>Assign Updated Account to a collection</label> | |
<locationX>842</locationX> | |
<locationY>539</locationY> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>$Record.AccountId</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Channel Partner / Reseller</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>AccountsToUpdate</assignToReference> | |
<operator>Add</operator> | |
<value> | |
<elementReference>ParentAccount</elementReference> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Accounts</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Super_Important_Logic_For_A</name> | |
<label>Super Important Logic For A</label> | |
<locationX>50</locationX> | |
<locationY>431</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"A"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Assign_Updated_Account_to_a_collection_A</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Super_Important_Logic_For_B</name> | |
<label>Super Important Logic For B</label> | |
<locationX>314</locationX> | |
<locationY>431</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"b"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Assign_Updated_Account_to_a_collection_B</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Super_Important_Logic_For_C</name> | |
<label>Super Important Logic For C</label> | |
<locationX>578</locationX> | |
<locationY>431</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"C"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Assign_Updated_Account_to_a_collection_C</targetReference> | |
</connector> | |
</assignments> | |
<assignments> | |
<name>Super_Important_Logic_For_D</name> | |
<label>Super Important Logic For D</label> | |
<locationX>842</locationX> | |
<locationY>431</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"A"</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Assign_Updated_Account_to_a_collection_D</targetReference> | |
</connector> | |
</assignments> | |
<decisions> | |
<name>What_is_the_Record_Type</name> | |
<label>What is the Record Type</label> | |
<locationX>446</locationX> | |
<locationY>323</locationY> | |
<defaultConnector> | |
<targetReference>Super_Important_Logic_For_D</targetReference> | |
</defaultConnector> | |
<defaultConnectorLabel>Record Type D</defaultConnectorLabel> | |
<rules> | |
<name>Record_Type_A</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Upgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Super_Important_Logic_For_A</targetReference> | |
</connector> | |
<label>Record Type A</label> | |
</rules> | |
<rules> | |
<name>Record_Type_B</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Replacement</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Super_Important_Logic_For_B</targetReference> | |
</connector> | |
<label>Record Type B</label> | |
</rules> | |
<rules> | |
<name>Record_Type_C</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Downgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Super_Important_Logic_For_C</targetReference> | |
</connector> | |
<label>Record Type C</label> | |
</rules> | |
</decisions> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 3 {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 3</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Parent_Accounts</name> | |
<label>Update Parent Accounts</label> | |
<locationX>446</locationX> | |
<locationY>731</locationY> | |
<inputReference>AccountsToUpdate</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>320</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>What_is_the_Record_Type</targetReference> | |
</connector> | |
<object>Opportunity</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>AccountsToUpdate</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<decisions> | |
<name>What_is_the_Record_Type</name> | |
<label>What is the Record Type</label> | |
<locationX>446</locationX> | |
<locationY>323</locationY> | |
<defaultConnector> | |
<targetReference>Subflow_For_Record_Type_D</targetReference> | |
</defaultConnector> | |
<defaultConnectorLabel>Record Type D</defaultConnectorLabel> | |
<rules> | |
<name>Record_Type_A</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Upgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_A</targetReference> | |
</connector> | |
<label>Record Type A</label> | |
</rules> | |
<rules> | |
<name>Record_Type_B</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Replacement</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_B</targetReference> | |
</connector> | |
<label>Record Type B</label> | |
</rules> | |
<rules> | |
<name>Record_Type_C</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Downgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_C</targetReference> | |
</connector> | |
<label>Record Type C</label> | |
</rules> | |
</decisions> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<start> | |
<locationX>320</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>What_is_the_Record_Type</targetReference> | |
</connector> | |
<object>Opportunity</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<subflows> | |
<name>Subflow_For_Record_Type_A</name> | |
<label>Subflow For Record Type A</label> | |
<locationX>50</locationX> | |
<locationY>431</locationY> | |
<flowName>Antipattern_4_Subflow_A</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_B</name> | |
<label>Subflow For Record Type B</label> | |
<locationX>314</locationX> | |
<locationY>431</locationY> | |
<flowName>Antipattern_4_Subflow_B</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_C</name> | |
<label>Subflow For Record Type C</label> | |
<locationX>578</locationX> | |
<locationY>431</locationY> | |
<flowName>Antipattern_4_Subflow_C</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_D</name> | |
<label>Subflow For Record Type D</label> | |
<locationX>842</locationX> | |
<locationY>431</locationY> | |
<flowName>Antipattern_4_Subflow_D</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
</subflows> | |
<variables> | |
<name>AccountsToUpdate</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<decisions> | |
<name>What_is_the_Record_Type</name> | |
<label>What is the Record Type</label> | |
<locationX>446</locationX> | |
<locationY>323</locationY> | |
<defaultConnector> | |
<targetReference>Antipattern_4_Subflow_D_Fixed_Flow_1</targetReference> | |
</defaultConnector> | |
<defaultConnectorLabel>Record Type D</defaultConnectorLabel> | |
<rules> | |
<name>Record_Type_A</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Upgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_A_Fixed</targetReference> | |
</connector> | |
<label>Record Type A</label> | |
</rules> | |
<rules> | |
<name>Record_Type_B</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Replacement</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_B_Fixed</targetReference> | |
</connector> | |
<label>Record Type B</label> | |
</rules> | |
<rules> | |
<name>Record_Type_C</name> | |
<conditionLogic>and</conditionLogic> | |
<conditions> | |
<leftValueReference>$Record.Type</leftValueReference> | |
<operator>EqualTo</operator> | |
<rightValue> | |
<stringValue>Existing Customer - Downgrade</stringValue> | |
</rightValue> | |
</conditions> | |
<connector> | |
<targetReference>Subflow_For_Record_Type_C_Fixed</targetReference> | |
</connector> | |
<label>Record Type C</label> | |
</rules> | |
</decisions> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 Fix</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Records_1</name> | |
<label>Update Records 1</label> | |
<locationX>446</locationX> | |
<locationY>623</locationY> | |
<inputReference>ParentAccount</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>320</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>What_is_the_Record_Type</targetReference> | |
</connector> | |
<object>Opportunity</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordAfterSave</triggerType> | |
</start> | |
<status>Active</status> | |
<subflows> | |
<name>Antipattern_4_Subflow_D_Fixed_Flow_1</name> | |
<label>Subflow For Record Type C Fixed</label> | |
<locationX>842</locationX> | |
<locationY>431</locationY> | |
<connector> | |
<targetReference>Update_Records_1</targetReference> | |
</connector> | |
<flowName>Antipattern_4_Subflow_D_Fix</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
<outputAssignments> | |
<assignToReference>ParentAccount</assignToReference> | |
<name>ParentAccount</name> | |
</outputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_A_Fixed</name> | |
<label>Subflow For Record Type A Fixed</label> | |
<locationX>50</locationX> | |
<locationY>431</locationY> | |
<connector> | |
<targetReference>Update_Records_1</targetReference> | |
</connector> | |
<flowName>Antipattern_4_Subflow_A_Fix</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
<outputAssignments> | |
<assignToReference>ParentAccount</assignToReference> | |
<name>ParentAccount</name> | |
</outputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_B_Fixed</name> | |
<label>Subflow For Record Type B Fixed</label> | |
<locationX>314</locationX> | |
<locationY>431</locationY> | |
<connector> | |
<targetReference>Update_Records_1</targetReference> | |
</connector> | |
<flowName>Antipattern_4_Subflow_B_Fix</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
<outputAssignments> | |
<assignToReference>ParentAccount</assignToReference> | |
<name>ParentAccount</name> | |
</outputAssignments> | |
</subflows> | |
<subflows> | |
<name>Subflow_For_Record_Type_C_Fixed</name> | |
<label>Subflow For Record Type C Fixed</label> | |
<locationX>578</locationX> | |
<locationY>431</locationY> | |
<connector> | |
<targetReference>Update_Records_1</targetReference> | |
</connector> | |
<flowName>Antipattern_4_Subflow_C_Fix</flowName> | |
<inputAssignments> | |
<name>OpportunityRecord</name> | |
<value> | |
<elementReference>$Record</elementReference> | |
</value> | |
</inputAssignments> | |
<outputAssignments> | |
<assignToReference>ParentAccount</assignToReference> | |
<name>ParentAccount</name> | |
</outputAssignments> | |
</subflows> | |
<variables> | |
<name>AccountsToUpdate</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<name>OpportunitiesToUpdate</name> | |
<dataType>SObject</dataType> | |
<isCollection>true</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_A</name> | |
<label>Super Important Logic For A</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"A"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Account</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow A {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow A</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Parent_Account</name> | |
<label>Update Parent Account</label> | |
<locationX>176</locationX> | |
<locationY>242</locationY> | |
<inputReference>ParentAccount</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_A</targetReference> | |
</connector> | |
</start> | |
<status>Draft</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_A</name> | |
<label>Super Important Logic For A</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"A"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow A Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow A Fixed</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_A</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>true</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_B</name> | |
<label>Super Important Logic For B</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"B"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Account</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow B {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow B</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Parent_Account</name> | |
<label>Update Parent Account</label> | |
<locationX>176</locationX> | |
<locationY>242</locationY> | |
<inputReference>ParentAccount</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_B</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_B</name> | |
<label>Super Important Logic For B</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"B"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Customer - Direct</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow B Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow B Fixed</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_B</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>true</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_C</name> | |
<label>Super Important Logic For C</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"C"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Account</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow c {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow C</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Parent_Account</name> | |
<label>Update Parent Account</label> | |
<locationX>176</locationX> | |
<locationY>242</locationY> | |
<inputReference>ParentAccount</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_C</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_C</name> | |
<label>Super Important Logic For C</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"C"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Customer - Channel</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow C Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow C Fixed</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_C</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>true</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_D</name> | |
<label>Super Important Logic For D</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"D"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Prospect</stringValue> | |
</value> | |
</assignmentItems> | |
<connector> | |
<targetReference>Update_Parent_Account</targetReference> | |
</connector> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow D {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow D</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordUpdates> | |
<name>Update_Parent_Account</name> | |
<label>Update Parent Account</label> | |
<locationX>176</locationX> | |
<locationY>242</locationY> | |
<inputReference>ParentAccount</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_D</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<assignments> | |
<name>Super_Important_Logic_For_D</name> | |
<label>Super Important Logic For D</label> | |
<locationX>176</locationX> | |
<locationY>134</locationY> | |
<assignmentItems> | |
<assignToReference>Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>"D"</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Id</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>OpportunityRecord.Account.Id</elementReference> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Type</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<stringValue>Channel Partner / Reseller</stringValue> | |
</value> | |
</assignmentItems> | |
<assignmentItems> | |
<assignToReference>ParentAccount.Description</assignToReference> | |
<operator>Assign</operator> | |
<value> | |
<elementReference>Description</elementReference> | |
</value> | |
</assignmentItems> | |
</assignments> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 4 - Subflow D Fix {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 4 - Subflow D Fixed</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Super_Important_Logic_For_D</targetReference> | |
</connector> | |
</start> | |
<status>Active</status> | |
<variables> | |
<name>Description</name> | |
<dataType>String</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>false</isOutput> | |
</variables> | |
<variables> | |
<description>Input variable for Opportunity being processed by this subflow</description> | |
<name>OpportunityRecord</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>true</isInput> | |
<isOutput>false</isOutput> | |
<objectType>Opportunity</objectType> | |
</variables> | |
<variables> | |
<name>ParentAccount</name> | |
<dataType>SObject</dataType> | |
<isCollection>false</isCollection> | |
<isInput>false</isInput> | |
<isOutput>true</isOutput> | |
<objectType>Account</objectType> | |
</variables> | |
</Flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<Flow xmlns="http://soap.sforce.com/2006/04/metadata"> | |
<apiVersion>63.0</apiVersion> | |
<environments>Default</environments> | |
<interviewLabel>Antipattern 5 {!$Flow.CurrentDateTime}</interviewLabel> | |
<label>Antipattern 5</label> | |
<processMetadataValues> | |
<name>BuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>CanvasMode</name> | |
<value> | |
<stringValue>AUTO_LAYOUT_CANVAS</stringValue> | |
</value> | |
</processMetadataValues> | |
<processMetadataValues> | |
<name>OriginBuilderType</name> | |
<value> | |
<stringValue>LightningFlowBuilder</stringValue> | |
</value> | |
</processMetadataValues> | |
<processType>AutoLaunchedFlow</processType> | |
<recordLookups> | |
<name>Get_Lead_Queue</name> | |
<label>Get Lead Queue</label> | |
<locationX>176</locationX> | |
<locationY>287</locationY> | |
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound> | |
<connector> | |
<targetReference>Update_Lead_Owner</targetReference> | |
</connector> | |
<filterLogic>and</filterLogic> | |
<filters> | |
<field>Type</field> | |
<operator>EqualTo</operator> | |
<value> | |
<stringValue>Queue</stringValue> | |
</value> | |
</filters> | |
<filters> | |
<field>DeveloperName</field> | |
<operator>EqualTo</operator> | |
<value> | |
<stringValue>Lead_Queue</stringValue> | |
</value> | |
</filters> | |
<getFirstRecordOnly>true</getFirstRecordOnly> | |
<object>Group</object> | |
<storeOutputAutomatically>true</storeOutputAutomatically> | |
</recordLookups> | |
<recordUpdates> | |
<name>Update_Lead_Owner</name> | |
<label>Update Lead Owner</label> | |
<locationX>176</locationX> | |
<locationY>395</locationY> | |
<inputAssignments> | |
<field>OwnerId</field> | |
<value> | |
<elementReference>Get_Lead_Queue.Id</elementReference> | |
</value> | |
</inputAssignments> | |
<inputReference>$Record</inputReference> | |
</recordUpdates> | |
<start> | |
<locationX>50</locationX> | |
<locationY>0</locationY> | |
<connector> | |
<targetReference>Get_Lead_Queue</targetReference> | |
</connector> | |
<object>Lead</object> | |
<recordTriggerType>Create</recordTriggerType> | |
<triggerType>RecordBeforeSave</triggerType> | |
</start> | |
<status>Draft</status> | |
</Flow> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment