How does Error Shield actually works?

I have been using the Error Shield with a couple of flows, specifically Get List Item and Facebook Ad Library Scraper. I noticed that this module doesn’t work well with Google Sheets that have a large number of data points. If it encounters an error, it will shift the data. When I asked Gummie if there was a way to preserve the order of the entries, it said that there was a variable array called is_error containing boolean values of each entry. However, such a variable is not available on the UI. Is there a way to obtain or maintain the order in which every data point exists on the Google Sheet? I’ve been using Python’s pandas library to clean the data after I do some enrichment.

I have tried using the Join Paths, but it doesn’t seem to do what I am expecting, which is to join the error (empty values or null values) with the result of the other modules, mentioned above, to preserve order.

Hey @Victor_Melara! If you’re reporting an issue with a flow or an error in a run, please include the run link and make sure it’s shareable so we can take a look.

  1. Find your run link on the history page. Format: https://www.gumloop.com/pipeline?run_id={{your_run_id}}&workbook_id={{workbook_id}}

  2. Make it shareable by clicking “Share” → ‘Anyone with the link can view’ in the top-left corner of the flow screen.
    GIF guide

  3. Provide details about the issue—more context helps us troubleshoot faster.

You can find your run history here: https://www.gumloop.com/history

Hey Victor, would you be able to share the run link from the previous runs tab where the Google Sheet node encountered an error and the data shifted? That really shouldn’t be happening, so I’d like to dig into it. My hunch is that the Google Sheet reader node itself might not actually be erroring out – something else in the rest of the flow or a subflow might be transforming the data. Once I have the run link, I’ll be able to take a closer look and give feedback. If you could also add any extra context to the run link, that would be super helpful.

In general, the function of the Errorshield node is divided into two parts. First, if a node is running in loop mode and you wrap it in an ErrorShield, then for any loop iteration where the node errors, it’ll just skip that particular error and continue with the next input, without halting the entire flow.

For other nodes (not operating in loop mode), like a Google Sheet node or a Website Scraper node that aren’t in loop mode, if they hit an error, the ErrorShield will simply catch the error, and it also won’t produce an output. In these cases, there’s an option on the Error Shield node to pass inputs through. This creates a new output on the ErrorShield node, available only for inputs where the child node inside the ErrorShield hits an error. This is useful if you want to reprocess those inputs or log them somewhere.

Hello

Thank you for looking at my question. Here is the link to one of my previous runs: https://www.gumloop.com/pipeline?run_id=Ecx6zrjbyAiJya5pApChSh&workbook_id=8Z2wW1De9j2MtWMgstdfbu&tab=2

To further illustrate my point, I’ve added a screenshot of what I’m seeing on my Google sheet. For the error shield, I was hoping that it would output an error list such as

error_list = [none, string1, none, none, none, string2]

However, it appears that the result that gets written down on the sheet is this:

error_list = [string1, string2]

If the first list were written out in the Google sheet, there would not be a discrepancy between the two columns in the screenshot.

I see what you mean now–the screenshot really helps clarify the full context, so I appreciate you sharing that. You’re absolutely right about the format and the error: when an error occurs, only the inputs where the error happened are available as the error output, so you won’t maintain the same list size as the original input.

Given what you’re trying to achieve, this should actually be pretty straightforward if you use the Google Sheet Updater node instead of the Google Sheet Writer node. The Writer node, especially when you select “Write to Column,” just writes data vertically down a column. That’s why you’re seeing the mismatch or shift in the data.

The Google Sheet Updater node works differently. It uses a search value and a search column, sort of like a VLOOKUP. It finds the specific row you were processing and updates only the columns you’ve set on the node for that row. This keeps a one-to-one relationship between the row you’re processing and the data you’re writing, so your data stays aligned.

Here’s the Google Sheet Updater node documentation if you want to dive deeper. Let me know if this approach works for you or if you run into any other issues–happy to help!