Jotform-Telegram 주문 동기화(제출됨)
고급
이것은자동화 워크플로우로, 32개의 노드를 포함합니다.주로 If, Set, Code, Wait, Switch 등의 노드를 사용하며. JotForm 자동화 비즈니스 동기화: Telegram 확인과 Zoho 발행
사전 요구사항
- •Telegram Bot Token
- •Google Sheets API 인증 정보
사용된 노드 (32)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "zCg4z524oOeWzzH9",
"meta": {
"instanceId": "7f1a0694161455be3a7e71f1e0dea04908b0376a1a81e3a0c1e5ac879d48f83a"
},
"name": "Jotform-Telegram Order Sync (Submitted)",
"tags": [],
"nodes": [
{
"id": "5dbd71ce-486c-4abd-9264-8f3d9169d03e",
"name": "JotForm 트리거",
"type": "n8n-nodes-base.jotFormTrigger",
"position": [
-192,
-176
],
"webhookId": "7973d518-b1c7-4e87-9b02-242bbbef1fd8",
"parameters": {
"form": "{{ $form_id_placeholder }}"
},
"typeVersion": 1
},
{
"id": "63b71df6-f37c-407d-a022-19733284d757",
"name": "텍스트 메시지 보내기",
"type": "n8n-nodes-base.telegram",
"position": [
2560,
-208
],
"webhookId": "8f5af583-46c4-4493-91d6-068530d5378f",
"parameters": {
"text": "=🧴 {{ $template_order_name }} Order Confirmation\nThank you, {{ $('Organize').item.json.customer.name }}! Your order {{ $('Organize').item.json.orderId }} has been received ✅ \nHere’s your summary:\n\n🛍️ Products: \n{{ $('Edit Fields').item.json.Products }}\n\n💰 Total: {{ $('Organize').item.json.total }} {{ $('Organize').item.json.currency }}\n🚚 Delivery: {{ $template_delivery_time }} \n📍 Address: {{ $('Organize').item.json.customer.address }}\n\nNeed help? Message us here anytime 💬",
"chatId": "={{ $('Edit Fields').item.json.ChatId }}",
"additionalFields": {
"appendAttribution": false
}
},
"typeVersion": 1.2
},
{
"id": "babe8a4d-af6b-49c4-859b-4575238b3e7f",
"name": "채팅 ID 행 가져오기",
"type": "n8n-nodes-base.dataTable",
"position": [
1392,
-192
],
"parameters": {
"operation": "get",
"returnAll": true,
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "691a0fd1-73f5-45b2-b0f7-25a02474de85",
"name": "채팅 ID 및 상품 설정",
"type": "n8n-nodes-base.set",
"position": [
1984,
-208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5b508d30-5a49-4ed0-a664-bdb08e86edaf",
"name": "ChatId",
"type": "string",
"value": "={{ $('Get ChatId Row(s)').item.json.MessageChatId }}"
},
{
"id": "27d0c17c-fe7f-4dfa-8ee2-ed8b930a4e6d",
"name": "Products",
"type": "string",
"value": "={{ \n $('Organize').item.json.products\n .map(p => `• ${p.name.replace(/([_*[\\]()~`>#+=|{}.!-])/g, '\\\\$1')} x${p.quantity}`)\n .join('\\n') \n}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "654f6d89-8281-4b83-a95f-88d16a40e178",
"name": "주문 정보 정리 및 주문 ID 생성",
"type": "n8n-nodes-base.code",
"position": [
16,
-176
],
"parameters": {
"jsCode": "// Parse incoming Jotform data\nconst data = items[0].json;\n\n// Extract main fields\nconst name = `${data[\"Full Name\"].first} ${data[\"Full Name\"].last}`.trim();\nconst email = data[\"E-mail\"];\nconst phone = data[\"Contact Number\"]?.full || \"\";\nconst billing = data[\"Billing Address\"];\nconst address = [billing.addr_line1, billing.addr_line2, billing.city, billing.state, billing.postal, billing.country]\n .filter(Boolean)\n .join(\", \");\n\n// Extract product details\nconst products = (data[\"My Products\"].products || []).map(p => ({\n name: p.productName,\n quantity: p.quantity,\n unitPrice: p.unitPrice,\n subTotal: p.subTotal,\n currency: p.currency,\n options: p.productOptions.join(\", \"),\n}));\n\n// Extract total\nconst totalInfo = data[\"My Products\"].totalInfo || {};\nconst total = totalInfo.totalSum || 0;\nconst currency = totalInfo.currency || \"USD\";\n\n// Generate order ID - use placeholder prefix\nconst orderId = `{{ $order_id_prefix }}-${Math.floor(Date.now() / 1000)}`;\n\n// Escape MarkdownV2 special chars for Telegram\nconst escapeMarkdown = (text) => {\n return text\n ?.toString()\n .replace(/([_*[\\]()~`>#+=|{}.!-])/g, '\\\\$1');\n};\n\n// Prepare final object\nreturn [\n {\n json: {\n orderId,\n customer: {\n name,\n email,\n phone,\n address,\n },\n products,\n total,\n currency,\n // Pre-generate summary text for other nodes (like Google Sheets)\n summaryText: `🧴 *{{ $template_order_name }} Order Confirmation* \nThank you, ${escapeMarkdown(name)}\\\\! Your order *#${escapeMarkdown(orderId)}* has been received ✅ \n\n🛍️ *Products:* \n${products.map(p => `\\\\- ${escapeMarkdown(p.name)} x${escapeMarkdown(p.quantity)} \\\\(${escapeMarkdown(p.subTotal)} ${escapeMarkdown(p.currency)}\\\\)`).join('\\n')}\n\n💰 *Total:* ${escapeMarkdown(total)} ${escapeMarkdown(currency)} \n📍 *Address:* ${escapeMarkdown(address || \"N/A\")} \n📞 *Phone:* ${escapeMarkdown(phone || \"N/A\")}`,\n },\n },\n];\n"
},
"typeVersion": 2
},
{
"id": "8428985f-6c14-4918-b19e-ff604da17b66",
"name": "채팅 ID 발견 시",
"type": "n8n-nodes-base.if",
"position": [
1632,
-192
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "00d797b0-9a4d-498b-a57c-65e3114e5d63",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Get ChatId Row(s)').item.json.id }}",
"rightValue": "={{ Math.max(...$items(\"Get ChatId Row(s)\").map(i => i.json.id)) }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "32633847-dcf7-4307-a613-f1a23e3e05b1",
"name": "CRM 시트 추가/업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
2000,
-464
],
"parameters": {
"columns": {
"value": {
"id": "={{ $('Organize & Generate Order ID').item.json.orderId }}",
"currency": "={{ $('Organize & Generate Order ID').item.json.currency }}",
"الفئة": "={{ $('Organize & Generate Order ID').item.json.customer.email }}",
"النوع": "={{ $('Organize & Generate Order ID').item.json.customer.name }}",
"الوصف": "={{ $('Organize & Generate Order ID').item.json.summaryText }}",
"التاريخ": "={{ $('JotForm Trigger').item.json.createdAt || new Date().toISOString() }}",
"المقدار": "={{ $('Organize & Generate Order ID').item.json.customer.address }}",
"اسم الموظف": "={{ $('Organize & Generate Order ID').item.json.total }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "التاريخ",
"type": "string",
"display": true,
"required": false,
"displayName": "التاريخ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "النوع",
"type": "string",
"display": true,
"required": false,
"displayName": "النوع",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "الفئة",
"type": "string",
"display": true,
"required": false,
"displayName": "الفئة",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "المقدار",
"type": "string",
"display": true,
"required": false,
"displayName": "المقدار",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "currency",
"type": "string",
"display": true,
"required": false,
"displayName": "currency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "اسم الموظف",
"type": "string",
"display": true,
"required": false,
"displayName": "اسم الموظف",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "الوصف",
"type": "string",
"display": true,
"required": false,
"displayName": "الوصف",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "update_id",
"type": "string",
"display": true,
"required": false,
"displayName": "update_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "created_at",
"type": "string",
"display": true,
"required": false,
"displayName": "created_at",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "{{ $google_sheet_gid }}",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{ $google_sheet_document_id }}/edit#gid={{ $google_sheet_gid }}",
"cachedResultName": "Sheet1 (Placeholder)"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "{{ $google_sheet_document_id }}",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/{{ $google_sheet_document_id }}/edit?usp=drivesdk",
"cachedResultName": "CRM (Placeholder)"
}
},
"typeVersion": 4.7
},
{
"id": "420c37a1-cf4c-4af1-a565-218016fca586",
"name": "Zoho 인보이스 생성",
"type": "n8n-nodes-base.zohoCrm",
"position": [
2288,
-208
],
"parameters": {
"subject": "Form Sale",
"resource": "invoice",
"Product_Details": [
{
"id": "{{ $zoho_product_id_1 }}",
"total": "={{ $('Organize & Generate Order ID').item.json.products[0].subTotal }}",
"quantity": "={{ $('Organize & Generate Order ID').item.json.products[0].quantity }}",
"unit_price": "={{ $('Organize & Generate Order ID').item.json.products[0].unitPrice }}",
"product_description": "={{ $('Organize & Generate Order ID').item.json.products[0].options }}"
}
],
"additionalFields": {
"Grand_Total": "={{ $('Organize & Generate Order ID').item.json.total }}"
}
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "919827cc-6c70-4d27-a5f5-c0a0aebc5730",
"name": "Telegram 트리거 (채팅 ID 가져오기)",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-176,
-432
],
"webhookId": "ee13da0e-595b-4b4a-8f35-912e44059af6",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2
},
{
"id": "c7810f3b-da2a-4dcb-a63e-f02e2c294e04",
"name": "주문 데이터 삽입",
"type": "n8n-nodes-base.dataTable",
"position": [
224,
-176
],
"parameters": {
"columns": {
"value": {
"name": "={{ $json.customer.name }}",
"email": "={{ $json.customer.email }}",
"phone": "={{ $json.customer.phone }}",
"address": "={{ $json.customer.address }}",
"orderId": "={{ $json.orderId }}",
"TelegramDate": 0,
"MessageChatId": ""
},
"schema": [
{
"id": "MessageChatId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "MessageChatId",
"defaultMatch": false
},
{
"id": "TelegramDate",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "TelegramDate",
"defaultMatch": false
},
{
"id": "orderId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "orderId",
"defaultMatch": false
},
{
"id": "name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "name",
"defaultMatch": false
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email",
"defaultMatch": false
},
{
"id": "phone",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "phone",
"defaultMatch": false
},
{
"id": "address",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "address",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "8bca615b-5157-4641-ab95-af3548c27293",
"name": "빈 채팅 ID 행 가져오기",
"type": "n8n-nodes-base.dataTable",
"position": [
32,
-432
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "MessageChatId",
"condition": "isEmpty"
}
]
},
"matchType": "allConditions",
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "856d1f24-6ea8-419f-b974-88517c06d333",
"name": "채팅 ID 업데이트",
"type": "n8n-nodes-base.dataTable",
"position": [
288,
-432
],
"parameters": {
"columns": {
"value": {
"MessageChatId": "={{ $('Telegram Trigger (Get ChatId)').item.json.message.chat.id }}"
},
"schema": [
{
"id": "MessageChatId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "MessageChatId",
"defaultMatch": false
},
{
"id": "orderId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "orderId",
"defaultMatch": false
},
{
"id": "name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "name",
"defaultMatch": false
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "email",
"defaultMatch": false
},
{
"id": "phone",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "phone",
"defaultMatch": false
},
{
"id": "address",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "address",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"MessageChatId"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyName": "MessageChatId",
"condition": "isEmpty"
}
]
},
"matchType": "allConditions",
"operation": "update",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "e9796f5f-1c75-4db1-8b23-07d36a805221",
"name": "채팅 ID 확인을 위한 주문 행 가져오기",
"type": "n8n-nodes-base.dataTable",
"position": [
624,
-176
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "orderId",
"keyValue": "={{ $('Insert Order Data').item.json.orderId }}",
"condition": "equal"
}
]
},
"matchType": "allConditions",
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "3cfda48d-d552-4f64-8305-6fddbbf1d4be",
"name": "대기 중으로 표시",
"type": "n8n-nodes-base.dataTable",
"position": [
1120,
48
],
"parameters": {
"columns": {
"value": {
"waitedOnce": "true"
},
"schema": [
{
"id": "MessageChatId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "MessageChatId",
"defaultMatch": false
},
{
"id": "orderId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "orderId",
"defaultMatch": false
},
{
"id": "waitedOnce",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "waitedOnce",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyName": "orderId",
"keyValue": "={{ $json.orderId }}",
"condition": "equal"
}
]
},
"operation": "update",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "{{ $datatable_id }}",
"cachedResultUrl": "/projects/{{ $project_id_placeholder }}/datatables/{{ $datatable_id }}",
"cachedResultName": "JotformTelegram (Placeholder)"
}
},
"typeVersion": 1
},
{
"id": "fd53acd6-7699-421a-84cd-18ce3dd9a6be",
"name": "스위치 (채팅 ID 확인)",
"type": "n8n-nodes-base.switch",
"position": [
1104,
-176
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e308b538-960e-4a09-b23f-8d252174df38",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.waitedOnce }}",
"rightValue": ""
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "409a337d-b3af-4bcf-b316-92de32911dc5",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.MessageChatId }}",
"rightValue": ""
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "3306d51c-b1c8-4f36-8648-6701a69b78b9",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
-256
],
"parameters": {
"color": 3,
"content": "Starts the workflow when a new order form is submitted on JotForm."
},
"typeVersion": 1
},
{
"id": "259d41a0-48a4-4a37-99a0-352e2ca08ad3",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
-256
],
"parameters": {
"color": 4,
"width": 192,
"content": "Parses the form data, structures it, and creates a unique order ID."
},
"typeVersion": 1
},
{
"id": "d2312f79-9ca4-4c73-8f6c-4df71acec6d6",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-256
],
"parameters": {
"color": 5,
"width": 192,
"content": "Saves the order details into an n8n Data Table to track its status and Chat ID."
},
"typeVersion": 1
},
{
"id": "138ef5db-e274-43a6-8665-327c3a2cd047",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
-496
],
"parameters": {
"color": 3,
"width": 256,
"content": "An independent trigger waiting for any message from a customer to the bot to capture their Chat ID."
},
"typeVersion": 1
},
{
"id": "dbb6be07-f740-402a-bd36-2f9187d107ea",
"name": "스티키 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-496
],
"parameters": {
"color": 5,
"width": 208,
"content": "Finds orders in the Data Table that are waiting for a customer's Chat ID."
},
"typeVersion": 1
},
{
"id": "5b18035f-c415-4000-9e5c-c2f0d9397745",
"name": "스티키 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-496
],
"parameters": {
"color": 4,
"content": "Uses the Chat ID from the new Telegram message to update the corresponding pending order row."
},
"typeVersion": 1
},
{
"id": "41d16d68-1e62-47ef-b6aa-8f0697e87672",
"name": "스티키 노트6",
"type": "n8n-nodes-base.stickyNote",
"position": [
528,
-256
],
"parameters": {
"color": 4,
"width": 272,
"content": " Checks the Data Table immediately after insertion to see if the customer's Chat ID is already available."
},
"typeVersion": 1
},
{
"id": "e1c89c28-44b8-4357-8c8f-fda555564cfc",
"name": "스티키 노트7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
-256
],
"parameters": {
"color": 2,
"width": 256,
"height": 176,
"content": " Directs the flow to proceed if the Chat ID is found or to wait if it is still missing."
},
"typeVersion": 1
},
{
"id": "5f1d726b-3db7-4625-a05f-c87f5000174c",
"name": "5분 대기",
"type": "n8n-nodes-base.wait",
"position": [
832,
48
],
"webhookId": "b9883ceb-0655-451f-865d-15702bece4c3",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "826077be-7a44-48b1-b23d-9061199fc290",
"name": "스티키 노트8",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
96
],
"parameters": {
"color": 7,
"width": 288,
"content": ".\n\n\n\n\nPauses the workflow briefly to allow a customer time to message the Telegram bot."
},
"typeVersion": 1
},
{
"id": "cb339e04-fdbd-458b-841a-f295c7802f9a",
"name": "스티키 노트9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
96
],
"parameters": {
"color": 6,
"content": "\n.\n\n\n\n\nUpdates the Data Table record to prevent the workflow from entering a perpetual wait loop."
},
"typeVersion": 1
},
{
"id": "d8c50d9c-f33b-4490-b25f-b7862d65dd4c",
"name": "스티키 노트10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1312,
-256
],
"parameters": {
"color": 5,
"height": 176,
"content": "Fetches the final, complete order data row, including the confirmed Chat ID."
},
"typeVersion": 1
},
{
"id": "bd70e237-75a9-4bdc-80ef-760a1c027c47",
"name": "스티키 노트11",
"type": "n8n-nodes-base.stickyNote",
"position": [
1936,
-272
],
"parameters": {
"color": 4,
"height": 176,
"content": "Formats the Chat ID and product list into an easy-to-use structure for the final message."
},
"typeVersion": 1
},
{
"id": "5fb92642-5c3d-48c0-8ab8-deb3fef8c264",
"name": "스티키 노트12",
"type": "n8n-nodes-base.stickyNote",
"position": [
1936,
-544
],
"parameters": {
"color": 5,
"content": "Logs the complete order information into a designated Google Sheet (CRM)."
},
"typeVersion": 1
},
{
"id": "36ff95d6-b3b4-4388-90f3-95e87e3cb629",
"name": "스티키 노트13",
"type": "n8n-nodes-base.stickyNote",
"position": [
2208,
-272
],
"parameters": {
"color": 5,
"height": 176,
"content": "Automatically generates an invoice for the new order within Zoho CRM.\n\n"
},
"typeVersion": 1
},
{
"id": "3362d046-225e-4efa-8ea9-3227d35c82f6",
"name": "스티키 노트14",
"type": "n8n-nodes-base.stickyNote",
"position": [
2480,
-272
],
"parameters": {
"color": 4,
"content": "Sends the final, templated order confirmation message to the customer via Telegram."
},
"typeVersion": 1
},
{
"id": "0a61c4b5-13fa-476f-a00d-ca693ec60760",
"name": "스티키 노트15",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-1056
],
"parameters": {
"width": 1024,
"height": 736,
"content": "# JotForm Setup Guide\n\n\n## ⚡ Step 1: Link with the Webhook\n\n\n* **1. Log in to your JotForm account, select your Form, and navigate to Settings.**\n\n* **2. Go to Integrations and search for Webhooks.**\n\n* **3. Paste the JotForm Trigger Webhook URL provided by your n8n workflow into the field.**\n\n* **4. Save and activate! Your form is now live!**\n\n## 🔑 Step 2: Unlock File Access (API Key)\n\n* **1.Generate a JotForm API Key in your JotForm account settings.**\n\n* **2.CRITICAL: Set the key permission level to \"Full Access\" (required for file downloads).**\n\n* **3.Go to your n8n workflow and insert this key into:**\n * **I.The JotForm Trigger node's credential.**\n * **II.The Fetch All Receipts node's query parameters.**\n\n## ⚙️ Step 3: Configure Your n8n Nodes\n\n* **In the JotForm Trigger node replace the placeholder with your actual JotForm ID.**"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "24b0b0d7-3c2d-4fc6-aa45-344c34171922",
"connections": {
"3cfda48d-d552-4f64-8305-6fddbbf1d4be": {
"main": [
[
{
"node": "e9796f5f-1c75-4db1-8b23-07d36a805221",
"type": "main",
"index": 0
}
]
]
},
"5f1d726b-3db7-4625-a05f-c87f5000174c": {
"main": [
[
{
"node": "3cfda48d-d552-4f64-8305-6fddbbf1d4be",
"type": "main",
"index": 0
}
]
]
},
"8428985f-6c14-4918-b19e-ff604da17b66": {
"main": [
[
{
"node": "691a0fd1-73f5-45b2-b0f7-25a02474de85",
"type": "main",
"index": 0
}
]
]
},
"5dbd71ce-486c-4abd-9264-8f3d9169d03e": {
"main": [
[
{
"node": "654f6d89-8281-4b83-a95f-88d16a40e178",
"type": "main",
"index": 0
}
]
]
},
"babe8a4d-af6b-49c4-859b-4575238b3e7f": {
"main": [
[
{
"node": "8428985f-6c14-4918-b19e-ff604da17b66",
"type": "main",
"index": 0
}
]
]
},
"c7810f3b-da2a-4dcb-a63e-f02e2c294e04": {
"main": [
[
{
"node": "e9796f5f-1c75-4db1-8b23-07d36a805221",
"type": "main",
"index": 0
}
]
]
},
"420c37a1-cf4c-4af1-a565-218016fca586": {
"main": [
[
{
"node": "63b71df6-f37c-407d-a022-19733284d757",
"type": "main",
"index": 0
}
]
]
},
"8bca615b-5157-4641-ab95-af3548c27293": {
"main": [
[
{
"node": "856d1f24-6ea8-419f-b974-88517c06d333",
"type": "main",
"index": 0
}
]
]
},
"fd53acd6-7699-421a-84cd-18ce3dd9a6be": {
"main": [
[
{
"node": "babe8a4d-af6b-49c4-859b-4575238b3e7f",
"type": "main",
"index": 0
}
],
[
{
"node": "5f1d726b-3db7-4625-a05f-c87f5000174c",
"type": "main",
"index": 0
}
]
]
},
"691a0fd1-73f5-45b2-b0f7-25a02474de85": {
"main": [
[
{
"node": "420c37a1-cf4c-4af1-a565-218016fca586",
"type": "main",
"index": 0
},
{
"node": "32633847-dcf7-4307-a613-f1a23e3e05b1",
"type": "main",
"index": 0
}
]
]
},
"654f6d89-8281-4b83-a95f-88d16a40e178": {
"main": [
[
{
"node": "c7810f3b-da2a-4dcb-a63e-f02e2c294e04",
"type": "main",
"index": 0
}
]
]
},
"e9796f5f-1c75-4db1-8b23-07d36a805221": {
"main": [
[
{
"node": "fd53acd6-7699-421a-84cd-18ce3dd9a6be",
"type": "main",
"index": 0
}
]
]
},
"919827cc-6c70-4d27-a5f5-c0a0aebc5730": {
"main": [
[
{
"node": "8bca615b-5157-4641-ab95-af3548c27293",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
스마트资金관리器
基于Telegram、Google Sheets및OpenAI의AI驱动收据및支出追踪器
If
Set
Code
+
If
Set
Code
50 노드Khairul Muhtadin
금융
Gemini, 음성, 이미지 생성을 사용하여 다중 모달 Telegram AI 어시스턴트를 구축합니다.
Gemini, 음성, 이미지 생성을 사용하여 다중 모달 Telegram AI 어시스턴트를 구축합니다.
If
Set
Code
+
If
Set
Code
95 노드Iniyavan JC
개인 생산성
HR 이력서 스크리닝
Telegram, Gemini AI, Google Workspace를 사용한 이력서 스크리닝 및 분석 자동화
If
Set
Merge
+
If
Set
Merge
23 노드Abdullah Alshiekh
인사
마케팅 콘텐츠 생성
사용하여 Telegram과 Gemini로 이미지에서 Facebook 마케팅 콘텐츠 생성
If
Set
Switch
+
If
Set
Switch
40 노드Abdullah Alshiekh
콘텐츠 제작
第一轮 Telegram 및 LinkedIn 快速通道 AI 招聘어시스턴트
AI候选人筛选流程:LinkedIn로Telegram,통합Gemini与Apify
If
Set
Code
+
If
Set
Code
55 노드Dean Pike
인사
带有 Chatgpt Agent Prompt 检查의信用卡
AI驱动信用卡推荐系统,통합OpenAI GPT、Telegram및Google Sheets
If
Set
Code
+
If
Set
Code
31 노드Nishant
AI 챗봇
워크플로우 정보
난이도
고급
노드 수32
카테고리-
노드 유형12
저자
Abdullah Alshiekh
@abdullah01🚀 Automation pro building AI-powered workflows with n8n. 💼 Special focus on real use cases 🔧 Love clean, flexible, and business-ready automations.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유