Option for block empty inputs

Basically I want n8n to execute the next node even if an input has no data (but was executed).

Example:

{
  "nodes": [
    {
      "parameters": {
        "values": {
          "number": [
            {
              "name": "number0"
            }
          ],
          "string": [
            {
              "name": "key",
              "value": "a"
            }
          ]
        },
        "options": {}
      },
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        550,
        340
      ]
    },
    {
      "parameters": {
        "values": {
          "number": [
            {
              "name": "number1",
              "value": 1
            }
          ],
          "string": [
            {
              "name": "key",
              "value": "a"
            }
          ]
        },
        "options": {}
      },
      "name": "Set1",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        550,
        490
      ]
    },
    {
      "parameters": {
        "values": {
          "number": [
            {
              "name": "number2",
              "value": 2
            }
          ],
          "string": [
            {
              "name": "key",
              "value": "a"
            }
          ]
        },
        "options": {}
      },
      "name": "Set2",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        520,
        640
      ]
    },
    {
      "parameters": {
        "mode": "mergeByKey",
        "propertyName1": "key",
        "propertyName2": "key"
      },
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 1,
      "position": [
        800,
        490
      ]
    },
    {
      "parameters": {
        "mode": "mergeByKey",
        "propertyName1": "key",
        "propertyName2": "key"
      },
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 1,
      "position": [
        1000,
        340
      ]
    },
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value2": true
            }
          ]
        }
      },
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        660,
        640
      ]
    }
  ],
  "connections": {
    "Set": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set2": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "IF": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}

But sometimes I would like to have an option that prevents this:

{
  "nodes": [
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"accessible\"]}}",
              "value2": true
            }
          ]
        }
      },
      "name": "IF1",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        860,
        470
      ]
    },
    {
      "parameters": {
        "functionCode": "return [{json: {accessible: true}}];"
      },
      "name": "all_accessible",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        680,
        440
      ]
    },
    {
      "parameters": {
        "mode": "passThrough"
      },
      "name": "Merge4",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 1,
      "position": [
        1120,
        530
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "test",
              "value": "test"
            }
          ]
        },
        "options": {}
      },
      "name": "do some stuff",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        1060,
        70
      ]
    },
    {
      "parameters": {},
      "name": "do some stuff1",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        520,
        430
      ]
    },
    {
      "parameters": {},
      "name": "Jey!",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        960,
        270
      ]
    },
    {
      "parameters": {},
      "name": "Oh no!",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        1320,
        530
      ]
    }
  ],
  "connections": {
    "IF1": {
      "main": [
        [
          {
            "node": "Jey!",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge4",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "all_accessible": {
      "main": [
        [
          {
            "node": "IF1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge4": {
      "main": [
        [
          {
            "node": "Oh no!",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "do some stuff": {
      "main": [
        [
          {
            "node": "Merge4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "do some stuff1": {
      "main": [
        [
          {
            "node": "all_accessible",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Hey @lublak!

This is really interesting. The nodes have an Always Output Data parameter in the Settings tab. If turn that to true, even if the node doesn’t have any output data to return, it will allow the next node in the workflow to execute. Let us know if this is what you’re looking for :slight_smile:

@harshil1712 It is currently the other way around. I would like to prevent further execution. I would like to prevent the execution of: Oh no!
Jey! should be executed of course.