Skip to main content

I have an action that reads data from a spreadsheet using Get Many Spreadsheet Rows (Advanced, output as Line Items)

The rows output is structured as nested line items, with the row number as the parent node and columns as the children. When I use that input to the next step it comes in as one comma separated string. Is that expected?

My work-around is to use the raw_rows output and then use several formatting steps to separate it into line items again and strip out the extra quote and bracket characters. I feel like my zap has 5 extra formatting steps that shouldn’t be necessary and it’s causing me to hit the API limit much faster than if the original format were preserved.

Here is the output and then what comes in as input on the next action:
 

rows output - line items
rows input - comma separated

 

Hi @Perry 

Good question.

Zapier pre-parses line items into individual variables that become comma separated arrays with line items.

It would be helpful to have more context about what you are trying to configure with the Zap steps.

 

 


Thanks for the explanation - I’m trying to read rows from a Google spreadsheet and post them to a Slack channel. In the example above I want each fruit to be on a separate line, grouped by row. For example:

 

apple
green apple
grannysmith apple
macintosh apple
delicious apple

cherries
bing cherries
etc.

I’m able to do that now, but only by using 5 extra formatting steps


I was interested in the Lookup feature, but it has to be an exact match. My spreadsheet just looks for the presence of a string (e.g. “apple)


@Perry

Have you considered using Airtable instead of GSheets?

  • Airtable records can be linked across Tables.
  • Airtable Rollup Fields can be used to structure linked record values.
  • Airtable Automations have a native integration with Slack.

 


I have actually, but Airtable doesn’t support the complex lookup and filter function I’m able to do in GSheets.

Basically what I’m doing in the spreadsheet is updating a column of cells with lookup terms that then return anything from a larger list where the lookup term appears anywhere in any item of the larger list, and then return those values to Slack.

Basically you enter a comma separated list of terms and the zap responds with a match list for each term. It works great, it just uses a lot of steps to format the data.


@Troy Tessalone when you say the pre-processed data “become comma separated arrays with line items,” are you saying that each line item becomes an element in the comma separated array? I think you’re saying it should be basically a line-item list of comma separated values, but I’m just getting a single list.

If it’s expected behavior then I’m just out of luck. I just want to confirm it’s expected because it seems strange that you’d lose all that structure.


@Perry

A Code step can be used to parse the returned JSON from GSheets.

You can try asking ChatGPT for help writing the JavaScript.

 

 

 


You know, I just came across your post 

and thought the same thing - that I could do it with Code. This is a great suggestion - thank you so much for your help and quick responses!


Well they do say great minds think alike, @Perry! Big thanks to Troy for helping to get this solved! 😁🎉

Seems like you’re all set for now but please do reach out again if you need further assistance. The Community is always here and happy to help! 


Reply