Flow Designer: How to Loop through a Comma-Separated String

jmiskey
Kilo Sage

I have a Flow that has a Flow Variable whose value is being dynamically built.  Basically, it is building a list of AD Groups to add someone to, based on the answers to a bunch of questions in the Catalog Item.  So when it is complete, it is a String that is structured like this:

AD_Group_1,AD_Group_2,AD_Group_3

 

I now would like to run a "For Each" action on it, to loop through each of those 3 values.  However, a "For Each" does not want to run against a "String" variable, and you cannot create Flow Variables with an "Array" type. 

 

So, unless I am missing something, I assume that I somehow need to convert my String into an Array (maybe via a Custom Action)?  What is the easiest way of doing that?  Has anyone come up with the code for that already?  Or is there a different way I can loop through those values in my comma-separated string in Flow Designer?

 

Thanks

 

 

1 ACCEPTED SOLUTION

Zach Koch
Giga Sage
Giga Sage

Take a look at this post, it should help you solve your issue.

Action Designer - Custom action to convert comma separated strings into array 

If this information helped resolve your issue, please remember to mark response correct and thumbs up to help future community members on this information, thanks!

View solution in original post

10 REPLIES 10

Zach Koch
Giga Sage
Giga Sage

Take a look at this post, it should help you solve your issue.

Action Designer - Custom action to convert comma separated strings into array 

If this information helped resolve your issue, please remember to mark response correct and thumbs up to help future community members on this information, thanks!

That looks promising, but the only issue is that it shows the output as a "String" variable.  I tested it out, and the "For Each" action in ServiceNow does not allow you to use a String variable on it.  I tried changing it to "Array.String" output type, but is not working either.

 

Any idea on what I need to tweak to get this to work in a "For Each" action?

Can you share the way you have your action configured? You can use Array.string as an output, and use for each on that.

If this information helped resolve your issue, please remember to mark response correct and thumbs up to help future community members on this information, thanks!

I had to update the Output types to "Array.String" in BOTH the Script section AND the Output section.  When I did that, it all worked out.

 

Thanks!