function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Bithyzis DimitriosBithyzis Dimitrios 

Visual Flow Assistance

Good morning

Since I have no coding background, visual flow is a must for me (At least for now) and for some time now I try to understand the tool, its functions and limitations and what better approach than to solve requirements (fictional for now, since I am no yet an admin - exam is in two weeks).

My "requirement" started as:
1. Web-to-Case -------> New Case lands in SF
2. Case record has a custom picklist field that is populated with a value that the Record Submitter choses from.
3. User needs an automation that according to the value of the custom picklist field will allow him/her to email (I am aware that there is a limitation in flow to up to 5 emails) certain contacts in SF that have the same value stored in a custom text field in the contact record.

First Flow approach.
User-added image
  • Custom Button - provides caseId (for flow testing an assignment element is used)
  • User Screen1 - Drop Down list to prompt user to choose a value based on the picklist field values present on the case object (i am trying to automate this step).
  • User Screen2 - Dynamic record choice Multi Select Checkboxes with Choise Label and Choise stored value and NO additional options populated (if populated only one value would be stored).
 
  • Assignment to store the contact emails in a variable -
{!varTContactEmails} equals {!Contacts}, where {!Contacts} are the Screen multi Select fields.
  • Assignment to remove brackets - {!varTContactEmail} equal
{!fvarTRemoveBrackets}, where {!fvarTRemoveBrackets} equals to
TRIM(SUBSTITUTE(SUBSTITUTE({!varTContactEmail},"[", ""),"]", "")) + ";"
  • Assignment add left value to Collection - {!CollectionVariableContactsEmail} add {!fvarTGrabLeftValue}, where {!fvarTGrabLeftValue} equals to
(LEFT({!varTContactEmail},FIND(";",{!varTContactEmail})-1))
  • Assignment to remove last parsed value - {!varTContactEmail} equals {!fvarTRemainingContactEmails}, where {!fvarTRemainingContactEmails} equals to
(RIGHT({!varTContactEmail},LEN({!varTContactEmail})-FIND(";",{!varTContactEmail})))
  • Decision - Remaining values to be parsed
--- Yes: return to step 6
--- No: proceed to email action
  • Email action -
Body: Hello flow is ok
Subject: Flow worked Email addresses (collection):{!CollectionVariableContactsEmail}

Unfortunately the flow results in Error - The "Email_Action_1" element in your flow has validation errors.

Up and to step 5 the emails are correctly passed to the {!varTContactEmail} since I can print them on the screen.

Second Flow Approach (path 2)
Being Stuborn I have redesigned the flow so that to not utilize any screens (maybe I was at fault with any of the assignment ellements OR my formulas), so I completely abolish them and instead I rely on a fast lookup.
User-added image
Unfortunately the flow results in Error - The "XXXX_Test_Email" element in your flow has validation errors.

Third Flow Approach (path 1b)
Reverted back to assignments after viewing the following video: https://screencast-o-matic.com/watch/coi6btfTBg

Again though
Unfortunately the flow results in Error - The "3rd_Attempt" element in your flow has validation errors

On all three attempts I make sure to pull ONLY three emails so that to be within the flow limits (5 mass emails).

Any ideas on what causes the fault will be much appreciated and if anyone is located in Greece or plans to visit Athens Greece ----> Beers are on me.

With regards Dimitrios
Best Answer chosen by Bithyzis Dimitrios
Bithyzis DimitriosBithyzis Dimitrios
@[Narender Singh]
You are a true star. Thank you so much for the assistance in determining what was behind the visual flow Error: "Email_Action_1" element in your flow has validation errors.

Much obliged, I owe you big, my friend.

For future reference, the flow is correctly designed at all paths (Flow picture incud

Solution for the paths can be found via the articles below from some of the most talented SF users:

Rakesh Gupta: https://automationchampion.com/2015/02/03/add-record-to-multiple-chatter-groups-parsing-multi-select-picklist-fields-flow/
@[Deepak Anand]: https://screencast-o-matic.com/watch/coi6btfTBg
@[Mayank Srivastava]: http://succeedwithsalesforce.com/parsing-an-objects-multi-select-picklist-selections-to-use-in-a-visual-flow/
@[David Litton]: https://salesforcesidekick.com/2016/11/07/parse-a-multi-select-value-in-visual-flow-unmanaged-package-included/
Elgun Aliyev via Salesforce Ben: https://www.salesforceben.com/create-your-first-flow-mass-emailing-contacts/

But a very big thank you to @[Narender Singh] for taking the time to connect live with me and spot the error. An unused formula variable.

Thank you Narender.