AutomationFlowsGeneral › Find n8n Params with Affected Expressions

Find n8n Params with Affected Expressions

Original n8n title: V1 Helper - Find Params with Affected Expressions

v1 helper - Find params with affected expressions. Uses manualTrigger, n8n, stickyNote. Event-driven trigger; 4 nodes.

Event trigger★★★★☆ complexity4 nodesn8n
General Trigger: Event Nodes: 4 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "zlHbtHIcCZ9enKwg",
  "name": "v1 helper - Find params with affected expressions",
  "tags": [],
  "nodes": [
    {
      "id": "b3dd44ca-960f-4689-9545-30a05dc0441e",
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        580,
        320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "96db239d-05b6-4e1d-b101-e66c2a9708f6",
      "name": "n8n",
      "type": "n8n-nodes-base.n8n",
      "position": [
        800,
        320
      ],
      "parameters": {
        "filters": {
          "activeWorkflows": true
        }
      },
      "credentials": {
        "n8nApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b2286f6b-ba37-433c-b22a-95032bc25b6e",
      "name": "Find params with affected expressions",
      "type": "n8n-nodes-base.code",
      "position": [
        1040,
        320
      ],
      "parameters": {
        "jsCode": "const AFFECTED_EXTENSIONS = ['beginningOf', 'endOfMonth', 'minus', 'plus'];\n\nconst isExpression = (value) => typeof value === 'string' && value.startsWith('={{');\n\nconst containsAny = (str, substrings) => {\n  for (const substring of substrings) {\n    if (str.includes(substring)) return true;\n  }\n  \n  return false;\n}\n\nconst isAffected = (value) => isExpression(value) && containsAny(value, AFFECTED_EXTENSIONS);\n\nfunction findParamsByTest(target, test) {\n  const parameterNames = [];\n\n  function search(obj) {\n    if (typeof obj === 'object') {\n      for (const key in obj) {\n        const value = obj[key];\n\n        if (test(value)) {\n          parameterNames.push(key);\n        } else if (typeof value === 'object') {\n          search(value);\n        }\n      }\n    }\n  }\n\n  search(target);\n\n  return parameterNames;\n}\n\nreturn $input.all().reduce((allLocations, { json: workflow }) => {\n  const perWorkflow = workflow.nodes.reduce((allLocationsPerWorkflow, node) => {\n    const perNode = findParamsByTest(node.parameters, isAffected).map(\n      (parameterName) => {\n\t\treturn {\n\t\t\tworkflowName: workflow.name,\n\t\t\tnodeName: node.name,\n\t\t\tparameterName,\n        };\n      },\n    );\n\n    return [...allLocationsPerWorkflow, ...perNode];\n  }, []);\n\n  return [...allLocations, ...perWorkflow];\n}, []);"
      },
      "typeVersion": 1
    },
    {
      "id": "ee189fa0-cf89-4b8d-8351-ed9598f18502",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        92
      ],
      "parameters": {
        "width": 548.6551724137931,
        "height": 191.08045977011497,
        "content": "## v1 Helper\n\n\u2139\ufe0f This workflow is to be run **after upgrading to n8n v1**.\n\nThis workflow returns all locations where a node in an active workflow contains a parameter using an **expression extension affected by [v1 changes](https://github.com/n8n-io/n8n/pull/6435)**. For every location, please check that the workflow still behaves as intended."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {},
  "versionId": "da694734-30ae-46b1-8e29-877c95b670ab",
  "connections": {
    "n8n": {
      "main": [
        [
          {
            "node": "Find params with affected expressions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Execute Workflow\"": {
      "main": [
        [
          {
            "node": "n8n",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

v1 helper - Find params with affected expressions. Uses manualTrigger, n8n, stickyNote. Event-driven trigger; 4 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

ℹ️ This workflow is to be run after upgrading to n8n v1.

n8n
General

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Read Binary File, Write Binary File, Execute Command
General

A modular schema checker that returns detailed error messages on validation failure.

Execute Workflow Trigger
General

Validate Totp Token Without Creating A Credential. Uses manualTrigger, stickyNote. Event-driven trigger; 5 nodes.

General

📄 Extract Key Value from JSON - n8n Workflow. Event-driven trigger; 5 nodes.