Skip to main content
Question

"Cannot assign list of string with strings" error when making conditions in automations

  • August 4, 2025
  • 10 replies
  • 152 views

Forum|alt.badge.img+12

Hi! I have an automation that has two find actions.

  1. Find a record (a person) on table 1 
  2. Find an interaction on table 2

 

After the two find actions have run, I have a conditional logic group in order to update the record from table 1. In the first condition, I want to check if a value from Table 2 exists on the record found on Table 1. The value is a formula field on Table 2. However, when I try to make a condition using a formula (either “Activation name” or the array version of that formula, “Activation name array,” it is greyed out and gives the error Cannot assign list of string with strings. How can I use a formula as a condition here?

 

10 replies

airvues
Forum|alt.badge.img+7
  • Inspiring
  • 62 replies
  • August 4, 2025

Hi ​@laurenCTCL,

 

The issue you are seeing here is that you can’t compare 2 different types of data types in your conditional logic. The “List of Name” which is what the find block returns, is an array of names. The Activation name is probably just a string. 

 

A few solutions here:

 

  1. Add a script block after the second find block and pass the array of names as an input. Then just loop through that array and create a string that contains all of the names. Output.set a variable with the string of names and then use that in your conditional logic.
  2. Not sure what your overall automation is trying to achieve, but you could use a repeating group instead of conditional logic and that way you can compare each name from the List of names, one at a time with the Activation Name. 

TheTimeSavingCo
Forum|alt.badge.img+31

Yeah I’d do a script block thing like airvues mentioned, and I think we’d have to convert the ‘Activation Name’ value to a string as well, and so it’d look like this:

And this is what the conditional would look like:

 

 

 


Forum|alt.badge.img+12
  • Author
  • Known Participant
  • 57 replies
  • August 5, 2025

Thank you both! To confirm: There’s no way to change the values used in the condition to match, like by changing one of the strings to arrays or the other way around?
 

@TheTimeSavingCo I’m new to scripting- which field is the list of names pulling from in the namesToMatch input?


TheTimeSavingCo
Forum|alt.badge.img+31

There’s no way to change the values used in the condition to match, like by changing one of the strings to arrays or the other way around?

Not without scripting I think

---

@TheTimeSavingCo I’m new to scripting- which field is the list of names pulling from in the namesToMatch input?

nameToMatch would be the values from Table 1 in your context I believe

---

Just realized I didn’t paste the script too, here it is sorry!

let {namesToMatch,activationName} = input.config()

output.set('namesToMatch', namesToMatch)
output.set('activationName', activationName.toString())

 


Richard - Simplified Webhooks
Forum|alt.badge.img+2

Hi ​@laurenCTCL,

I think the above mentioned solution is great.
Just adding 2cents here because I’m not 100% sure how your two tables really look like. It seems like the “List of Names” comes from a Lookup. Maybe you’d be able to use a Rollup field with the formula “Arrayjoin()”.
The result of that column would be a string instead of an array. Then you might be able to compare it.
Again, I don’t fully understand your table setup but maybe that’s an additional approach to try :)

Best,
Richard


Alexey_Gusev
Forum|alt.badge.img+25
  • Brainy
  • 1261 replies
  • August 6, 2025

Hi,

I think you can add this condition to the second ‘Find’.
And then in condition group check whether the lenght of 2nd Find > 0
 


Forum|alt.badge.img+12
  • Author
  • Known Participant
  • 57 replies
  • August 8, 2025

Thank you everyone!

@Alexey_Gusev you’re referring to the second condition from my original screenshots, right?

 

@Richard - Simplified Webhooks good call- i’m also going to try a rollup not a lookup


Alexey_Gusev
Forum|alt.badge.img+25
  • Brainy
  • 1261 replies
  • August 9, 2025

Hi, ​@laurenCTCL 

Yes, I did. Sorry, but I checked it myself and it didn’t allow me to do it as well
In short, problem is that step called ‘Find RecordS” and it designed to find a group of records.
So, when you use anything from it, it expect array of values, even if you set limit of ‘Find Records’ to 1

I think, script workaround is better, but there is another workaround without scripting.
If I understood well, you are getting two record IDs, in table 1 and in table 2, inside a body of webhook.
Note that record ID is a string looking like “recXXXXX” , where XXXX are 14 radom letter or number chars. If you have other value called Record ID, like some internal ID used in primary field, it won’t work.
Then you have 2 Find Records operations, each to find a record in respective table.
You can use following trick - after Find Records step, you can Update this record, selecting any other text field, with content of Find Records step, field Values, the List of the same field. So basically you are not changing anything. But Update is action related to a single record. And then you can refer to this step (Update) instead of referring to a step with Find Records, to get a single value instead of array.
This workaround looks a bit stupid 😵, but it works. In one of my bases I have automation that puts some text value to any record and then returns old value to the same field of it, just to add this value to a Single-Select field options, because automation script can’t do it. 😀

Nevertheless, if these tables are linked to each other, I have a feeling that you are trying to do something that can be done in a more simple way. Of course, I might be wrong with that.


Richard - Simplified Webhooks
Forum|alt.badge.img+2

@laurenCTCL - report back how it goes! :)


Alexey_Gusev
Forum|alt.badge.img+25
  • Brainy
  • 1261 replies
  • August 11, 2025

@laurenCTCL , yes, but after I tested I’ve found that it outputs array too.

I think, script solution is better, but you can use workaround with Update record. After each Find Records put Update step (I suppose you have Record ID in your input data), choose any other text field and update with a list of values from Find, same field. The step actually will do nothing, but then you can use value from this step as a single string in further steps.