🧑🎓 通过渐进式表达式挑战掌握数据访问技术
高级
这是一个Engineering领域的自动化工作流,包含 62 个节点。主要使用 If, Set, Html, StopAndError, ManualTrigger 等节点。 🧑🎓 通过渐进式表达式挑战掌握数据访问技术
前置要求
- •无特殊前置要求,导入即可使用
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"creator": "Lucas Peyrin",
"instanceId": "e409ea34548a2afe2dffba31130cd1cf2e98ebe2afaeed2a63caf2a0582d1da0",
"fingerprint": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdG9yIjoiIiwiaXNzIjoibjhuIiwiaWF0IjoxNzUzMTEwMjM2fQ.t3z4zUz-Pb_rTMjOtIYZmw6lxa8lkLZQXrrdDdkADNo"
},
"nodes": [
{
"id": "c769722e-d2f2-42cf-9bc2-b13018b93b8a",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
-400,
-112
],
"parameters": {
"width": 460,
"height": 552,
"content": "## Expressions Knowledge Test\n\nWelcome to the practical test for n8n Expressions! The goal is to use expressions to pull specific data from the **\"Source Data\"** node.\n\n**How to use this test:**\n1. For each step, read the instructions on the purple sticky note.\n2. Modify the corresponding **\"Test - ...\"** node by writing the correct expression in the value field.\n3. Click **\"Execute Workflow\"** to check your answers.\n4. A green path means a correct answer, a red path means it's incorrect. Keep trying until the path turns green!\n\n\nGood luck!"
},
"typeVersion": 1
},
{
"id": "1881550a-caa1-4e9d-9399-153356d89eb0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Start Test!",
"type": "n8n-nodes-base.manualTrigger",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
-144,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7af9ab86-755f-4ed5-89f3-2f945f19d5f3",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Source Data",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
176,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "12345",
"name": "name",
"type": "string",
"value": "Clark Kent"
},
{
"id": "67890",
"name": "city",
"type": "string",
"value": "Metropolis"
},
{
"id": "abcde",
"name": "level",
"type": "number",
"value": 99
},
{
"id": "fghij",
"name": "tools",
"type": "array",
"value": "[\"Typewriter\",\"Glasses\",\"n8n\"]"
},
{
"id": "klmno",
"name": "address",
"type": "object",
"value": "{\"street\":\"123 Main St\",\"zip\":\"10001\"}"
},
{
"id": "pqrst",
"name": "tasks",
"type": "array",
"value": "[{\"name\":\"Write Article\",\"status\":\"Done\"},{\"name\":\"Review PR\",\"status\":\"Pending\"},{\"name\":\"Save the World\",\"status\":\"Pending\"}]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "04defff0-a2b6-4a05-8de4-160fc2857545",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Basic Access",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
400,
16
],
"parameters": {
"color": 6,
"width": 300,
"height": 428,
"content": "### Step 1: Basic Access\n\nModify the **\"Test - Basic Access\"** node.\n\n**Task:** Create a new field named `user_city`. Its value should be an expression that gets the `city` from the **\"Source Data\"** node."
},
"typeVersion": 1
},
{
"id": "53f27214-cdef-45be-ad71-c60f96c0f7f0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - Basic Access",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
496,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "user_city",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "fd464cfd-3ff0-4f64-90bb-dd086a2e7b2c",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - Basic Access",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
752,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5ac1af5c-2769-42f8-9df7-ec092d2fec05",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.user_city }}",
"rightValue": "={{ $('Source Data').last().json.city }}"
},
{
"id": "d4f115a2-6713-4beb-8b4e-4371686ca6ea",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - Basic Access').isExecuted || $('Test - Basic Access').params.assignments.assignments[0].value.includes('.city') }}",
"rightValue": "{{ $json.city }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7df3c072-a908-498e-9034-13a7e03a4703",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - Basic Access",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
992,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6e087d88-3c5d-454e-81ac-5aec12514edb",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - Basic Access",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
992,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Use the format `{{ $('Source Data').item.json.city }}` to get the city value."
},
"typeVersion": 1
},
{
"id": "fa74e360-5b85-4fe0-9c65-547a5d788642",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Array Access",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1216,
16
],
"parameters": {
"color": 6,
"width": 300,
"height": 428,
"content": "### Step 2: Array Access\n\nModify the **\"Test - Array Access\"** node.\n\n**Task:** Create a field `third_tool`. Its value should be an expression that gets the *third* item from the `tools` array."
},
"typeVersion": 1
},
{
"id": "33fc1900-e793-4c4f-8d66-849be1ebee89",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - Array Access",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1312,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "third_tool",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "59622f54-9685-4115-bad0-3dcde79b0e76",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - Array Access",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1568,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5ac1af5c-2769-42f8-9df7-ec092d2fec05",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.third_tool }}",
"rightValue": "={{ $('Source Data').item.json.tools[2] }}"
},
{
"id": "193a01cb-64c3-456a-bee4-4febaae63e66",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - Array Access').isExecuted || $('Test - Array Access').params.assignments.assignments[0].value.includes('.tools') }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "516d40d3-3ec9-42ff-993e-0965695d1c63",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - Array Access",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1808,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "823aa93b-3e0c-4bb4-a3fd-5d960c14d8b4",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - Array Access",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1808,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Remember that arrays are zero-indexed. The third item is at index `[2]`."
},
"typeVersion": 1
},
{
"id": "5c7f181c-3ebd-41e7-8012-bf26a7e724b6",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Nested Object",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2032,
16
],
"parameters": {
"color": 6,
"width": 300,
"height": 428,
"content": "### Step 3: Nested Object\n\nModify the **\"Test - Nested Object\"** node.\n\n**Task:** Create a field `street_address`. Its value should be an expression that gets the `street` from inside the `address` object."
},
"typeVersion": 1
},
{
"id": "6c8d3b1d-4e67-4bf7-9d52-7c37c2a52ec3",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - Nested Object",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2128,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "street_address",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "188028b2-01df-46ed-9977-ef9dcb6cb9ae",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - Nested Object",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2384,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d4e5f6a7-8901-2345-6789-0abcdef12345",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.street_address }}",
"rightValue": "={{ $('Source Data').item.json.address.street }}"
},
{
"id": "b84f01c8-0b9f-4dd5-a983-e7455fafe1ce",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - Nested Object').isExecuted || $('Test - Nested Object').params.assignments.assignments[0].value.includes('.address.street') }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ebe135cb-b246-4868-ad97-6bf20c43f3e0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - Nested Object",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2624,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d1312875-9ecc-48db-81aa-14b189e4bd9c",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - Nested Object",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2624,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Chain the keys using dots, like `...json.address.street`."
},
"typeVersion": 1
},
{
"id": "946cf25f-706d-4d05-aeaa-028e3a229856",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Array of Objects",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2848,
16
],
"parameters": {
"color": 6,
"width": 300,
"height": 428,
"content": "### Step 4: Array of Objects\n\nModify the **\"Test - Array of Objects\"** node.\n\n**Task:** Create a field `second_task_name`. Its value should be an expression that gets the `name` of the *second* object in the `tasks` array."
},
"typeVersion": 1
},
{
"id": "de975fc2-c145-4d5c-8426-03e5ce702846",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - Array of Objects",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2944,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "second_task_name",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0ab0b02e-60a3-4d7f-83d0-6516b479e08d",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - Array of Objects",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3200,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e1234567-890a-bcde-f123-456789012345",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.second_task_name }}",
"rightValue": "={{ $('Source Data').item.json.tasks[1].name }}"
},
{
"id": "8ea84d9f-102e-44aa-b87d-96fc413af915",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - Array of Objects').isExecuted || $('Test - Array of Objects').params.assignments.assignments[0].value.includes('.tasks') }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "5db2abba-a971-4920-af0c-db95b4d8a1e2",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - Array of Objects",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3440,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5aab74e4-7bb8-4678-b6d3-1e00a7a22342",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - Array of Objects",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3440,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Combine array access `[1]` with object access `.name`."
},
"typeVersion": 1
},
{
"id": "e98182bb-d555-48e0-9126-ca0590e2c424",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - JS Function",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3664,
16
],
"parameters": {
"color": 6,
"width": 300,
"height": 412,
"content": "### Step 5: JS Function\n\nModify the **\"Test - JS Function\"** node.\n\n**Task:** Create a field `uppercase_name`. Its value should be an expression that gets the `name` and converts it to `UPPERCASE`."
},
"typeVersion": 1
},
{
"id": "06f1e85c-f4e5-4e49-b678-22bb189421c0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - JS Function",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3760,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "uppercase_name",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c485b7a3-5b91-4935-b9b6-3440c8e8a241",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - JS Function",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4016,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b0123456-7890-abcd-ef12-345678901234",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.uppercase_name }}",
"rightValue": "={{ $('Source Data').item.json.name.toUpperCase() }}"
},
{
"id": "7c1238db-4849-4525-b293-4f453b70fa21",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - JS Function').isExecuted || $('Test - JS Function').params.assignments.assignments[0].value.includes('.toUpperCase()') }}",
"rightValue": "={{ !$('Test - Array of Objects').isExecuted || $('Test - Array of Objects').params.assignments.assignments[0].value.includes('.tasks') }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "be45ea18-23db-407e-a886-a7aeef79c5ee",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - JS Function",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4256,
128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b56c667a-5818-49de-b042-0d2655f7bea2",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - JS Function",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4256,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Add `.toUpperCase()` to the end of your expression, inside the `{{ }}`."
},
"typeVersion": 1
},
{
"id": "4151ae3d-4b4c-4d4a-b5b7-b5de5288fd9a",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Final",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4480,
-48
],
"parameters": {
"color": 6,
"width": 300,
"height": 476,
"content": "### Final Challenge!\n\nModify the **\"Test - Final\"** node.\n\n**Task:** Create a field `summary`. Its value should be a single string that reads:\n`The status of task 'Review PR' is Pending.`\n\nYou'll need to combine static text with expressions."
},
"typeVersion": 1
},
{
"id": "3d990a6c-c598-4847-b89a-8eb158db4d21",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Test - Final",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4576,
240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "summary",
"type": "string",
"value": "="
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d81171ab-97ac-4b14-bdae-1a7479ae2e31",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Check - Final",
"type": "n8n-nodes-base.if",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4832,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a1234567-890a-bcde-f123-456789012345",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.summary }}",
"rightValue": "=The status of task '{{ $('Source Data').item.json.tasks[1].name }}' is {{ $('Source Data').item.json.tasks[1].status }}."
},
{
"id": "18e1e8e4-0539-4c4f-85fe-1fa8759717ad",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !$('Test - Final').isExecuted || ($('Test - Final').params.assignments.assignments[0].value.includes('.name') && $('Test - Final').params.assignments.assignments[0].value.includes('.status')) }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e8e56a4a-0c20-42ce-91bc-120be38067ba",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Success - Final",
"type": "n8n-nodes-base.noOp",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5072,
112
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b1ea5a88-8acc-4e46-8998-162c2e01e995",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Error - Final",
"type": "n8n-nodes-base.stopAndError",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5072,
448
],
"parameters": {
"errorMessage": "Incorrect. Hint: Combine static text and expressions like this: `Some text '{{ expression1 }}' and '{{ expression2 }}`."
},
"typeVersion": 1
},
{
"id": "4e2a56ad-59fd-40af-82cc-ce2e64478a69",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "🎉 SUCCESS 🎉",
"type": "n8n-nodes-base.html",
"notes": "Well done! You're awesome\n\n© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5424,
224
],
"parameters": {
"html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Success</title>\n</head>\n<body style=\"margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background-color: #f0f2f5; display: flex; align-items: center; justify-content: center; height: 100vh;\">\n\n <!-- The main success card -->\n <div style=\"background-color: #ffffff; padding: 40px 50px; border-radius: 12px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1); text-align: center; max-width: 400px; margin: 20px;\">\n\n <!-- Circular Green Checkmark -->\n <div style=\"width: 100px; height: 100px; background-color: #28a745; border-radius: 50%; margin: 0 auto 25px auto; display: flex; align-items: center; justify-content: center;\">\n <span style=\"color: white; font-size: 60px; line-height: 1;\">✔</span>\n </div>\n\n <!-- Main Text -->\n <h1 style=\"font-size: 36px; font-weight: 600; color: #333; margin: 0 0 10px 0;\">\n Success!\n </h1>\n\n <!-- Call to Action Text & Link -->\n <p style=\"font-size: 16px; color: #555; line-height: 1.5; margin: 0;\">\n You've mastered n8n expressions!\n </p>\n <p style=\"font-size: 16px; color: #555; line-height: 1.5; margin: 0;\">\n <a href=\"https://n8n.io/creators/lucaspeyrin\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #007bff; text-decoration: none; font-weight: 500;\">Check out more templates</a>.\n </p>\n\n </div>\n\n</body>\n</html>"
},
"notesInFlow": true,
"typeVersion": 1.2
},
{
"id": "d9efe1c3-e838-46f9-91bf-074ea6dde9ff",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Instruction - Basic Access1",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
80,
128
],
"parameters": {
"color": 6,
"width": 300,
"height": 316,
"content": ""
},
"typeVersion": 1
},
{
"id": "a5a89905-5c09-454e-9244-cec5233f6483",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - Basic Access",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
496,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "user_city",
"type": "string",
"value": "={{ $('Source Data').item.json.city }}"
},
{
"id": "28ef996b-d7e7-4d29-b4b5-f245de00d2c0",
"name": "other_solution",
"type": "string",
"value": "={{ $json.city }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "41d01828-1e14-4b3d-9f11-09493d6cb486",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - Basic Access",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
400,
464
],
"parameters": {
"color": 7,
"width": 304,
"height": 320,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **Basic Access** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "923f04a6-4593-48df-981e-58ab0a8d9779",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct1",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
928,
0
],
"parameters": {
"color": 7,
"height": 272,
"content": "✅ **Correct!**\n\nGreat start. Let's access an array next."
},
"typeVersion": 1
},
{
"id": "4afc256b-88b6-47b2-b105-2b419f18b3f0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect1",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
928,
288
],
"parameters": {
"color": 7,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Use the format\n`{{ $('Source Data').item.json.city }}`\nto get the city value."
},
"typeVersion": 1
},
{
"id": "37b4dc1e-2588-4243-b0d6-70e5956575f7",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - Array Access",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1312,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "third_tool",
"type": "string",
"value": "={{ $('Source Data').item.json.tools[2] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2bbd9ac7-4acc-41b0-9511-0929e961b56a",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - Array Access",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1216,
464
],
"parameters": {
"color": 7,
"width": 304,
"height": 320,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **Array Access** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "399cccd8-ff46-49ca-8294-5a9f7484aa47",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct2",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1728,
0
],
"parameters": {
"color": 7,
"width": 256,
"height": 272,
"content": "✅ **Correct!**\n\nPerfect. Now for nested data."
},
"typeVersion": 1
},
{
"id": "ff5db2b3-6f5d-42d8-afc1-f79dcd551ce3",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect2",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
1728,
288
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Remember that arrays are zero-indexed. The third item is at index `[2]`."
},
"typeVersion": 1
},
{
"id": "0cf6b471-7c91-4576-9a04-31bd99553aed",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - Nested Object",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2128,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "street_address",
"type": "string",
"value": "={{ $('Source Data').item.json.address.street }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "75b741f5-8eab-400c-8a8a-b35ed5f1e930",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - Nested Object",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2032,
464
],
"parameters": {
"color": 7,
"width": 304,
"height": 320,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **Nested Object** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "6b39c109-465c-474e-afe7-bfc00181e5a3",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct3",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2544,
0
],
"parameters": {
"color": 7,
"width": 256,
"height": 272,
"content": "✅ **Correct!**\n\nExcellent. Let's combine arrays and objects."
},
"typeVersion": 1
},
{
"id": "8836d90a-8aef-4c18-8fc3-156a7342689b",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect3",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2544,
288
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Chain the keys using dots, like `...json.address.street`."
},
"typeVersion": 1
},
{
"id": "13c9a37f-9cc1-4ec3-b04f-1c8ccb4ed400",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - Array of Objects",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2944,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "second_task_name",
"type": "string",
"value": "={{ $('Source Data').item.json.tasks[1].name }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4021f70b-f8fc-4856-a8a9-32886a39075b",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - Array of Objects",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
2848,
464
],
"parameters": {
"color": 7,
"width": 304,
"height": 320,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **Array of Objects** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "f1db5c03-4676-4f7f-b6d3-84e9d09ef886",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct4",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3360,
0
],
"parameters": {
"color": 7,
"width": 256,
"height": 272,
"content": "✅ **Correct!**\n\nYou're getting the hang of this. Time for some JavaScript magic."
},
"typeVersion": 1
},
{
"id": "76578357-6c68-4144-a8a4-4d64f121aa01",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect4",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3360,
288
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Combine array access `[1]` with object access `.name`."
},
"typeVersion": 1
},
{
"id": "794be646-6a3e-4b8d-a941-90d621dca210",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - JS Function",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3760,
592
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "uppercase_name",
"type": "string",
"value": "={{ $('Source Data').item.json.name.toUpperCase() }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5beb208e-4c0c-4d73-8ace-daacbf00a245",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - JS Function",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
3664,
448
],
"parameters": {
"color": 7,
"width": 304,
"height": 336,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **JS Function** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "3492291f-d171-418f-9dd5-40fbd766acbd",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct5",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4176,
0
],
"parameters": {
"color": 7,
"width": 256,
"height": 272,
"content": "✅ **Correct!**\n\nAwesome! One final challenge to bring it all together."
},
"typeVersion": 1
},
{
"id": "d54f48f8-7924-4444-b840-6a3a2ea5f5c9",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect5",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4176,
288
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Add `.toUpperCase()` to the end of your expression, inside the `{{ }}`."
},
"typeVersion": 1
},
{
"id": "550c88b1-4e26-4fb5-a0b3-cfcf649b595e",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer - Final",
"type": "n8n-nodes-base.set",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4576,
592
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e87952cb-878e-4feb-8261-342eaf887838",
"name": "summary",
"type": "string",
"value": "=The status of task '{{ $('Source Data').item.json.tasks[1].name }}' is {{ $('Source Data').item.json.tasks[1].status }}."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "edb83bc9-25ed-488d-ab71-dd77103d874b",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Answer Note - Final",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4480,
448
],
"parameters": {
"color": 7,
"width": 304,
"height": 336,
"content": "💡 **Answer Key**\n\nThis node contains the correct expression for the **Final** step. You can use it as a reference if you get stuck."
},
"typeVersion": 1
},
{
"id": "7a36c242-d76e-4675-8411-a24506e090c8",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Correct6",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4992,
32
],
"parameters": {
"color": 7,
"width": 256,
"height": 240,
"content": "✅ **YOU DID IT!**"
},
"typeVersion": 1
},
{
"id": "d5a3c589-35f8-49be-a27b-6a82198438bc",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Feedback Incorrect6",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
4992,
288
],
"parameters": {
"color": 7,
"width": 256,
"height": 320,
"content": "❌ **Incorrect.**\n\n**Hint:** Combine static text and expressions like this:\n`Some text '{{ expression1 }}' and {{ expression2 }}`."
},
"typeVersion": 1
},
{
"id": "30003316-86b3-434e-844c-f67b0722f2e0",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Congratulations!",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5264,
32
],
"parameters": {
"color": 4,
"width": 416,
"height": 576,
"content": "🎉 **Congratulations! You've passed the test!**\n\nYou have successfully demonstrated your understanding of all the basic JSON data types.\n\nYou are now ready to work with data in n8n.\n\n-- Well done! --"
},
"typeVersion": 1
},
{
"id": "960695a0-b8db-4346-8566-7e5d4feb6571",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5712,
-384
],
"parameters": {
"color": 3,
"width": 540,
"height": 1280,
"content": "## Was this helpful? Let me know!\n[](https://n8n.ac)\n\nI really hope this test helped you check your Expressions understanding fully. Your feedback is incredibly valuable and helps me create better resources for the n8n community.\n\n### **Share Your Thoughts & Ideas**\n\nWhether you have a suggestion, found a typo, or just want to say thanks, I'd love to hear from you!\nHere's a simple n8n form built for this purpose:\n\n#### ➡️ **[Click here to give feedback](https://api.ia2s.app/form/templates/feedback?template=Expressions%20Test)**\n\n### **Ready to Build Something Great?**\n\nIf you're looking to take your n8n skills or business automation to the next level, I can help.\n\n**🎓 n8n Coaching:** Want to become an n8n pro? I offer one-on-one coaching sessions to help you master workflows, tackle specific problems, and build with confidence.\n#### ➡️ **[Book a Coaching Session](https://api.ia2s.app/form/templates/coaching?template=Expressions%20Test)**\n\n**💼 n8n Consulting:** Have a complex project, an integration challenge, or need a custom workflow built for your business? Let's work together to create a powerful automation solution.\n#### ➡️ **[Inquire About Consulting Services](https://api.ia2s.app/form/templates/consulting?template=Expressions%20Test)**\n\n---\n\nHappy Automating!\nLucas Peyrin | [n8n Academy](https://n8n.ac)"
},
"typeVersion": 1
},
{
"id": "d3a6fe0a-3670-40c2-bcb8-4a75e5721abe",
"cid": "Ikx1Y2FzIFBleXJpbiI",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"notes": "© 2025 Lucas Peyrin",
"creator": "Lucas Peyrin",
"position": [
5344,
384
],
"parameters": {
"color": 4,
"width": 272,
"height": 184,
"content": "[](https://n8n.io/creators/lucaspeyrin)"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"7af9ab86-755f-4ed5-89f3-2f945f19d5f3": {
"main": [
[
{
"node": "53f27214-cdef-45be-ad71-c60f96c0f7f0",
"type": "main",
"index": 0
}
]
]
},
"1881550a-caa1-4e9d-9399-153356d89eb0": {
"main": [
[
{
"node": "7af9ab86-755f-4ed5-89f3-2f945f19d5f3",
"type": "main",
"index": 0
}
]
]
},
"3d990a6c-c598-4847-b89a-8eb158db4d21": {
"main": [
[
{
"node": "d81171ab-97ac-4b14-bdae-1a7479ae2e31",
"type": "main",
"index": 0
}
]
]
},
"d81171ab-97ac-4b14-bdae-1a7479ae2e31": {
"main": [
[
{
"node": "e8e56a4a-0c20-42ce-91bc-120be38067ba",
"type": "main",
"index": 0
}
],
[
{
"node": "b1ea5a88-8acc-4e46-8998-162c2e01e995",
"type": "main",
"index": 0
}
]
]
},
"e8e56a4a-0c20-42ce-91bc-120be38067ba": {
"main": [
[
{
"node": "4e2a56ad-59fd-40af-82cc-ce2e64478a69",
"type": "main",
"index": 0
}
]
]
},
"06f1e85c-f4e5-4e49-b678-22bb189421c0": {
"main": [
[
{
"node": "c485b7a3-5b91-4935-b9b6-3440c8e8a241",
"type": "main",
"index": 0
}
]
]
},
"c485b7a3-5b91-4935-b9b6-3440c8e8a241": {
"main": [
[
{
"node": "be45ea18-23db-407e-a886-a7aeef79c5ee",
"type": "main",
"index": 0
}
],
[
{
"node": "b56c667a-5818-49de-b042-0d2655f7bea2",
"type": "main",
"index": 0
}
]
]
},
"33fc1900-e793-4c4f-8d66-849be1ebee89": {
"main": [
[
{
"node": "59622f54-9685-4115-bad0-3dcde79b0e76",
"type": "main",
"index": 0
}
]
]
},
"53f27214-cdef-45be-ad71-c60f96c0f7f0": {
"main": [
[
{
"node": "fd464cfd-3ff0-4f64-90bb-dd086a2e7b2c",
"type": "main",
"index": 0
}
]
]
},
"59622f54-9685-4115-bad0-3dcde79b0e76": {
"main": [
[
{
"node": "516d40d3-3ec9-42ff-993e-0965695d1c63",
"type": "main",
"index": 0
}
],
[
{
"node": "823aa93b-3e0c-4bb4-a3fd-5d960c14d8b4",
"type": "main",
"index": 0
}
]
]
},
"fd464cfd-3ff0-4f64-90bb-dd086a2e7b2c": {
"main": [
[
{
"node": "7df3c072-a908-498e-9034-13a7e03a4703",
"type": "main",
"index": 0
}
],
[
{
"node": "6e087d88-3c5d-454e-81ac-5aec12514edb",
"type": "main",
"index": 0
}
]
]
},
"6c8d3b1d-4e67-4bf7-9d52-7c37c2a52ec3": {
"main": [
[
{
"node": "188028b2-01df-46ed-9977-ef9dcb6cb9ae",
"type": "main",
"index": 0
}
]
]
},
"a5a89905-5c09-454e-9244-cec5233f6483": {
"main": [
[]
]
},
"188028b2-01df-46ed-9977-ef9dcb6cb9ae": {
"main": [
[
{
"node": "ebe135cb-b246-4868-ad97-6bf20c43f3e0",
"type": "main",
"index": 0
}
],
[
{
"node": "d1312875-9ecc-48db-81aa-14b189e4bd9c",
"type": "main",
"index": 0
}
]
]
},
"be45ea18-23db-407e-a886-a7aeef79c5ee": {
"main": [
[
{
"node": "3d990a6c-c598-4847-b89a-8eb158db4d21",
"type": "main",
"index": 0
}
]
]
},
"516d40d3-3ec9-42ff-993e-0965695d1c63": {
"main": [
[
{
"node": "6c8d3b1d-4e67-4bf7-9d52-7c37c2a52ec3",
"type": "main",
"index": 0
}
]
]
},
"7df3c072-a908-498e-9034-13a7e03a4703": {
"main": [
[
{
"node": "33fc1900-e793-4c4f-8d66-849be1ebee89",
"type": "main",
"index": 0
}
]
]
},
"ebe135cb-b246-4868-ad97-6bf20c43f3e0": {
"main": [
[
{
"node": "de975fc2-c145-4d5c-8426-03e5ce702846",
"type": "main",
"index": 0
}
]
]
},
"de975fc2-c145-4d5c-8426-03e5ce702846": {
"main": [
[
{
"node": "0ab0b02e-60a3-4d7f-83d0-6516b479e08d",
"type": "main",
"index": 0
}
]
]
},
"0ab0b02e-60a3-4d7f-83d0-6516b479e08d": {
"main": [
[
{
"node": "5db2abba-a971-4920-af0c-db95b4d8a1e2",
"type": "main",
"index": 0
}
],
[
{
"node": "5aab74e4-7bb8-4678-b6d3-1e00a7a22342",
"type": "main",
"index": 0
}
]
]
},
"5db2abba-a971-4920-af0c-db95b4d8a1e2": {
"main": [
[
{
"node": "06f1e85c-f4e5-4e49-b678-22bb189421c0",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 工程
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
🧑🎓 通过交互式挑战和即时反馈测试JSON技能
🧑🎓 通过交互式挑战和即时反馈测试JSON技能
If
Set
Html
+
If
Set
Html
61 节点Lucas Peyrin
杂项
学习工作流逻辑:合并、IF和Switch操作
学习工作流逻辑:合并、IF和Switch操作
If
Set
Merge
+
If
Set
Merge
22 节点Lucas Peyrin
工程
带等待节点的长运行工作流状态管理系统
带等待节点的长运行工作流状态管理系统
If
Set
Code
+
If
Set
Code
42 节点Lucas Peyrin
工程
学习数据同步:仓库库存审计教程
学习数据同步:仓库库存审计教程
Set
Split Out
Manual Trigger
+
Set
Split Out
Manual Trigger
17 节点Lucas Peyrin
工程
🎓 使用并行处理优化速度关键工作流(扇出-扇入)
🎓 使用并行处理(扇出/扇入)优化速度关键工作流
If
Set
Code
+
If
Set
Code
34 节点Lucas Peyrin
工程
使用正则表达式和 AI 发现隐藏的网站 API 端点
使用正则表达式和人工智能发现隐藏的网站API端点
If
Set
Html
+
If
Set
Html
58 节点Yulia
工程
工作流信息
难度等级
高级
节点数量62
分类1
节点类型7
作者
Lucas Peyrin
@lucaspeyrinInnovative builder with a passion for crafting automation solutions that solve real-world challenges. From streamlining workflows to driving efficiency, my work empowers teams and individuals to achieve more with less effort. Experienced in developing scalable tools and strategies that deliver results with n8n, supabase and cline.
外部链接
在 n8n.io 查看 →
分享此工作流