-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Flows action is hanging #134
Comments
Ohhh good catch lemme check this out! Appreciate your contributions Kyle!! |
Of course! I'll see if I can narrow down what's causing it in my flows. I'm not sure if the issue is coming from core or from here. |
Hey @k-capehart - can't seem to fully replicate this. I've released a new version to help troubleshoot the issue. Here's the PR for it #141 |
@junners Here is the output. I removed everything from my local files except 2 flows. It still gets stuck after fixing the first one. It correctly prints out Lightning Flow Scanner output2024-11-19 10:34:20.761 [debug] Selected uris /Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/case_notifications_slack.flow-meta.xml /Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/User_Merge_Flow.flow-meta.xml 2024-11-19 10:34:20.762 [trace] create panel 2024-11-19 10:34:20.762 [trace] load vscode stored configurations 2024-11-19 10:34:20.989 [debug] Scan Results {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/case_notifications_slack.flow-meta.xml","name":"case_notifications_slack","xmldata":{"@xmlns":"http://soap.sforce.com/2006/04/metadata","actionCalls":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"apiVersion":"58.0","environments":"Default","interviewLabel":"case notifications {!$Flow.CurrentDateTime}","label":"case notifications slack","processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":"AutoLaunchedFlow","start":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"status":"Obsolete","variables":{"name":"RecipIds","dataType":"String","isCollection":"true","isInput":"false","isOutput":"false"}},"label":"case notifications slack","interviewLabel":"case notifications {!$Flow.CurrentDateTime}","processType":"AutoLaunchedFlow","processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"status":"Obsolete","type":"AutoLaunchedFlow","elements":[{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},{"element":"58.0","subtype":"apiVersion","metaType":"metadata"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":"case notifications {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"case notifications slack","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"AutoLaunchedFlow","subtype":"processType","metaType":"metadata"},{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},{"element":"Obsolete","subtype":"status","metaType":"metadata"},{"element":{"name":"RecipIds","dataType":"String","isCollection":"true","isInput":"false","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"RecipIds","dataType":"String"}],"startReference":"post_to_Owner"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[{"violation":{"metaType":"attribute","name":"undefined","subtype":"description","expression":"!==null"},"name":"undefined","metaType":"attribute","type":"description","details":{"expression":"!==null"}}],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},"name":"flowstart","metaType":"node","type":"start","details":{"locationX":"50","locationY":"0","connectsTo":["post_to_Owner"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},"name":"post_to_Owner","metaType":"node","type":"actionCalls","details":{"locationX":"176","locationY":"323","connectsTo":[]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"RecipIds","dataType":"String","isCollection":"true","isInput":"false","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"RecipIds","dataType":"String"},"name":"RecipIds","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[{"violation":{"metaType":"attribute","name":"\"Obsolete\"","subtype":"status","expression":"!= Active"},"name":"\"Obsolete\"","metaType":"attribute","type":"status","details":{"expression":"!= Active"}}],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/User_Merge_Flow.flow-meta.xml","name":"User_Merge_Flow","xmldata":{"@xmlns":"http://soap.sforce.com/2006/04/metadata","@xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","apiVersion":"57.0","decisions":{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}},"description":"SFDC-1834","dynamicChoiceSets":{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"},"environments":"Default","formulas":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"interviewLabel":"MergeRequest {!$Flow.CurrentDateTime}","label":"User Merge Task Flow","processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":"Flow","recordCreates":[{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"}],"recordLookups":[{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"}],"screens":[{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"}],"start":{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}},"status":"Active","textTemplates":[{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"}],"variables":[{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"planId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"UserProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"true"}]},"label":"User Merge Task Flow","interviewLabel":"MergeRequest {!$Flow.CurrentDateTime}","processType":"Flow","processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}},"status":"Active","type":"Flow","elements":[{"element":"57.0","subtype":"apiVersion","metaType":"metadata"},{"element":{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}},"subtype":"decisions","metaType":"node","connectors":[{"element":{"targetReference":"Create_Merge_Task"},"processed":false,"type":"defaultConnector","reference":"Create_Merge_Task"},{"element":{"targetReference":"Create_Multi_User_Task"},"processed":false,"type":"connector","childName":"Yes","childOf":"rules","reference":"Create_Multi_User_Task"}],"name":"Is_Multi_User_Merge_Request","locationX":"182","locationY":"458"},{"element":"SFDC-1834","subtype":"description","metaType":"metadata"},{"element":{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"},"subtype":"dynamicChoiceSets","metaType":"variable","name":"Priority","dataType":"Picklist"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},{"element":"MergeRequest {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"User Merge Task Flow","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"Flow","subtype":"processType","metaType":"metadata"},{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},{"element":{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[{"element":{"targetReference":"Is_Multi_User_Merge_Request"},"processed":false,"type":"connector","reference":"Is_Multi_User_Merge_Request"}],"name":"User_Merge_Request","locationX":"182","locationY":"350"},{"element":{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"Get_Case_Record"},"processed":false,"type":"connector","reference":"Get_Case_Record"}],"name":"flowstart","locationX":"56","locationY":"0"},{"element":"Active","subtype":"status","metaType":"metadata"},{"element":{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},"subtype":"textTemplates","metaType":"resource","name":"MultiUserSubject"},{"element":{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"},"subtype":"textTemplates","metaType":"resource","name":"TaskName"},{"element":{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"contactID","dataType":"String"},{"element":{"name":"planId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"planId","dataType":"String"},{"element":{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"ProfileName","dataType":"String"},{"element":{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"recordId","dataType":"String"},{"element":{"name":"UserProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"true"},"subtype":"variables","metaType":"variable","name":"UserProfileName","dataType":"String"}],"startReference":"Get_Case_Record"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},"name":"End","metaType":"node","type":"screens","details":{"locationX":"182","locationY":"758","connectsTo":[]}},{"violation":{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},"name":"IsRecordTypeOnboarding","metaType":"variable","type":"formulas","details":{"dataType":"Boolean"}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},"name":"Get_Case_Record","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"134","connectsTo":["GetQueueID"]}},{"violation":{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},"name":"GetQueueID","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"242","connectsTo":["User_Merge_Request"]}},{"violation":{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},"name":"Create_Merge_Task","metaType":"node","type":"recordCreates","details":{"locationX":"314","locationY":"566","connectsTo":["End"]}},{"violation":{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},"name":"Create_Multi_User_Task","metaType":"node","type":"recordCreates","details":{"locationX":"50","locationY":"566","connectsTo":["End"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false,"errorMessage":"Something went wrong while executing MissingNullHandler in the Flow: 'User_Merge_Flow"},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"planId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"planId","dataType":"String"},"name":"planId","metaType":"variable","type":"variables","details":{"dataType":"String"}},{"violation":{"element":{"name":"UserProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"true"},"subtype":"variables","metaType":"variable","name":"UserProfileName","dataType":"String"},"name":"UserProfileName","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} 2024-11-19 10:34:40.099 [trace] has scan results? 2 2024-11-19 10:34:40.100 [debug] contains scan results {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/case_notifications_slack.flow-meta.xml","name":"case_notifications_slack","xmldata":{"actionCalls":[{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"}],"apiVersion":["58.0"],"environments":["Default"],"interviewLabel":["case notifications {!$Flow.CurrentDateTime}"],"label":["case notifications slack"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":["AutoLaunchedFlow"],"start":[{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"}],"status":["Obsolete"]},"label":["case notifications slack"],"interviewLabel":["case notifications {!$Flow.CurrentDateTime}"],"processType":["AutoLaunchedFlow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":[{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"}],"status":["Obsolete"],"type":["AutoLaunchedFlow"],"elements":[{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},{"element":"58.0","subtype":"apiVersion","metaType":"metadata"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":"case notifications {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"case notifications slack","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"AutoLaunchedFlow","subtype":"processType","metaType":"metadata"},{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},{"element":"Obsolete","subtype":"status","metaType":"metadata"}],"startReference":"post_to_Owner"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[{"violation":{"metaType":"attribute","name":"undefined","subtype":"description","expression":"!==null"},"name":"undefined","metaType":"attribute","type":"description","details":{"expression":"!==null"}}],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},"name":"flowstart","metaType":"node","type":"start","details":{"locationX":"50","locationY":"0","connectsTo":["post_to_Owner"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},"name":"post_to_Owner","metaType":"node","type":"actionCalls","details":{"locationX":"176","locationY":"323","connectsTo":[]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"RecipIds","dataType":"String","isCollection":"true","isInput":"false","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"RecipIds","dataType":"String"},"name":"RecipIds","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[{"violation":{"metaType":"attribute","name":"\"Obsolete\"","subtype":"status","expression":"!= Active"},"name":"\"Obsolete\"","metaType":"attribute","type":"status","details":{"expression":"!= Active"}}],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/User_Merge_Flow.flow-meta.xml","name":"User_Merge_Flow","xmldata":{"apiVersion":["57.0"],"decisions":[{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}}],"description":["SFDC-1834"],"dynamicChoiceSets":[{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"}],"environments":["Default"],"formulas":[{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""}],"interviewLabel":["MergeRequest {!$Flow.CurrentDateTime}"],"label":["User Merge Task Flow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":["Flow"],"recordCreates":[{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"}],"recordLookups":[{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"}],"screens":[{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"}],"start":[{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}}],"status":["Active"],"textTemplates":[{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"}],"variables":[{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"}]},"label":["User Merge Task Flow"],"interviewLabel":["MergeRequest {!$Flow.CurrentDateTime}"],"processType":["Flow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":[{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}}],"status":["Active"],"type":["Flow"],"elements":[{"element":"57.0","subtype":"apiVersion","metaType":"metadata"},{"element":{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}},"subtype":"decisions","metaType":"node","connectors":[{"element":{"targetReference":"Create_Merge_Task"},"processed":false,"type":"defaultConnector","reference":"Create_Merge_Task"},{"element":{"targetReference":"Create_Multi_User_Task"},"processed":false,"type":"connector","childName":"Yes","childOf":"rules","reference":"Create_Multi_User_Task"}],"name":"Is_Multi_User_Merge_Request","locationX":"182","locationY":"458"},{"element":"SFDC-1834","subtype":"description","metaType":"metadata"},{"element":{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"},"subtype":"dynamicChoiceSets","metaType":"variable","name":"Priority","dataType":"Picklist"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},{"element":"MergeRequest {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"User Merge Task Flow","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"Flow","subtype":"processType","metaType":"metadata"},{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},{"element":{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[{"element":{"targetReference":"Is_Multi_User_Merge_Request"},"processed":false,"type":"connector","reference":"Is_Multi_User_Merge_Request"}],"name":"User_Merge_Request","locationX":"182","locationY":"350"},{"element":{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"Get_Case_Record"},"processed":false,"type":"connector","reference":"Get_Case_Record"}],"name":"flowstart","locationX":"56","locationY":"0"},{"element":"Active","subtype":"status","metaType":"metadata"},{"element":{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},"subtype":"textTemplates","metaType":"resource","name":"MultiUserSubject"},{"element":{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"},"subtype":"textTemplates","metaType":"resource","name":"TaskName"},{"element":{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"contactID","dataType":"String"},{"element":{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"ProfileName","dataType":"String"},{"element":{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"recordId","dataType":"String"}],"startReference":"Get_Case_Record"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},"name":"End","metaType":"node","type":"screens","details":{"locationX":"182","locationY":"758","connectsTo":[]}},{"violation":{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},"name":"IsRecordTypeOnboarding","metaType":"variable","type":"formulas","details":{"dataType":"Boolean"}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},"name":"Get_Case_Record","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"134","connectsTo":["GetQueueID"]}},{"violation":{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},"name":"GetQueueID","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"242","connectsTo":["User_Merge_Request"]}},{"violation":{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},"name":"Create_Merge_Task","metaType":"node","type":"recordCreates","details":{"locationX":"314","locationY":"566","connectsTo":["End"]}},{"violation":{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},"name":"Create_Multi_User_Task","metaType":"node","type":"recordCreates","details":{"locationX":"50","locationY":"566","connectsTo":["End"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false,"errorMessage":"Something went wrong while executing MissingNullHandler in the Flow: 'User_Merge_Flow"},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"planId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"planId","dataType":"String"},"name":"planId","metaType":"variable","type":"variables","details":{"dataType":"String"}},{"violation":{"element":{"name":"UserProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"true"},"subtype":"variables","metaType":"variable","name":"UserProfileName","dataType":"String"},"name":"UserProfileName","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} 2024-11-19 10:34:40.100 [debug] invoked scanned results in total: 2 2024-11-19 10:34:40.100 [trace] Fixed File {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/case_notifications_slack.flow-meta.xml","name":"case_notifications_slack","xmldata":{"actionCalls":[{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"}],"apiVersion":["58.0"],"environments":["Default"],"interviewLabel":["case notifications {!$Flow.CurrentDateTime}"],"label":["case notifications slack"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":["AutoLaunchedFlow"],"start":[{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"}],"status":["Obsolete"]},"label":["case notifications slack"],"interviewLabel":["case notifications {!$Flow.CurrentDateTime}"],"processType":["AutoLaunchedFlow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":[{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"}],"status":["Obsolete"],"type":["AutoLaunchedFlow"],"elements":[{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},{"element":"58.0","subtype":"apiVersion","metaType":"metadata"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":"case notifications {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"case notifications slack","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"AutoLaunchedFlow","subtype":"processType","metaType":"metadata"},{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},{"element":"Obsolete","subtype":"status","metaType":"metadata"}],"startReference":"post_to_Owner"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[{"violation":{"metaType":"attribute","name":"undefined","subtype":"description","expression":"!==null"},"name":"undefined","metaType":"attribute","type":"description","details":{"expression":"!==null"}}],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"locationX":"50","locationY":"0","connector":{"targetReference":"post_to_Owner"},"filterLogic":"and","filters":[{"field":"OwnerId","operator":"IsChanged","value":{"booleanValue":"true"}},{"field":"Id","operator":"EqualTo","value":{"stringValue":"5005Y00002VC1b4QAD"}}],"object":"Case","recordTriggerType":"Update","triggerType":"RecordAfterSave"},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"post_to_Owner"},"processed":false,"type":"connector","reference":"post_to_Owner"}],"name":"flowstart","locationX":"50","locationY":"0"},"name":"flowstart","metaType":"node","type":"start","details":{"locationX":"50","locationY":"0","connectsTo":["post_to_Owner"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"post_to_Owner","label":"post to Owner","locationX":"176","locationY":"323","actionName":"slackv2__invokePostMessage","actionType":"apex","flowTransactionModel":"CurrentTransaction","inputParameters":[{"name":"message","value":{"stringValue":"test"}},{"name":"messageDestinationId","value":{"stringValue":"a2Y5Y000007IeWjUAK"}},{"name":"recordId","value":{"elementReference":"$Record.Id"}}],"nameSegment":"slackv2__invokePostMessage","versionSegment":"1"},"subtype":"actionCalls","metaType":"node","connectors":[],"name":"post_to_Owner","locationX":"176","locationY":"323"},"name":"post_to_Owner","metaType":"node","type":"actionCalls","details":{"locationX":"176","locationY":"323","connectsTo":[]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"RecipIds","dataType":"String","isCollection":"true","isInput":"false","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"RecipIds","dataType":"String"},"name":"RecipIds","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[{"violation":{"metaType":"attribute","name":"\"Obsolete\"","subtype":"status","expression":"!= Active"},"name":"\"Obsolete\"","metaType":"attribute","type":"status","details":{"expression":"!= Active"}}],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} 2024-11-19 10:34:40.134 [trace] Fixed File {"flow":{"flowVariables":["choices","constants","dynamicChoiceSets","formulas","variables"],"flowResources":["textTemplates","stages"],"flowMetadata":["description","apiVersion","processMetadataValues","processType","interviewLabel","label","status","runInMode","startElementReference","isTemplate","fullName","timeZoneSidKey","isAdditionalPermissionRequiredToRun","migratedFromWorkflowRuleName","triggerOrder","environments","segment"],"flowNodes":["actionCalls","apexPluginCalls","assignments","collectionProcessors","decisions","loops","orchestratedStages","recordCreates","recordDeletes","recordLookups","recordUpdates","recordRollbacks","screens","start","steps","subflows","waits"],"fsPath":"/Users/kylecapehart/Documents/repos/gdlsf/force-app/main/default/flows/User_Merge_Flow.flow-meta.xml","name":"User_Merge_Flow","xmldata":{"apiVersion":["57.0"],"decisions":[{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}}],"description":["SFDC-1834"],"dynamicChoiceSets":[{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"}],"environments":["Default"],"formulas":[{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""}],"interviewLabel":["MergeRequest {!$Flow.CurrentDateTime}"],"label":["User Merge Task Flow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"processType":["Flow"],"recordCreates":[{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"}],"recordLookups":[{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"}],"screens":[{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"}],"start":[{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}}],"status":["Active"],"textTemplates":[{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"}],"variables":[{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"}]},"label":["User Merge Task Flow"],"interviewLabel":["MergeRequest {!$Flow.CurrentDateTime}"],"processType":["Flow"],"processMetadataValues":[{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}}],"start":[{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}}],"status":["Active"],"type":["Flow"],"elements":[{"element":"57.0","subtype":"apiVersion","metaType":"metadata"},{"element":{"name":"Is_Multi_User_Merge_Request","label":"Is Multi User Merge Request","locationX":"182","locationY":"458","defaultConnector":{"targetReference":"Create_Merge_Task"},"defaultConnectorLabel":"No","rules":{"name":"Yes","conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}},"connector":{"targetReference":"Create_Multi_User_Task"},"label":"Yes"}},"subtype":"decisions","metaType":"node","connectors":[{"element":{"targetReference":"Create_Merge_Task"},"processed":false,"type":"defaultConnector","reference":"Create_Merge_Task"},{"element":{"targetReference":"Create_Multi_User_Task"},"processed":false,"type":"connector","childName":"Yes","childOf":"rules","reference":"Create_Multi_User_Task"}],"name":"Is_Multi_User_Merge_Request","locationX":"182","locationY":"458"},{"element":"SFDC-1834","subtype":"description","metaType":"metadata"},{"element":{"name":"Priority","dataType":"Picklist","displayField":{"@xsi:nil":"true"},"object":{"@xsi:nil":"true"},"picklistField":"Priority","picklistObject":"Task"},"subtype":"dynamicChoiceSets","metaType":"variable","name":"Priority","dataType":"Picklist"},{"element":"Default","subtype":"environments","metaType":"metadata"},{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},{"element":"MergeRequest {!$Flow.CurrentDateTime}","subtype":"interviewLabel","metaType":"metadata"},{"element":"User Merge Task Flow","subtype":"label","metaType":"metadata"},{"element":{"name":"BuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"CanvasMode","value":{"stringValue":"AUTO_LAYOUT_CANVAS"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":{"name":"OriginBuilderType","value":{"stringValue":"LightningFlowBuilder"}},"subtype":"processMetadataValues","metaType":"metadata"},{"element":"Flow","subtype":"processType","metaType":"metadata"},{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},{"element":{"name":"User_Merge_Request","label":"User Merge Request","locationX":"182","locationY":"350","allowBack":"true","allowFinish":"true","allowPause":"true","connector":{"targetReference":"Is_Multi_User_Merge_Request"},"fields":[{"name":"PriorityFlow","choiceReferences":"Priority","dataType":"String","defaultValue":{"stringValue":"Normal"},"fieldText":"Priority","fieldType":"DropdownBox","isRequired":"true"},{"name":"Is_this_a_Multi_User_Merge_Request","dataType":"Boolean","fieldText":"Multi-User Merge Request","fieldType":"InputField","helpText":"<p>If you're requesting more than one single to be merged, please check the box.</p>","isRequired":"true"},{"name":"Name_and_DOB_Match","dataType":"Boolean","fieldText":"First Name, Last Name, and DOB Exactly Match?","fieldType":"InputField","helpText":"<p>The user's Name and DOB must exactly match on both accounts in order to be merged. </p>","isRequired":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Count_of_Users","dataType":"Number","fieldText":"Count of Users","fieldType":"InputField","isRequired":"true","scale":"0","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"Plan","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"Plan__c"}},{"name":"label","value":{"stringValue":"Plan"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.Plan__c"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"Contact","extensionName":"flowruntime:lookup","fieldType":"ComponentInstance","inputParameters":[{"name":"fieldApiName","value":{"stringValue":"ContactId"}},{"name":"label","value":{"stringValue":"Contact"}},{"name":"objectApiName","value":{"stringValue":"Case"}},{"name":"required","value":{"booleanValue":"true"}},{"name":"recordId","value":{"elementReference":"Get_Case_Record.ContactId"}}],"inputsOnNextNavToAssocScrn":"UseStoredValues","isRequired":"true","storeOutputAutomatically":"true","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"Is_this_a_Multi_User_Merge_Request","operator":"EqualTo","rightValue":{"booleanValue":"false"}}}},{"name":"DescriptionBody","defaultValue":{"stringValue":"Admin User Account 1 (Primary):\nPrimary Email: \nAdmin User Account 2:"},"fieldText":"Notes","fieldType":"LargeTextArea","helpText":"<p>If you're requesting more than one user to be merged, you can provide a list of each individual, primary, and secondary user account. Alternatively, you can also provide a link to a Google Sheet if preferred. </p>","isRequired":"true"}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[{"element":{"targetReference":"Is_Multi_User_Merge_Request"},"processed":false,"type":"connector","reference":"Is_Multi_User_Merge_Request"}],"name":"User_Merge_Request","locationX":"182","locationY":"350"},{"element":{"locationX":"56","locationY":"0","connector":{"targetReference":"Get_Case_Record"}},"subtype":"start","metaType":"node","connectors":[{"element":{"targetReference":"Get_Case_Record"},"processed":false,"type":"connector","reference":"Get_Case_Record"}],"name":"flowstart","locationX":"56","locationY":"0"},{"element":"Active","subtype":"status","metaType":"metadata"},{"element":{"name":"MultiUserSubject","isViewedAsPlainText":"true","text":"User Merge: Multi-User Merge Request - {!Count_of_Users} Users"},"subtype":"textTemplates","metaType":"resource","name":"MultiUserSubject"},{"element":{"name":"TaskName","isViewedAsPlainText":"true","text":"User Merge: {!Contact.recordName} | {!Plan.recordName}"},"subtype":"textTemplates","metaType":"resource","name":"TaskName"},{"element":{"name":"contactID","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"contactID","dataType":"String"},{"element":{"name":"ProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"ProfileName","dataType":"String"},{"element":{"name":"recordId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"recordId","dataType":"String"}],"startReference":"Get_Case_Record"},"ruleResults":[{"details":[],"ruleDefinition":{"docRefs":[],"name":"APIVersion","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Outdated API Version","description":"Introducing newer API components may lead to unexpected issues with older versions of Flows, as they might not align with the underlying mechanics. Starting from API version 50.0, the 'Api Version' attribute has been readily available on the Flow Object. To ensure smooth operation and reduce discrepancies between API versions, it is strongly advised to regularly update and maintain them.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/APIVersion.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"APIVersion","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"AutoLayout","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Auto-Layout Mode","description":"With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/AutoLayout.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"AutoLayout","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"CopyAPIName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Copy API Name","description":"Maintaining multiple elements with a similar name, like 'Copy_X_Of_Element,' can diminish the overall readability of your Flow. When copying and pasting these elements, it's crucial to remember to update the API name of the newly created copy.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/CopyAPIName.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"CopyAPIName","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"DMLStatementInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"DML Statement In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your database operations, including record creation, updates, or deletions, at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DMLStatementInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DMLStatementInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"DuplicateDMLOperation","supportedTypes":["Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Duplicate DML Operation","description":"When the flow executes database changes or actions between two screens, it's important to prevent users from navigating back between screens. Failure to do so may result in duplicate database operations being performed within the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/DuplicateDMLOperation.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"DuplicateDMLOperation","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"FlowDescription","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Flow Description","description":"Descriptions play a vital role in documentation. We highly recommend including details about where they are used and their intended purpose.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowDescription.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"FlowDescription","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Naming your Flows is more critical than ever. By Stephen Church","path":"https://www.linkedin.com/posts/stephen-n-church_naming-your-flows-this-is-more-critical-activity-7099733198175158274-1sPx?utm_source=share&utm_medium=member_desktop"}],"name":"FlowName","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Flow Naming Convention","description":"The readability of a flow is of utmost importance. Establishing a naming convention for the Flow Name significantly enhances findability, searchability, and maintains overall consistency. It is advisable to include at least a domain and a brief description of the actions carried out in the flow, for instance, 'Service_OrderFulfillment'.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/FlowName.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"FlowName","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"End","label":"End","locationX":"182","locationY":"758","allowBack":"false","allowFinish":"true","allowPause":"false","fields":[{"name":"EndMessage","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>You can view the queue <a href=\"https://guidelineinc.lightning.force.com/lightning/o/Task/list?filterName=00BVL000000mDZF2A2\" rel=\"noopener noreferrer\" target=\"_blank\">here</a>.</p><p><br></p><p><strong>What to expect next? </strong></p><p><br></p><ul><li>On average, it takes 1-3 business days for a merge. There can be delays though if there are pending transactions.</li><li>Once merged, a BPO agent will @ you in Chatter on the task updating you that the accounts have been merged, and complete the task.</li><li><strong>No updates are automatically made directly on your case. No notice is sent to the user by BPO.</strong></li></ul>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"NotEqualTo","rightValue":{"booleanValue":"true"}}}},{"name":"EndMessageOnb","fieldText":"<p><span style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">🥳 </span><strong style=\"color: rgb(71, 71, 71); font-size: 16px; background-color: rgb(255, 255, 255);\">User Merge Task Successfully Created!</strong></p><p><br></p><p>A member of the Onboarding BPO Team will complete this request as soon as possible. The agent will notify you of task completion via a Chatter message on the original case. </p>","fieldType":"DisplayText","visibilityRule":{"conditionLogic":"and","conditions":{"leftValueReference":"IsRecordTypeOnboarding","operator":"EqualTo","rightValue":{"booleanValue":"true"}}}}],"showFooter":"true","showHeader":"true"},"subtype":"screens","metaType":"node","connectors":[],"name":"End","locationX":"182","locationY":"758"},"name":"End","metaType":"node","type":"screens","details":{"locationX":"182","locationY":"758","connectsTo":[]}},{"violation":{"element":{"name":"IsRecordTypeOnboarding","dataType":"Boolean","expression":"{!Get_Case_Record.RecordTypeId} = \"0125Y000001SNGfQAO\""},"subtype":"formulas","metaType":"variable","name":"IsRecordTypeOnboarding","dataType":"Boolean"},"name":"IsRecordTypeOnboarding","metaType":"variable","type":"formulas","details":{"dataType":"Boolean"}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"},{"label":"Don't hard code Record Type IDs in Flow. By Stephen Church.","path":"https://www.linkedin.com/feed/update/urn:li:activity:6947530300012826624/?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A6947530300012826624%29"}],"name":"HardcodedId","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Hardcoded Id","description":"Avoid hard-coding IDs as they are org-specific. Instead, pass them into variables at the start of the flow. You can achieve this by utilizing merge fields in URL parameters or employing a Get Records element.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/HardcodedId.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"HardcodedId","severity":"error","occurs":true},{"details":[{"violation":{"element":{"name":"Get_Case_Record","label":"Get Case Record","locationX":"182","locationY":"134","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"GetQueueID"},"filterLogic":"and","filters":{"field":"Id","operator":"EqualTo","value":{"elementReference":"recordId"}},"getFirstRecordOnly":"true","object":"Case","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"GetQueueID"},"processed":false,"type":"connector","reference":"GetQueueID"}],"name":"Get_Case_Record","locationX":"182","locationY":"134"},"name":"Get_Case_Record","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"134","connectsTo":["GetQueueID"]}},{"violation":{"element":{"name":"GetQueueID","label":"GetQueueID","locationX":"182","locationY":"242","assignNullValuesIfNoRecordsFound":"false","connector":{"targetReference":"User_Merge_Request"},"filterLogic":"and","filters":[{"field":"Type","operator":"EqualTo","value":{"stringValue":"Queue"}},{"field":"DeveloperName","operator":"EqualTo","value":{"stringValue":"User_Merge_Requests"}}],"getFirstRecordOnly":"true","object":"Group","storeOutputAutomatically":"true"},"subtype":"recordLookups","metaType":"node","connectors":[{"element":{"targetReference":"User_Merge_Request"},"processed":false,"type":"connector","reference":"User_Merge_Request"}],"name":"GetQueueID","locationX":"182","locationY":"242"},"name":"GetQueueID","metaType":"node","type":"recordLookups","details":{"locationX":"182","locationY":"242","connectsTo":["User_Merge_Request"]}},{"violation":{"element":{"name":"Create_Merge_Task","label":"Create Merge Task","locationX":"314","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"TaskName"}},{"field":"WhatId","value":{"elementReference":"recordId"}},{"field":"WhoId","value":{"elementReference":"Contact.recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Merge_Task","locationX":"314","locationY":"566"},"name":"Create_Merge_Task","metaType":"node","type":"recordCreates","details":{"locationX":"314","locationY":"566","connectsTo":["End"]}},{"violation":{"element":{"name":"Create_Multi_User_Task","label":"Create Multi User Task","locationX":"50","locationY":"566","connector":{"targetReference":"End"},"inputAssignments":[{"field":"Description","value":{"elementReference":"DescriptionBody"}},{"field":"OnboardingMergeRequest__c","value":{"elementReference":"IsRecordTypeOnboarding"}},{"field":"OwnerId","value":{"elementReference":"GetQueueID.Id"}},{"field":"Priority","value":{"elementReference":"PriorityFlow"}},{"field":"Reason__c","value":{"stringValue":"User Merge"}},{"field":"Subject","value":{"elementReference":"MultiUserSubject"}},{"field":"WhatId","value":{"elementReference":"recordId"}}],"object":"Task","storeOutputAutomatically":"true"},"subtype":"recordCreates","metaType":"node","connectors":[{"element":{"targetReference":"End"},"processed":false,"type":"connector","reference":"End"}],"name":"Create_Multi_User_Task","locationX":"50","locationY":"566"},"name":"Create_Multi_User_Task","metaType":"node","type":"recordCreates","details":{"locationX":"50","locationY":"566","connectsTo":["End"]}}],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"MissingFaultPath","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Fault Path","description":"At times, a flow may fail to execute a configured operation as intended. By default, the flow displays an error message to the user and notifies the admin who created the flow via email. However, you can customize this behavior by incorporating a Fault Path.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingFaultPath.ts","isConfigurable":false,"autoFixable":false,"severity":"error","applicableElements":["recordLookups","recordDeletes","recordUpdates","recordCreates","waits","actionCalls"]},"ruleName":"MissingFaultPath","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"MissingNullHandler","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Missing Null Handler","description":"When a Get Records operation doesn't find any data, it returns null. To ensure data validation, utilize a decision element on the operation result variable to check for a non-null result.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/MissingNullHandler.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"MissingNullHandler","severity":"error","occurs":false,"errorMessage":"Something went wrong while executing MissingNullHandler in the Flow: 'User_Merge_Flow"},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Process Builder Retirement","path":"https://help.salesforce.com/s/articleView?id=000389396&type=1"}],"name":"ProcessBuilder","supportedTypes":["Workflow"],"label":"No Process Builder","description":"Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/ProcessBuilder.ts","isConfigurable":true,"autoFixable":false,"severity":"error"},"ruleName":"ProcessBuilder","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Flow Best Practices","path":"https://help.salesforce.com/s/articleView?id=sf.flow_prep_bestpractices.htm&type=5"}],"name":"SOQLQueryInLoop","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow"],"label":"SOQL Query In A Loop","description":"To prevent exceeding Apex governor limits, it is advisable to consolidate all your SOQL queries at the conclusion of the flow.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/SOQLQueryInLoop.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"SOQLQueryInLoop","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[],"name":"UnconnectedElement","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unconnected Element","description":"To maintain the efficiency and manageability of your Flow, it's best to avoid including unconnected elements that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnconnectedElement.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnconnectedElement","severity":"error","occurs":false},{"details":[{"violation":{"element":{"name":"planId","dataType":"String","isCollection":"false","isInput":"true","isOutput":"false"},"subtype":"variables","metaType":"variable","name":"planId","dataType":"String"},"name":"planId","metaType":"variable","type":"variables","details":{"dataType":"String"}},{"violation":{"element":{"name":"UserProfileName","dataType":"String","isCollection":"false","isInput":"true","isOutput":"true"},"subtype":"variables","metaType":"variable","name":"UserProfileName","dataType":"String"},"name":"UserProfileName","metaType":"variable","type":"variables","details":{"dataType":"String"}}],"ruleDefinition":{"docRefs":[],"name":"UnusedVariable","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unused Variable","description":"To maintain the efficiency and manageability of your Flow, it's advisable to avoid including unconnected variables that are not in use.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnusedVariable.ts","isConfigurable":false,"autoFixable":true,"severity":"error"},"ruleName":"UnusedVariable","severity":"error","occurs":true},{"details":[],"ruleDefinition":{"docRefs":[],"name":"InactiveFlow","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich","Survey"],"label":"Inactive Flow","description":"Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/InactiveFlow.ts","isConfigurable":false,"autoFixable":false,"severity":"error"},"ruleName":"InactiveFlow","severity":"error","occurs":false},{"details":[],"ruleDefinition":{"docRefs":[{"label":"Learn about data safety when running flows in system context in Salesforce Help","path":"https://help.salesforce.com/s/articleView?id=sf.flow_distribute_context_data_safety_system_context.htm&type=5"}],"name":"UnsafeRunningContext","supportedTypes":["AutoLaunchedFlow","CustomEvent","InvocableProcess","Orchestrator","EvaluationFlow","ActionCadenceAutolaunchedFlow","Flow","IndividualObjectLinkingFlow","LoginFlow","RoutingFlow","Appointments","ActionCadenceStepFlow","ContactRequestFlow","ContactRequestFlow","CustomerLifecycle","FieldServiceMobile","FieldServiceWeb","SurveyEnrich"],"label":"Unsafe Flow Running Context","description":"This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access.","uri":"https://github.com/Lightning-Flow-Scanner/lightning-flow-scanner-core/tree/master/src/main/rules/UnsafeRunningContext.ts","isConfigurable":false,"autoFixable":false,"severity":"warning"},"ruleName":"UnsafeRunningContext","severity":"warning","occurs":false}]} |
Ok, I think I actually figured out the problem, but I'm unsure how to solve it. I hacked together a way to call the
I did some searching and found that this can occur when there are special characters in the XML element name. Through some trial and error I found the specific element that things were failing on. This is the culprit. <displayField xsi:nil="true"/>
<object xsi:nil="true"/> Removing these lines allows it to process correctly. As far as I can tell, this is a valid way to represent a null element in XML format, and similar lines are present in many flows of mine. I think there has to be a way to parse it correctly in the Builder options, I just haven't been able to figure out what exactly it is. |
Hey @junners, were you able to check back on this? |
Hey @k-capehart! I've not made updates over the holidays haha but will try and release a fix today / tomorrow. Should be an easy one |
Oh great! Yeah no rush, just crossed my mind to check back in. Thanks so much! |
Hey @k-capehart - I've created an undocumented command on lfs-sfdx. something temporary till I patch things up on lfs-vsce It's super restrictive. you can use |
Describe the bug
When running the "Fix Flows" action in the VS Code extension, I am seeing it get stalled. It will parse through a few of the flows and then get stuck on the same specific flows. I haven't been able to figure out what it is about these flows that are causing issues but it seems consistent.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should parse through all of the flows, or at least give me an error message in the output.
Screenshots
It will get stuck on loading right here, after parsing through this first flow and fixing it. The only way to get it to continue is to delete the next flow that it is attempting to scan and then run again. But then it gets stuck on another one further down.
Desktop (please complete the following information):
@junners
The text was updated successfully, but these errors were encountered: