Search code examples
zapier

Zapier - Remove item from Line-Items object and/or output Line-items from Code step


it's been several times that I got stuck with this one: I don't understand how to output Line-Items with a Code step?

Is it even possible?

For example:

  • I build Line-Items from a JSON
  • In these Line-Items, I would like to remove some of them, based on various criteria
  • Then output Line-Items and use them in a further step

Here is something I tried

But, on a further step, I don't get Line-Items but separate values.

So, how to manipulate Line-Items into a Code step and get Line-Items as the output?

I feel like I'm missing something...

Thanks.

PS: more explanation on the "why".

I got my data from a Typeform entry in which I can get between 1 and 5 emails (plus other data) So, I got empty row that I want to remove That's why I build a Line-Items object then try to remove the useless ones


Solution

  • Not sure if this is what you're looking for, but this is what I use. Given two line items, one with names and one with values, each separated by ;;, I combine those into one object, and then use the value of a field based on the name in a later action.

    var names = inputData.names.split(";;");
    var values = inputData.values.split(";;");
    
    function toObject(names, values) {
        var result = {};
        for (var i = 0; i < names.length; i++)
             result[names[i]] = values[i];
        return result;
    }
    
    output = toObject(names,values);