8
n8n 한국어amn8n.com

자동 채용 공고 추출 및 게시 템플릿

고급

이것은HR, Multimodal AI분야의자동화 워크플로우로, 53개의 노드를 포함합니다.주로 If, Set, Code, Wait, Telegram 등의 노드를 사용하며. 자동 채용 공고 추출 및 게시 템플릿

사전 요구사항
  • Telegram Bot Token
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key
  • Supabase URL과 API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "c2650793f644091dc80fb900fe63448ad1f4b774008de9608064d67294f8307c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "27e265ef-0178-463c-894f-638b05f36ab6",
      "name": "파일 검색",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1568,
        1328
      ],
      "parameters": {
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "1qarDrwjNIrrx2wk8RMzLpyIq_6r0DHLX",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1qarDrwjNIrrx2wk8RMzLpyIq_6r0DHLX",
            "cachedResultName": "GPT"
          }
        },
        "options": {},
        "resource": "fileFolder",
        "returnAll": true
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "nTWGelaHlbvHrG66",
          "name": "Khaisa Studio"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "40108440-f928-4550-b7f9-7777ccbee4e8",
      "name": "데이터 가져오기",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1344,
        1328
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "nTWGelaHlbvHrG66",
          "name": "Khaisa Studio"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "b47daf1e-f98e-4039-a521-e18117df50cd",
      "name": "Supabase 벡터 저장소",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        -880,
        1328
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "tableName": {
          "__rl": true,
          "mode": "list",
          "value": "documents",
          "cachedResultName": "documents"
        }
      },
      "credentials": {
        "supabaseApi": {
          "id": "rb73xq0erYUAZCau",
          "name": "REcharge"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "6e83958d-7e39-4459-8045-6db75f0d1d61",
      "name": "임베딩 OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        -896,
        1552
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "hdBomZukFu3cyDUS",
          "name": "Sumopod"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0ce8cdb8-a132-47bc-ad1b-7bc4e3f0a1df",
      "name": "기본 데이터 로더",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        -768,
        1552
      ],
      "parameters": {
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1
    },
    {
      "id": "21666edf-7e66-4953-bd0e-1fb5b5882428",
      "name": "재귀 문자 텍스트 분할기",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        -656,
        1680
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "4d4d3aab-982c-4a68-ba74-a13cd37b946c",
      "name": "항목 반복 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1120,
        1328
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "1ba1fb98-be3f-4fca-b145-920b02609c8b",
      "name": "Supabase 벡터 저장소1",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        416,
        2000
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "queryName": "match_documents"
        },
        "toolName": "document",
        "tableName": {
          "__rl": true,
          "mode": "list",
          "value": "documents",
          "cachedResultName": "documents"
        },
        "toolDescription": "use thisto get information about the company"
      },
      "credentials": {
        "supabaseApi": {
          "id": "rb73xq0erYUAZCau",
          "name": "REcharge"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "9dabf5f6-2789-4cc3-ad1f-1ae0503f3f90",
      "name": "임베딩 OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        512,
        2208
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "hdBomZukFu3cyDUS",
          "name": "Sumopod"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0318eb86-0df5-4552-9ed4-6d3e11b5d346",
      "name": "Google 드라이브 트리거",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "disabled": true,
      "position": [
        -1792,
        1328
      ],
      "parameters": {
        "event": "fileUpdated",
        "options": {
          "fileType": "all"
        },
        "pollTimes": {
          "item": [
            {
              "hour": 0
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1qarDrwjNIrrx2wk8RMzLpyIq_6r0DHLX",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1qarDrwjNIrrx2wk8RMzLpyIq_6r0DHLX",
          "cachedResultName": "GPT"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "efb7fdfc-6506-481a-9c2c-0ff690416fa1",
      "name": "📥 Telegram을 통한 새 채용 링크",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1824,
        2048
      ],
      "webhookId": "925f5476-09a3-46b9-9b53-0f43a2c84995",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8053e182-b9aa-4273-a82b-cbc9cd2cb415",
      "name": "🔧 추출을 위한 URL 준비",
      "type": "n8n-nodes-base.set",
      "position": [
        -1600,
        2032
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8d5bf5e7-0f91-4012-b180-4bef3f9c93cd",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text ||  $json.message.text }}"
            },
            {
              "id": "1a3739bb-d9c2-449b-929b-a1fb58196458",
              "name": "cleanUrl",
              "type": "string",
              "value": "={{ ($json.message.text && $json.message.text.includes('://')\n    ? $json.message.text.split('/').slice(0,3).join('/')\n    : 'Invalid URL'\n  ).replace(/\\r?\\n$/, '') }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "2f11c954-c6cb-46b3-916d-ddb6df220b9f",
      "name": "🧮 채용 유형 및 카테고리 ID 매핑",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        1728
      ],
      "parameters": {
        "jsCode": "// 1. Ambil array kategori dari input\nconst inputCategories = $('🧠 Extract Job Data with GPT').first().json.choices[0].message.content.categories;\n\n// 1b. Ambil job_type sebagai satu string\nconst inputType = $('🧠 Extract Job Data with GPT').first().json.choices[0].message.content.job_type;\n\n// 2. Array mapping antara `category` dan `id`\nconst categoryMap = [\n  { id: 299, category: \"2d\" },\n  { id: 298, category: \"3d\" },\n  { id: 315, category: \"3DFX\" },\n  { id: 284, category: \"Animación 2d\" },\n  { id: 286, category: \"Animación 3d\" },\n  { id: 617, category: \"Artista de color\" },\n  { id: 312, category: \"Audio SFX\" },\n  { id: 540, category: \"character artist\" },\n  { id: 445, category: \"Character FX (CFX)\" },\n  { id: 596, category: \"Cinematic Artist\" },\n  { id: 462, category: \"Comic\" },\n  { id: 294, category: \"Compositor 3d\" },\n  { id: 487, category: \"Compositor Digital\" },\n  { id: 463, category: \"Concept Art\" },\n  { id: 300, category: \"Creativo\" },\n  { id: 537, category: \"Crowd Artist\" },\n  { id: 301, category: \"Desarrollo de Software\" },\n  { id: 316, category: \"Desarrollo Visual\" },\n  { id: 302, category: \"Dibujante\" },\n  { id: 612, category: \"Dirección\" },\n  { id: 292, category: \"Director de Arte\" },\n  { id: 317, category: \"Diseño de personajes\" },\n  { id: 291, category: \"Diseño Gráfico\" },\n  { id: 310, category: \"Edición de video\" },\n  { id: 533, category: \"Environment Artist\" },\n  { id: 620, category: \"Escultura Digital\" },\n  { id: 622, category: \"Filmmaker\" },\n  { id: 304, category: \"Fotografía\" },\n  { id: 314, category: \"Game Artist\" },\n  { id: 486, category: \"Game Designer\" },\n  { id: 506, category: \"Game developer\" },\n  { id: 482, category: \"Game Producer\" },\n  { id: 576, category: \"Gameplay Animator\" },\n  { id: 290, category: \"Generalista 3d\" },\n  { id: 452, category: \"Grooming Hair/Fur\" },\n  { id: 303, category: \"Guionista\" },\n  { id: 305, category: \"Iluminación\" },\n  { id: 288, category: \"Ilustración\" },\n  { id: 616, category: \"Inteligencia Artificial\" },\n  { id: 311, category: \"Layout Artist\" },\n  { id: 619, category: \"Look Development\" },\n  { id: 464, category: \"Matte Painting\" },\n  { id: 287, category: \"Modelador 3d\" },\n  { id: 524, category: \"Motion Designer\" },\n  { id: 289, category: \"Motion Graphics\" },\n  { id: 588, category: \"Pixel Art\" },\n  { id: 307, category: \"Postproducción\" },\n  { id: 594, category: \"Previs\" },\n  { id: 297, category: \"Producción\" },\n  { id: 483, category: \"Programador\" },\n  { id: 592, category: \"Realidad Virtual (VR)\" },\n  { id: 448, category: \"Render Wrangler\" },\n  { id: 313, category: \"Rigger\" },\n  { id: 459, category: \"Shading & Texturing\" },\n  { id: 295, category: \"Storyboard\" },\n  { id: 296, category: \"Storytelling\" },\n  { id: 595, category: \"Technical Artist\" },\n  { id: 485, category: \"Technical Director (TD)\" },\n  { id: 308, category: \"UI / UX\" },\n  { id: 309, category: \"VFX\" },\n  { id: 589, category: \"Videojuegos\" },\n  { id: 593, category: \"Virtual Production\" },\n  { id: 293, category: \"Visualización Arquitectónica\" },\n  { id: 590, category: \"VR & AR\" }\n];\n\n// 2b. Array mapping antara `type` dan `id`\nconst typeMap = [\n  { \"id\": 282, \"type\": \"Freelance / Remoto / Teletrabajo\" },\n  { \"id\": 318, \"type\": \"Indiferente\" },\n  { \"id\": 283, \"type\": \"Prácticas\" },\n  { \"id\": 281, \"type\": \"Proyecto\" },\n  { \"id\": 279, \"type\": \"Tiempo completo\" },\n  { \"id\": 280, \"type\": \"Tiempo parcial\" }\n];\n\n// 3. Map kategori input → array ID\nconst fixCategory = Array.isArray(inputCategories)\n  ? inputCategories\n      .map(name => {\n        const match = categoryMap.find(obj => obj.category === name);\n        return match ? match.id : null;\n      })\n      .filter(id => id !== null)\n  : [];\n\n// 4. Cari ID tipe berdasarkan inputType (string), balikan sebagai array\nconst foundType = typeMap.find(obj => obj.type === inputType);\nconst fixType = foundType ? [foundType.id] : [];\n\n// 5. Kembalikan kedua array dalam satu objek JSON\nreturn [\n  {\n    json: {\n      fixCategory,\n      fixType\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "122181aa-b26a-426a-875d-93bb2ff7b05f",
      "name": "📥 회사 로고 다운로드",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        1472,
        1728
      ],
      "parameters": {
        "url": "={{ $json.processedIconUrl }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bb8acbf0-9f1b-4866-8771-3ae7c727d693",
      "name": "☁️ 로고를 WordPress에 업로드",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        1712,
        1728
      ],
      "parameters": {
        "url": "https://yourwebsite.es/wp-json/wp/v2/media",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Disposition",
              "value": "=attachment; filename=\"logo-{{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.company }}.jpeg\""
            },
            {
              "name": "Content-Type",
              "value": "image/jpeg"
            }
          ]
        },
        "inputDataFieldName": "data",
        "nodeCredentialType": "wordpressApi"
      },
      "credentials": {
        "wordpressApi": {
          "id": "QMDWc5KoLU8O3P19",
          "name": "WP - Mincara (beginicaranya)"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "d7704688-f15b-4869-acd8-2067a36f5dfc",
      "name": "📦 최종 채용 공고 데이터 형식화",
      "type": "n8n-nodes-base.set",
      "position": [
        1936,
        1728
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "title",
              "name": "title",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.title }}"
            },
            {
              "id": "content",
              "name": "content",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.html }}\n"
            },
            {
              "id": "job_listing_type",
              "name": "job_listing_type",
              "type": "array",
              "value": "=[{{ $('🧮 Map Job Type & Category IDs').item.json.fixType[0] }}]"
            },
            {
              "id": "job_listing_category",
              "name": "job_listing_category",
              "type": "array",
              "value": "={{ $('🧮 Map Job Type & Category IDs').item.json.fixCategory }}"
            },
            {
              "id": "_job_location",
              "name": "_job_location",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.location }}"
            },
            {
              "id": "_company_name",
              "name": "_company_name",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.company }}"
            },
            {
              "id": "_company_logo",
              "name": "_company_logo",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.logo || \"http://www.notodoanimacion.es/wp-content/uploads/2025/06/logo-Sony-Pictures-Animation-1.png\" }}"
            },
            {
              "id": "_application",
              "name": "_application",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.original_link || $('🔧 Prepare URL for Extraction').item.json.text }}"
            },
            {
              "id": "7df4886d-0180-4279-9bff-f8f3ebc2961c",
              "name": "companyLogo",
              "type": "string",
              "value": "={{ $json.guid.raw }}"
            },
            {
              "id": "b9a766da-8bd6-4950-a243-8005c61c3ca9",
              "name": "status",
              "type": "string",
              "value": "publish"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9885c9df-0835-466b-a6af-41806f868ecc",
      "name": "✅ 모든 필드 사용 가능?",
      "type": "n8n-nodes-base.if",
      "onError": "continueErrorOutput",
      "position": [
        2160,
        1712
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8f4efbe7-3fc1-4be3-b4c6-f2b7b1f8f00a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.title }}",
              "rightValue": ""
            },
            {
              "id": "8194f924-3ef7-4056-a909-3499d8c116b3",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.job_listing_category }}",
              "rightValue": ""
            },
            {
              "id": "373f2081-f7ac-4313-a472-6d10770dd17a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.job_listing_type }}",
              "rightValue": ""
            },
            {
              "id": "74166a2f-57e8-4fed-8bcf-cd240779543a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json._job_location }}",
              "rightValue": ""
            },
            {
              "id": "bdee50a8-cdff-4570-b88a-8cf560468fa2",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json._application }}",
              "rightValue": ""
            },
            {
              "id": "48ab4287-4b6c-4241-a50f-1ddb40456fb2",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.companyLogo }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "2d4d5a37-785c-488e-9698-95d4c4acc220",
      "name": "유효하지 않음",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2384,
        1408
      ],
      "webhookId": "033439cf-08eb-4df7-be1a-3a617027ce35",
      "parameters": {
        "text": "=Failed - Missing required fields. Please check extraction process.\n\nTrying another approach...",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2b937eed-2ee2-42d6-897b-75d67e865bbb",
      "name": "알림: 채용 공고 처리 중",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -928,
        1952
      ],
      "webhookId": "936a1870-5650-456a-b6bb-be70967ae64a",
      "parameters": {
        "text": "=hi, {{ $('📥 New Job Link via Telegram').item.json.message.chat.first_name }}\n\nprocessing job...",
        "chatId": "={{ $('📥 New Job Link via Telegram').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "53185894-2a97-45df-ad7f-2295ba60e55f",
      "name": "알림: 추출 중",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -480,
        1952
      ],
      "webhookId": "1c4064cc-c0fb-4100-ad77-3ff236a1e15c",
      "parameters": {
        "text": "<i>Extracting web data... </i>",
        "chatId": "={{ $('📥 New Job Link via Telegram').item.json.message.chat.id }}",
        "messageId": "={{ $json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b0c5d81e-1524-42f7-a951-e1615674ede6",
      "name": "조건문",
      "type": "n8n-nodes-base.if",
      "position": [
        -32,
        1872
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "31d50777-6c34-4a2a-b570-8bcd32073824",
              "operator": {
                "type": "boolean",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.title }}",
              "rightValue": ""
            },
            {
              "id": "9ae85f70-c7c3-4a1a-a2c8-64c3ad388c0b",
              "operator": {
                "type": "boolean",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.description }}",
              "rightValue": ""
            },
            {
              "id": "01c42779-16f4-452b-b328-b91f0f5b9a5b",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.url }}",
              "rightValue": ""
            },
            {
              "id": "7c6414cd-9d44-45bb-b999-30a0e1cd1993",
              "operator": {
                "type": "boolean",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.content }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "19eda755-411f-4c05-aaef-1f1bed9bc10a",
      "name": "알림: 추출 성공",
      "type": "n8n-nodes-base.telegram",
      "position": [
        192,
        1776
      ],
      "webhookId": "51bfc648-4499-4f61-9aa4-61e6b7b617dc",
      "parameters": {
        "text": "Jobs Extracted! Processing input with openAI...",
        "chatId": "={{ $('notify: extracting').item.json.result.chat.id }}",
        "messageId": "={{ $('notify: extracting').item.json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9b0a33d2-59be-40dd-80a4-60ba3c9cb10a",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        1216
      ],
      "parameters": {
        "width": 1400,
        "height": 620,
        "content": "## RAG DATA\n**Double click** to edit me. [Guide](https://docs.n8n.io/workflows/sticky-notes/)"
      },
      "typeVersion": 1
    },
    {
      "id": "a9a62b30-7ab6-48da-9ea6-0d0f2026b03b",
      "name": "📚 유효한 채용 유형 및 카테고리 로드",
      "type": "n8n-nodes-base.set",
      "position": [
        -1376,
        2048
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5b365fce-7a88-431b-aee7-4bf5a0171a1f",
              "name": "category",
              "type": "array",
              "value": "=[\n  { \"id\": 299, \"category\": \"2d\" },\n  { \"id\": 298, \"category\": \"3d\" },\n  { \"id\": 315, \"category\": \"3DFX\" },\n  { \"id\": 284, \"category\": \"Animación 2d\" },\n  { \"id\": 286, \"category\": \"Animación 3d\" },\n  { \"id\": 617, \"category\": \"Artista de color\" },\n  { \"id\": 312, \"category\": \"Audio SFX\" },\n  { \"id\": 540, \"category\": \"character artist\" },\n  { \"id\": 445, \"category\": \"Character FX (CFX)\" },\n  { \"id\": 596, \"category\": \"Cinematic Artist\" },\n  { \"id\": 462, \"category\": \"Comic\" },\n  { \"id\": 294, \"category\": \"Compositor 3d\" },\n  { \"id\": 487, \"category\": \"Compositor Digital\" },\n  { \"id\": 463, \"category\": \"Concept Art\" },\n  { \"id\": 300, \"category\": \"Creativo\" },\n  { \"id\": 537, \"category\": \"Crowd Artist\" },\n  { \"id\": 301, \"category\": \"Desarrollo de Software\" },\n  { \"id\": 316, \"category\": \"Desarrollo Visual\" },\n  { \"id\": 302, \"category\": \"Dibujante\" },\n  { \"id\": 612, \"category\": \"Dirección\" },\n  { \"id\": 292, \"category\": \"Director de Arte\" },\n  { \"id\": 317, \"category\": \"Diseño de personajes\" },\n  { \"id\": 291, \"category\": \"Diseño Gráfico\" },\n  { \"id\": 310, \"category\": \"Edición de video\" },\n  { \"id\": 533, \"category\": \"Environment Artist\" },\n  { \"id\": 620, \"category\": \"Escultura Digital\" },\n  { \"id\": 622, \"category\": \"Filmmaker\" },\n  { \"id\": 304, \"category\": \"Fotografía\" },\n  { \"id\": 314, \"category\": \"Game Artist\" },\n  { \"id\": 486, \"category\": \"Game Designer\" },\n  { \"id\": 506, \"category\": \"Game developer\" },\n  { \"id\": 482, \"category\": \"Game Producer\" },\n  { \"id\": 576, \"category\": \"Gameplay Animator\" },\n  { \"id\": 290, \"category\": \"Generalista 3d\" },\n  { \"id\": 452, \"category\": \"Grooming Hair/Fur\" },\n  { \"id\": 303, \"category\": \"Guionista\" },\n  { \"id\": 305, \"category\": \"Iluminación\" },\n  { \"id\": 288, \"category\": \"Ilustración\" },\n  { \"id\": 616, \"category\": \"Inteligencia Artificial\" },\n  { \"id\": 311, \"category\": \"Layout Artist\" },\n  { \"id\": 619, \"category\": \"Look Development\" },\n  { \"id\": 464, \"category\": \"Matte Painting\" },\n  { \"id\": 287, \"category\": \"Modelador 3d\" },\n  { \"id\": 524, \"category\": \"Motion Designer\" },\n  { \"id\": 289, \"category\": \"Motion Graphics\" },\n  { \"id\": 588, \"category\": \"Pixel Art\" },\n  { \"id\": 307, \"category\": \"Postproducción\" },\n  { \"id\": 594, \"category\": \"Previs\" },\n  { \"id\": 297, \"category\": \"Producción\" },\n  { \"id\": 483, \"category\": \"Programador\" },\n  { \"id\": 592, \"category\": \"Realidad Virtual (VR)\" },\n  { \"id\": 448, \"category\": \"Render Wrangler\" },\n  { \"id\": 313, \"category\": \"Rigger\" },\n  { \"id\": 459, \"category\": \"Shading & Texturing\" },\n  { \"id\": 295, \"category\": \"Storyboard\" },\n  { \"id\": 296, \"category\": \"Storytelling\" },\n  { \"id\": 595, \"category\": \"Technical Artist\" },\n  { \"id\": 485, \"category\": \"Technical Director (TD)\" },\n  { \"id\": 308, \"category\": \"UI / UX\" },\n  { \"id\": 309, \"category\": \"VFX\" },\n  { \"id\": 589, \"category\": \"Videojuegos\" },\n  { \"id\": 593, \"category\": \"Virtual Production\" },\n  { \"id\": 293, \"category\": \"Visualización Arquitectónica\" },\n  { \"id\": 590, \"category\": \"VR & AR\" }\n]\n"
            },
            {
              "id": "9c795618-08e9-4ae1-a1b2-f6e45d6d5bf0",
              "name": "types",
              "type": "array",
              "value": "=[\n  { \"id\": 282, \"type\": \"Freelance / Remoto / Teletrabajo\" },\n  { \"id\": 318, \"type\": \"Indiferente\" },\n  { \"id\": 283, \"type\": \"Prácticas\" },\n  { \"id\": 281, \"type\": \"Proyecto\" },\n  { \"id\": 279, \"type\": \"Tiempo completo\" },\n  { \"id\": 280, \"type\": \"Tiempo parcial\" }\n]\n\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c0295bdb-d2d3-4988-9b8f-09ea94f3b772",
      "name": "알림: 오류",
      "type": "n8n-nodes-base.telegram",
      "position": [
        944,
        1968
      ],
      "webhookId": "936a1870-5650-456a-b6bb-be70967ae64a",
      "parameters": {
        "text": "=Something went wrong \n\n<b>error:</b> <code>{{ $json.error.message }}</code>",
        "chatId": "={{ $('📥 New Job Link via Telegram').item.json.message.chat.id }}",
        "messageId": "={{ $('notify: processing job').item.json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d986c7c1-edcb-4b84-a7a5-321b6df8d562",
      "name": "대기",
      "type": "n8n-nodes-base.wait",
      "position": [
        -704,
        1952
      ],
      "webhookId": "56532de1-7341-4ea7-b315-e1716a1c7815",
      "parameters": {
        "amount": 1.25
      },
      "typeVersion": 1.1
    },
    {
      "id": "ea1fbbb2-b0dc-4ab8-b0c9-6d993bb95d81",
      "name": "유효한 URL?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1152,
        2048
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "35deee67-0d08-46f8-a0e2-2f75cda4c08e",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $('🔧 Prepare URL for Extraction').item.json.cleanUrl }}",
              "rightValue": "Invalid URL"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e8169ac9-8b39-487c-a190-353127378cb7",
      "name": "알림: 잘못된 URL",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -928,
        2144
      ],
      "webhookId": "936a1870-5650-456a-b6bb-be70967ae64a",
      "parameters": {
        "text": "=<i> thats not a valid url, please re-check your input...</i>",
        "chatId": "={{ $('📥 New Job Link via Telegram').item.json.message.chat.id }}",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e6a7aa5b-6d04-49d4-b920-3895e935baf6",
      "name": "🧠 GPT로 채용 데이터 추출",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "onError": "continueErrorOutput",
      "position": [
        416,
        1776
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini-2025-04-14",
          "cachedResultName": "GPT-4.1-MINI-2025-04-14"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Title: {{ $('Extract').item.json.title }}\nurl: {{ $('Extract').item.json.url }}\ncontent: {{ $('Extract').item.json.content }}\n\nmetadata\nauthor: {{ $('Extract').item.json.metadata.author }}\n\nicon: {{ $('Extract').item.json.external.icon['https://sp-tools-website.s3-eu-west-1.amazonaws.com/media/static/favicon.gif'] }}\n\n"
            },
            {
              "role": "=system",
              "content": "=You are a specialized article regenerator who works exclusively with information and rules stored in the \"document\" knowledge base.\n\nExtract rigorously the following fields from the provided job-offer HTML:\n\t•\ttitle\n\t•\tjob_type\n\t•\tcategories (array)\n\t•\tlocation (search in text of offer (body), or put \"sin definir\")\n\t•\tcompany\n\t•\tlogo\n\t•\toriginal_link ({{ $('🔧 Prepare URL for Extraction').item.json.message.text }})\n\t•\thtml (only the job description)\n\nPrimary Function\nRegenerate articles strictly following the formatting, style, and structure rules defined in the RAG dataset. Do not invent your own rules or formats.\n\nWork Protocol\n1. Mandatory Consultation\nALWAYS use the \"document\" tool to search for:\n- Article formatting and structure rules\n- Writing style guides\n- Examples of correct formatting\n- Relevant information on the requested topic\n\n2. Strict Compliance\n- Follow EXACTLY the formatting rules found in the dataset\n- Respect the style guides defined in the knowledge base\n- Apply the article structure specified in the RAG\n- Maintain the tone and style established in the guidelines\n\n3. Regeneration Process\n- Search for formatting rules in the knowledge base\n- Search for information on the requested topic\n- Apply the rules found to the content\n- Regenerate the article following those specifications exactly\n\nImportant\nDO NOT create your own formatting rules\nDO NOT improvise article structure\nEVERYTHING should be based on what you find in \"document\"\nIf you don't find specific rules, ask the user for more details\n\n**HTML (DESCRIPCIÓN)**\n\n1. Al principio, escribe un resumen de dos líneas de la oferta de empleo. Menciona la disciplina, el estudio que publica la oferta, y si es remoto o presencial, incluyendo la localización. Puedes añadir otros elementos relevantes si es necesario. **No añadas un título ni encabezado H2 para este párrafo** y justifica el texto de cada párrafo completo.\n\nIncluye solo un espacio: `<p>&nbsp;</p>`\n\n2. Después, añade este código:\n\n```html\n<p style=\"text-align: center; font-size: 14pt;\"><span style=\"font-weight: 400;\">Si quieres más </span><a href=\"https://www.yourwebsite.es/ofertas-de-empleo-para-artistas-digitales/\"><span style=\"font-weight: 400;\">ofertas de empleo de Animación, 3D, VFX y Arte digital</span></a><span style=\"font-weight: 400;\">👈 ENTRA AQUÍ</span></p>\n```\n\nIncluye solo un espacio: `<p>&nbsp;</p>`\n\n3. Escribe lo siguiente:\n\n```html\n<p>[divider style=\"normal\" top=\"20\" bottom=\"20\"]</p>\n<p>&nbsp;</p>\n<p style=\"text-align: center; font-size: 14pt;\">IMPORTANTE: <a href=\"https://www.documen.es/suscripcion\">Suscríbete a nuestra página</a> 👈 Te enviaremos nuestras ofertas de empleo, todas las semanas. ❤️</p>\n<p>&nbsp;</p>\n<p>[divider style=\"normal\" top=\"20\" bottom=\"20\"]</p>\n```\n\nIncluye un espacio: `<p>&nbsp;</p>`\n\n4. AHORA ESCRIBE TODO EL CONTENIDO EN HTML.\n\n**CONTENIDO:**\n\n· Escribe SIEMPRE EN TERCERA PERSONA.\n· No traduzcas términos técnicos como Assets, technical director, senior, rigging, VFX, CGI, Motion Graphics, pipeline, etc.\n· No traduzcas nombres de programas o herramientas, como After Effects, Photoshop, Shotgun, etc.\n· **¡No escribas ningún tipo de información adicional!**\n\n**FORMATO:**\n\n· Organiza el contenido utilizando encabezados H2 para cada sección, todos centrados.\n· Justifica el texto de cada párrafo completo.\n· **SEO**: Usa negrita para los términos importantes utilizando etiquetas `<strong>` para optimizar la lectura y el SEO, siguiendo estrictamente el orden HTML.\n· Utiliza listas con viñetas siempre que sea adecuado.\n· TODOS los enlaces deben abrir en una nueva ventana.\n· Usa negrita con etiquetas `<strong>` para los términos importantes y palabras clave para optimizar el SEO.\n· Después de cada título, añade `<p>&nbsp;</p>`\n\n5. Después del contenido, añade este código:\n\n```html\n<p style=\"text-align: center; font-size: 14pt;\"><span style=\"font-weight: 400;\">Si quieres más </span><a href=\"https://www.yourwebsite.es/ofertas-de-empleo-para-artistas-digitales/\"><span style=\"font-weight: 400;\">ofertas de empleo de Animación, 3D, VFX y Arte digital</span></a><span style=\"font-weight: 400;\">👈 ENTRA AQUÍ</span></p>\n```\n\n6. En la última línea, incluye SIEMPRE un eslogan aleatorio. Usa negrita con `<strong>` y alinea el texto al centro. Elige **UNA** de estas cuatro opciones:\n\n**Bienvenido a yourwebsite.es | Tu web sobre Animación, VFX y Arte Digital en habla Hispana.**\n**Bienvenidos Artistas Digitales a notodoanimacion.es | El portal de Animación, 3D, VFX y Videojuegos que trabaja para ti.**\n**Bienvenido a notodoanimacion.es | El portal sobre animación y arte digital en español, más visitado del mundo.**\n\n\n\n-----\n\n\nCategory Selection Rules:\n\t•\tONLY select categories from this EXACT options: {{ $('📚 Load Valid Job Types & Categories').item.json.category.map(item => item.category) }}\n\t•\tMaximum 3 categories allowed\n\t•\tMust be CASE SENSITIVE - match exactly as written in the array\n\t•\tSelect the 3 MOST RELEVANT categories that best match the extracted job\n\t•\tIf fewer than 3 categories are relevant, select only the appropriate ones\n\t•\tDO NOT CREATE or ADD any categories outside the provided array\n\t•\tDO NOT MODIFY the spelling, capitalization, or format of categories\n\nGuidelines:\n\t•\tDO NOT INVENT ANYTHING\n\t•\tWrite everything in Spanish (Castilian)\n\t•\tStructure the job description using H2 headings\n\t•\tUse strategic bolding for SEO and relevance\n\t•\tIf any field is missing, leave it empty (”” or [])\n\t•\tReturn only valid JSON\n\nCategory Selection Process:\n\t1.\tRead the job description carefully\n\t2.\tIdentify the main job functions and requirements\n\t3.\tMatch these against the provided category array\n\t4.\tSelect maximum 3 categories that are MOST APPROPRIATE\n\t5.\tEnsure exact spelling and case matching from the array\n\njob_type Selection Rules:\n  • THIS Field is a MANDATORY\n  •\tONLY select job_type from this EXACT options:{{ $('📚 Load Valid Job Types & Categories').item.json.types.map(item => item.type) }}\n  • Maximum 1 Job type allowed\n  • Must be CASE SENSITIVE—match exactly as written in the array\n  • DO NOT CREATE or ADD any categories outside the provided array\n  • DO NOT MODIFY the spelling, capitalization, or format of categories\n  • IF there's no type directly stated, find on the body, find relevant details and pick the most appropriate\n\n"
            }
          ]
        },
        "simplify": false,
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "hdBomZukFu3cyDUS",
          "name": "Sumopod"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1.8
    },
    {
      "id": "00ca2cca-7747-4266-a733-2deb390c86ae",
      "name": "URL 생성",
      "type": "n8n-nodes-base.code",
      "position": [
        1264,
        1728
      ],
      "parameters": {
        "jsCode": "const extractData = $('Extract').first().json;\n\n// Ekstrak icon URL dengan error handling\nlet iconUrl = null;\n\ntry {\n  // Periksa apakah external dan icon ada\n  if (extractData?.external?.icon) {\n    const iconObject = extractData.external.icon;\n    \n    // Ambil key pertama (URL) dari object icon\n    const iconKeys = Object.keys(iconObject);\n    \n    if (iconKeys.length > 0) {\n      iconUrl = iconKeys[0];\n    }\n  }\n} catch (error) {\n  console.error('Error extracting icon URL:', error);\n}\n\n// Return hasil\nreturn [\n  {\n    json: {\n      iconUrl: iconUrl || '', // Return empty string jika tidak ada icon\n      // Atau bisa juga return original data + iconUrl\n      ...extractData,\n      processedIconUrl: iconUrl\n    }\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "dbade535-86ce-4c7e-a58e-db7f67ad9032",
      "name": "알림: openai 성공",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1040,
        1728
      ],
      "webhookId": "51bfc648-4499-4f61-9aa4-61e6b7b617dc",
      "parameters": {
        "text": "<i>OpenAI Process Success... one sec...</i>",
        "chatId": "={{ $('notify: extracting').item.json.result.chat.id }}",
        "messageId": "={{ $('notify: extracting').item.json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "166012da-838d-4b35-ae9a-4903b5879f20",
      "name": "필드 편집",
      "type": "n8n-nodes-base.set",
      "position": [
        2384,
        2112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5a72ac2f-e722-4121-91ff-d758520f7fdb",
              "name": "combine trim & false url",
              "type": "string",
              "value": "={{ $('🔧 Prepare URL for Extraction').item.json.cleanUrl }}{{ $json._company_logo }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "492ef5dd-2637-4059-b403-4ac742dcab75",
      "name": "📥 회사 로고 다운로드 - 대체",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        2608,
        2112
      ],
      "parameters": {
        "url": "={{ $json['combine trim & false url'] }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "25c6286c-dd0e-49f2-a544-d11d1121bf1c",
      "name": "☁️ 로고를 WordPress에 업로드 - 대체",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        2832,
        2112
      ],
      "parameters": {
        "url": "https://yourweb.es/wp-json/wp/v2/media",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Disposition",
              "value": "=attachment; filename=\"logo-{{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.company }}.jpeg\""
            },
            {
              "name": "Content-Type",
              "value": "image/jpeg"
            }
          ]
        },
        "inputDataFieldName": "data",
        "nodeCredentialType": "wordpressApi"
      },
      "credentials": {
        "wordpressApi": {
          "id": "QMDWc5KoLU8O3P19",
          "name": "WP - Mincara (beginicaranya)"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "c1a7c69b-fb9f-4026-8984-ffd64349b63f",
      "name": "📦 최종 채용 공고 데이터 형식화 - 대체",
      "type": "n8n-nodes-base.set",
      "position": [
        3056,
        2112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "title",
              "name": "title",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.title }}"
            },
            {
              "id": "content",
              "name": "content",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.html }}\n"
            },
            {
              "id": "job_listing_type",
              "name": "job_listing_type",
              "type": "array",
              "value": "=[{{ $('🧮 Map Job Type & Category IDs').item.json.fixType[0] }}]"
            },
            {
              "id": "job_listing_category",
              "name": "job_listing_category",
              "type": "array",
              "value": "={{ $('🧮 Map Job Type & Category IDs').item.json.fixCategory }}"
            },
            {
              "id": "_job_location",
              "name": "_job_location",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.location }}"
            },
            {
              "id": "_company_name",
              "name": "_company_name",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.company }}"
            },
            {
              "id": "_company_logo",
              "name": "_company_logo",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.logo || \"http://www.notodoanimacion.es/wp-content/uploads/2025/06/logo-Sony-Pictures-Animation-1.png\" }}"
            },
            {
              "id": "_application",
              "name": "_application",
              "type": "string",
              "value": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.original_link || $('🔧 Prepare URL for Extraction').item.json.text }}"
            },
            {
              "id": "7df4886d-0180-4279-9bff-f8f3ebc2961c",
              "name": "companyLogo",
              "type": "string",
              "value": "={{ $json.guid.raw }}"
            },
            {
              "id": "b9a766da-8bd6-4950-a243-8005c61c3ca9",
              "name": "status",
              "type": "string",
              "value": "publish"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "da72df6d-de32-401e-94d2-2f29581114c4",
      "name": "✅ 모든 필드 사용 가능? - 대체",
      "type": "n8n-nodes-base.if",
      "onError": "continueErrorOutput",
      "position": [
        3280,
        2096
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8f4efbe7-3fc1-4be3-b4c6-f2b7b1f8f00a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.title }}",
              "rightValue": ""
            },
            {
              "id": "8194f924-3ef7-4056-a909-3499d8c116b3",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.job_listing_category }}",
              "rightValue": ""
            },
            {
              "id": "373f2081-f7ac-4313-a472-6d10770dd17a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.job_listing_type }}",
              "rightValue": ""
            },
            {
              "id": "74166a2f-57e8-4fed-8bcf-cd240779543a",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json._job_location }}",
              "rightValue": ""
            },
            {
              "id": "bdee50a8-cdff-4570-b88a-8cf560468fa2",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json._application }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "5796ee20-2946-4897-a014-095c4ca8c41d",
      "name": "📊 게시 성공 여부?1",
      "type": "n8n-nodes-base.if",
      "position": [
        3728,
        2080
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0e5d1113-a6fe-49bf-bf56-848c852875f6",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}",
              "rightValue": ""
            },
            {
              "id": "d00af776-6323-4c62-84f1-30de39d256d0",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.link }}",
              "rightValue": ""
            },
            {
              "id": "0cd4f4d5-8c1c-4c98-8d7b-1995a56fcf3f",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.categories }}",
              "rightValue": ""
            },
            {
              "id": "2e8ab092-9500-44e9-a32f-99a00dbb7a28",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.date }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "b8067d7e-0647-4394-9662-734547fe6386",
      "name": "📨 성공 알림 - 대체",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3952,
        2112
      ],
      "webhookId": "4550abb4-5baa-427b-9495-9e6ea219652e",
      "parameters": {
        "text": "=Hello, {{ $('📥 New Job Link via Telegram').item.json.message.from.first_name }}\nJob successfully extracted and Posted! \nmissing value has fill with default image\n\nOriginal Url: {{ $('🔧 Prepare URL for Extraction').item.json.message.text.replace(/_/g, '\\\\_') }}\n\nTitle: {{ $('🚀 Publish to Yourweb - Alt').item.json.title.raw.replace(/_/g, '\\\\_') }}\nCategory: {{ $('🚀 Publish to Yourweb - Alt').item.json.job_listing_category }}\nJob Type: {{ $('🚀 Publish to Yourweb - Alt').item.json.job_listing_types }}\nLogo: {{ $('🚀 Publish to Yourweb - Alt').item.json.meta._company_logo.replace(/_/g, '\\\\_') }}\n\nPublished Post: {{ $json.guid.rendered.replace(/_/g, '\\\\_') }}",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bd6a58c8-af17-49e4-b9dc-6a575f07ebe2",
      "name": "📨 실패 알림 - 대체",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3952,
        2304
      ],
      "webhookId": "4550abb4-5baa-427b-9495-9e6ea219652e",
      "parameters": {
        "text": "=Hello, {{ $('📥 New Job Link via Telegram').first().json.message.from.first_name }}\nJob Failed!\n\nPlease Check your workflow or contact khairul https://wa.me/6285155431253",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": true
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3305ba40-106a-4177-b851-17946afe6c64",
      "name": "📊 게시 성공 여부?2",
      "type": "n8n-nodes-base.if",
      "position": [
        2608,
        1648
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0e5d1113-a6fe-49bf-bf56-848c852875f6",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}",
              "rightValue": ""
            },
            {
              "id": "d00af776-6323-4c62-84f1-30de39d256d0",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.link }}",
              "rightValue": ""
            },
            {
              "id": "0cd4f4d5-8c1c-4c98-8d7b-1995a56fcf3f",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.categories }}",
              "rightValue": ""
            },
            {
              "id": "2e8ab092-9500-44e9-a32f-99a00dbb7a28",
              "operator": {
                "type": "boolean",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.date }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "669df126-b486-401a-9f14-3dd7e4c25d2d",
      "name": "알림: 추출 실패",
      "type": "n8n-nodes-base.telegram",
      "position": [
        192,
        1968
      ],
      "webhookId": "51bfc648-4499-4f61-9aa4-61e6b7b617dc",
      "parameters": {
        "text": "=Failed in extract using Jina... please inform developer",
        "chatId": "={{ $('notify: extracting').item.json.result.chat.id }}",
        "messageId": "={{ $('notify: extracting').item.json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "94f124f9-287e-4ab9-8c85-3c923d862a4b",
      "name": "오류",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2832,
        1824
      ],
      "webhookId": "4550abb4-5baa-427b-9495-9e6ea219652e",
      "parameters": {
        "text": "=Hello, {{ $('📥 New Job Link via Telegram').first().json.message.from.first_name }}\nJob Failed!\n\nPlease Check your workflow or contact khairul https://wa.me/6285155431253",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "520bf6db-cfda-42fb-98c0-8293187b4bd7",
      "name": "방법 변경",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2832,
        1408
      ],
      "webhookId": "033439cf-08eb-4df7-be1a-3a617027ce35",
      "parameters": {
        "text": "=Trying Second Attempt!\n<i>Filling empty field with default value...</i>",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "messageId": "={{ $json.result.message_id }}",
        "operation": "editMessageText",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b42a3aac-3457-477a-b4e0-789ae7f0c4f9",
      "name": "대기1",
      "type": "n8n-nodes-base.wait",
      "position": [
        3056,
        1408
      ],
      "webhookId": "20506072-3a7d-4db6-a558-736d917ca82c",
      "parameters": {
        "amount": 2
      },
      "typeVersion": 1.1
    },
    {
      "id": "e7fd2055-f045-455f-a348-0ded7bceaa5a",
      "name": "대기2",
      "type": "n8n-nodes-base.wait",
      "position": [
        2608,
        1408
      ],
      "webhookId": "54770112-e93a-4b47-b63a-7e98fc2db80f",
      "parameters": {
        "amount": 2
      },
      "typeVersion": 1.1
    },
    {
      "id": "ae89562c-fc6c-46b4-841c-a6d2d2b3d6d7",
      "name": "스티커 메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        1232
      ],
      "parameters": {
        "color": 7,
        "width": 660,
        "height": 260,
        "content": "## Monitoring - leave as it is"
      },
      "typeVersion": 1
    },
    {
      "id": "fe6b5ed7-6a7f-4b1c-a876-ef79566e8b6f",
      "name": "오류 트리거",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -336,
        1328
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5c6f710e-2901-407b-920c-46d0d9f2a3b9",
      "name": "Telegram으로 전송",
      "type": "n8n-nodes-base.telegram",
      "position": [
        112,
        1328
      ],
      "webhookId": "13c616bf-a3ad-4035-998a-1dfe6021b89f",
      "parameters": {
        "text": "={{ $json.message }}",
        "chatId": "your-chat-id",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c732088d-cce6-4e26-b113-bd9249182737",
      "name": "코드",
      "type": "n8n-nodes-base.code",
      "position": [
        -112,
        1328
      ],
      "parameters": {
        "jsCode": "// Perfect error access untuk N8N v1.99.1\nconst errorData = $input.first().json;\nconst execution = errorData.execution;\nconst workflow = errorData.workflow;\nconst error = execution.error;\n\nconst message = `🚨 <b>WORKFLOW ERROR</b>\\n\\n` +\n  `📋 Workflow: <b>${workflow.name}</b>\\n` +\n  `⚙️ Node: <code>${error.node.name}</code>\\n` +\n  `❌ Error: <code>${error.message}</code>\\n` +\n  `📝 Description: <i>${error.description}</i>\\n` +\n  `🕐 Waktu: ${new Date(error.timestamp).toLocaleString('id-ID')}\\n` +\n  `🔍 Execution: <a href=\"${execution.url}\">${execution.id}</a>\\n` +\n  `⚠️ Level: ${error.level.toUpperCase()}`;\n\nreturn {\n  message: message,\n  parse_mode: 'HTML',\n  chat_id: '<your-api-key-goes-here>'\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "6f7c3c18-e606-44c8-9fe7-1efa43f7bc81",
      "name": "게시 완료!",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2832,
        1600
      ],
      "webhookId": "4550abb4-5baa-427b-9495-9e6ea219652e",
      "parameters": {
        "text": "=Hello, {{ $('📥 New Job Link via Telegram').item.json.message.from.first_name }}\nJob successfully extracted and Posted! \n\nOriginal Url: {{ $('🔧 Prepare URL for Extraction').item.json.message.text.replace(/_/g, '\\\\_') }}\n\nTitle: {{ $('🚀 Publish to Your web').item.json.title.rendered }}\nCategory: {{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.categories }}\nJob Type: {{ $('🧠 Extract Job Data with GPT').item.json.choices[0].message.content.job_type }}\nLogo: {{ $('🚀 Publish to Your web').item.json.meta._company_logo }}\n\nPublished Post: {{ $json.guid.rendered.replace(/_/g, '\\\\_') }}",
        "chatId": "={{ $('📥 New Job Link via Telegram').first().json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "7eWccxD2fpi1SvxQ",
          "name": "Threadscreator - @testoadios"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "62ca52b1-a939-43de-94bd-e2d41cc5aeb9",
      "name": "🚀 귀하의 웹사이트에 게시",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2384,
        1648
      ],
      "parameters": {
        "url": "https://www.yourweb.es/wp-json/wp/v2/job-listings",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"title\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.title) }},\n  \"content\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.content) }},\n  \"status\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.status) }},\n  \"job_listing_types\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.job_listing_type) }},\n  \"job_listing_category\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.job_listing_category) }},\n  \"meta\": {\n    \"_job_location\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._job_location) }},\n    \"_company_name\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._company_name) }},\n    \"_company_logo\": {{ JSON.stringify($json.companyLogo) }},\n    \"_application\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._application) }}\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "wordpressApi"
      },
      "credentials": {
        "wordpressApi": {
          "id": "QMDWc5KoLU8O3P19",
          "name": "WP - Mincara (beginicaranya)"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "5fb4a7bf-741a-40f9-a0b5-b9e10e34403d",
      "name": "🚀 귀하의 웹사이트에 게시 - 대체",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3504,
        2080
      ],
      "parameters": {
        "url": "https://www.yourweb.es/wp-json/wp/v2/job-listings",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"title\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.title) }},\n  \"content\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.content) }},\n  \"status\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.status) }},\n  \"job_listing_types\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.job_listing_type) }},\n  \"job_listing_category\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json.job_listing_category) }},\n  \"meta\": {\n    \"_job_location\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._job_location) }},\n    \"_company_name\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._company_name) }},\n    \"_company_logo\": {{ JSON.stringify($json._company_logo) }},\n    \"_application\": {{ JSON.stringify($('📦 Format Final Job Post Data').item.json._application) }}\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "wordpressApi"
      },
      "credentials": {
        "wordpressApi": {
          "id": "QMDWc5KoLU8O3P19",
          "name": "WP - Mincara (beginicaranya)"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "7cf031e8-56cb-4894-be0a-1eaf63c4d81a",
      "name": "추출",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        -256,
        1952
      ],
      "parameters": {
        "url": "https://api.firecrawl.dev/v1/scrape",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"url\": \"{{ $('🔧 Prepare URL for Extraction').item.json.text }}\",\n  \"formats\": [\"markdown\"]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <your-api-key-goes-here>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "pinData": {},
  "connections": {
    "b0c5d81e-1524-42f7-a951-e1615674ede6": {
      "main": [
        [
          {
            "node": "19eda755-411f-4c05-aaef-1f1bed9bc10a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "669df126-b486-401a-9f14-3dd7e4c25d2d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c732088d-cce6-4e26-b113-bd9249182737": {
      "main": [
        [
          {
            "node": "5c6f710e-2901-407b-920c-46d0d9f2a3b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d986c7c1-edcb-4b84-a7a5-321b6df8d562": {
      "main": [
        [
          {
            "node": "53185894-2a97-45df-ad7f-2295ba60e55f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7fd2055-f045-455f-a348-0ded7bceaa5a": {
      "main": [
        [
          {
            "node": "520bf6db-cfda-42fb-98c0-8293187b4bd7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7cf031e8-56cb-4894-be0a-1eaf63c4d81a": {
      "main": [
        [
          {
            "node": "b0c5d81e-1524-42f7-a951-e1615674ede6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c0295bdb-d2d3-4988-9b8f-09ea94f3b772",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "40108440-f928-4550-b7f9-7777ccbee4e8": {
      "main": [
        [
          {
            "node": "4d4d3aab-982c-4a68-ba74-a13cd37b946c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00ca2cca-7747-4266-a733-2deb390c86ae": {
      "main": [
        [
          {
            "node": "122181aa-b26a-426a-875d-93bb2ff7b05f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ea1fbbb2-b0dc-4ab8-b0c9-6d993bb95d81": {
      "main": [
        [
          {
            "node": "2b937eed-2ee2-42d6-897b-75d67e865bbb",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e8169ac9-8b39-487c-a190-353127378cb7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "166012da-838d-4b35-ae9a-4903b5879f20": {
      "main": [
        [
          {
            "node": "492ef5dd-2637-4059-b403-4ac742dcab75",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "27e265ef-0178-463c-894f-638b05f36ab6": {
      "main": [
        [
          {
            "node": "40108440-f928-4550-b7f9-7777ccbee4e8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d4d5a37-785c-488e-9698-95d4c4acc220": {
      "main": [
        [
          {
            "node": "e7fd2055-f045-455f-a348-0ded7bceaa5a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fe6b5ed7-6a7f-4b1c-a876-ef79566e8b6f": {
      "main": [
        [
          {
            "node": "c732088d-cce6-4e26-b113-bd9249182737",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4d4d3aab-982c-4a68-ba74-a13cd37b946c": {
      "main": [
        [],
        [
          {
            "node": "b47daf1e-f98e-4039-a521-e18117df50cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "520bf6db-cfda-42fb-98c0-8293187b4bd7": {
      "main": [
        [
          {
            "node": "b42a3aac-3457-477a-b4e0-789ae7f0c4f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6e83958d-7e39-4459-8045-6db75f0d1d61": {
      "ai_embedding": [
        [
          {
            "node": "b47daf1e-f98e-4039-a521-e18117df50cd",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "9dabf5f6-2789-4cc3-ad1f-1ae0503f3f90": {
      "ai_embedding": [
        [
          {
            "node": "1ba1fb98-be3f-4fca-b145-920b02609c8b",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "53185894-2a97-45df-ad7f-2295ba60e55f": {
      "main": [
        [
          {
            "node": "7cf031e8-56cb-4894-be0a-1eaf63c4d81a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0ce8cdb8-a132-47bc-ad1b-7bc4e3f0a1df": {
      "ai_document": [
        [
          {
            "node": "b47daf1e-f98e-4039-a521-e18117df50cd",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "0318eb86-0df5-4552-9ed4-6d3e11b5d346": {
      "main": [
        [
          {
            "node": "27e265ef-0178-463c-894f-638b05f36ab6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b47daf1e-f98e-4039-a521-e18117df50cd": {
      "main": [
        [
          {
            "node": "4d4d3aab-982c-4a68-ba74-a13cd37b946c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ba1fb98-be3f-4fca-b145-920b02609c8b": {
      "ai_tool": [
        [
          {
            "node": "e6a7aa5b-6d04-49d4-b920-3895e935baf6",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "dbade535-86ce-4c7e-a58e-db7f67ad9032": {
      "main": [
        [
          {
            "node": "00ca2cca-7747-4266-a733-2deb390c86ae",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b937eed-2ee2-42d6-897b-75d67e865bbb": {
      "main": [
        [
          {
            "node": "d986c7c1-edcb-4b84-a7a5-321b6df8d562",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19eda755-411f-4c05-aaef-1f1bed9bc10a": {
      "main": [
        [
          {
            "node": "e6a7aa5b-6d04-49d4-b920-3895e935baf6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "62ca52b1-a939-43de-94bd-e2d41cc5aeb9": {
      "main": [
        [
          {
            "node": "3305ba40-106a-4177-b851-17946afe6c64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9885c9df-0835-466b-a6af-41806f868ecc": {
      "main": [
        [
          {
            "node": "62ca52b1-a939-43de-94bd-e2d41cc5aeb9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2d4d5a37-785c-488e-9698-95d4c4acc220",
            "type": "main",
            "index": 0
          },
          {
            "node": "166012da-838d-4b35-ae9a-4903b5879f20",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "94f124f9-287e-4ab9-8c85-3c923d862a4b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5796ee20-2946-4897-a014-095c4ca8c41d": {
      "main": [
        [
          {
            "node": "b8067d7e-0647-4394-9662-734547fe6386",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "bd6a58c8-af17-49e4-b9dc-6a575f07ebe2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3305ba40-106a-4177-b851-17946afe6c64": {
      "main": [
        [
          {
            "node": "6f7c3c18-e606-44c8-9fe7-1efa43f7bc81",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "94f124f9-287e-4ab9-8c85-3c923d862a4b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "122181aa-b26a-426a-875d-93bb2ff7b05f": {
      "main": [
        [
          {
            "node": "bb8acbf0-9f1b-4866-8771-3ae7c727d693",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5fb4a7bf-741a-40f9-a0b5-b9e10e34403d": {
      "main": [
        [
          {
            "node": "5796ee20-2946-4897-a014-095c4ca8c41d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "efb7fdfc-6506-481a-9c2c-0ff690416fa1": {
      "main": [
        [
          {
            "node": "8053e182-b9aa-4273-a82b-cbc9cd2cb415",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e6a7aa5b-6d04-49d4-b920-3895e935baf6": {
      "main": [
        [
          {
            "node": "2f11c954-c6cb-46b3-916d-ddb6df220b9f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c0295bdb-d2d3-4988-9b8f-09ea94f3b772",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb8acbf0-9f1b-4866-8771-3ae7c727d693": {
      "main": [
        [
          {
            "node": "d7704688-f15b-4869-acd8-2067a36f5dfc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da72df6d-de32-401e-94d2-2f29581114c4": {
      "main": [
        [
          {
            "node": "5fb4a7bf-741a-40f9-a0b5-b9e10e34403d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "bd6a58c8-af17-49e4-b9dc-6a575f07ebe2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "bd6a58c8-af17-49e4-b9dc-6a575f07ebe2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d7704688-f15b-4869-acd8-2067a36f5dfc": {
      "main": [
        [
          {
            "node": "9885c9df-0835-466b-a6af-41806f868ecc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8053e182-b9aa-4273-a82b-cbc9cd2cb415": {
      "main": [
        [
          {
            "node": "a9a62b30-7ab6-48da-9ea6-0d0f2026b03b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "492ef5dd-2637-4059-b403-4ac742dcab75": {
      "main": [
        [
          {
            "node": "25c6286c-dd0e-49f2-a544-d11d1121bf1c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f11c954-c6cb-46b3-916d-ddb6df220b9f": {
      "main": [
        [
          {
            "node": "dbade535-86ce-4c7e-a58e-db7f67ad9032",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "21666edf-7e66-4953-bd0e-1fb5b5882428": {
      "ai_textSplitter": [
        [
          {
            "node": "0ce8cdb8-a132-47bc-ad1b-7bc4e3f0a1df",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "25c6286c-dd0e-49f2-a544-d11d1121bf1c": {
      "main": [
        [
          {
            "node": "c1a7c69b-fb9f-4026-8984-ffd64349b63f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c1a7c69b-fb9f-4026-8984-ffd64349b63f": {
      "main": [
        [
          {
            "node": "da72df6d-de32-401e-94d2-2f29581114c4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a9a62b30-7ab6-48da-9ea6-0d0f2026b03b": {
      "main": [
        [
          {
            "node": "ea1fbbb2-b0dc-4ab8-b0c9-6d993bb95d81",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 인사, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수53
카테고리2
노드 유형17
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34