Looking to generate an array from a string

Hi everyone! I am a little stuck. I am trying to compare a list of results from a google sheet to a string, but when I pass the string and the array into IF node and compare them, the IF node only processes the first item since there is only one instance of the string. How would I generate an array using the string that is copied as many times as there are rows in the google sheet? I hope this makes sense, thanks!

Can you please share the workflow so that I can have a proper look? Just copy all the workflow and paste it here.

Hi Ricardo, see below:

{
  "nodes": [
    {
      "parameters": {
        "operation": "update",
        "calendar": "[email protected]",
        "eventId": "={{$node[\"Find Calendar Event\"].json[\"id\"]}}",
        "updateFields": {
          "description": "={{$node[\"Build GCal Description\"].parameter[\"values\"][\"string\"][0][\"value\"]}}"
        }
      },
      "name": "Update event with Jira link",
      "type": "n8n-nodes-base.googleCalendar",
      "typeVersion": 1,
      "position": [
        2210,
        380
      ],
      "credentials": {
        "googleCalendarOAuth2Api": "Angel Calendar"
      },
      "disabled": true
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "newgcaldescription",
              "value": "={{$node[\"HTTP Request\"].json[\"_links\"][\"web\"]}}\n\n{{$node[\"Find Calendar Event\"].json[\"description\"]}}"
            }
          ]
        },
        "options": {}
      },
      "name": "Build GCal Description",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        2000,
        380
      ],
      "disabled": true
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "sanitizedurl",
              "value": "={{$node[\"Calendly Trigger\"].json[\"payload\"][\"questions_and_responses\"][\"2_response\"].match(/(?<=^https|:\\/\\/)(\\w+.\\w+.com)/gi).toString()}}"
            },
            {
              "name": "subdomainonly",
              "value": "={{$node[\"Calendly Trigger\"].json[\"payload\"][\"questions_and_responses\"][\"2_response\"].match(/(?<=^http?s:\\/\\/)(\\w+)/g).toString()}}"
            }
          ]
        },
        "options": {}
      },
      "name": "Sanitize URL",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        2410,
        380
      ]
    }
  ],
  "connections": {
    "Update event with Jira link": {
      "main": [
        [
          {
            "node": "Sanitize URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build GCal Description": {
      "main": [
        [
          {
            "node": "Update event with Jira link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

It seems like you did not copy the whole workflow as there is not IF node there

Very strange, it’s not letting me select that node if I select others!

{
  "nodes": [
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"FQDN\"]}}",
              "operation": "contains",
              "value2": "={{$node[\"Sanitize URL\"].json[\"subdomainonly\"]}}"
            }
          ],
          "boolean": []
        }
      },
      "name": "Check if clientURL matches devops",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        3020,
        380
      ]
    }
  ],
  "connections": {}
}

If that does not work you can go to the left menu workflows.-> download. That should do it.

I figured it out! I wasn’t aware the the Iterate function was called Split In Batches, so I was trying to solve the problem in a way that didn’t make sense. The other issue was that since I did a google sheet read before an IF, only the first result passed into the IF. I solved the issue by using the Split in Batches node to receive the google sheet data, broke it into batches of 1 and ran them through the if, and split off the undesirable objects to No Operations. It’s working perfectly! Thanks!