This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "JD \ub370\uc774\ud130\ubd84\uc11d",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-420,
860
],
"id": "8b2d478d-fc9f-43a7-9d09-66ce4d7864ab",
"name": "When clicking \u2018Test workflow\u2019"
},
{
"parameters": {
"method": "POST",
"url": "=https://sheets.googleapis.com/v4/spreadsheets/{{ $json.spreadsheetId }}/values/{{ $json.title }}!A1:A1:append?valueInputOption=USER_ENTERED",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleSheetsOAuth2Api",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/x-www-form-urlencoded"
}
]
},
"sendBody": true,
"contentType": "raw",
"rawContentType": "application/json",
"body": "={{ {\"values\" : [[\"id\", \"companyName\", \"position\",\t\"detailPageUrl\", \"jdTitle\",\t\"jdContent\", \"skill\", \"career\", \"education\", \"extraPoint\"]] } }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
300,
340
],
"id": "a3c597c9-ac16-4855-a3c4-1fb6ba99f679",
"name": "\ud5e4\ub354 \uc785\ub825",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"disabled": true
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "2cc049ad-dfa0-4884-aa94-e793b3f928a4",
"name": "googleSpreadSheetId",
"value": "16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ",
"type": "string"
},
{
"id": "a4eec0d6-57a4-4f40-bc15-af68237777a6",
"name": "sheetName",
"value": "JD",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-200,
860
],
"id": "41f66b75-4d7f-48fb-aa52-f0deb4132d9a",
"name": "\ubcc0\uc218 \uc124\uc815"
},
{
"parameters": {
"operation": "create",
"documentId": {
"__rl": true,
"value": "={{ $json.googleSpreadSheetId }}",
"mode": "id"
},
"title": "=JD {{ $json.sheetName }}",
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
80,
340
],
"id": "d7f4c659-cdd0-4616-b4f5-32e5ae8075d3",
"name": "\uc2dc\ud2b8\uc0dd\uc131",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"disabled": true
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "={{ $json.googleSpreadSheetId }}",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "\ub0b4\ud504\ub85c\ud544",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit#gid=0"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
60,
860
],
"id": "8eb24b1f-ff7e-402b-a0f2-919c4fc9d5ae",
"name": "\ud504\ub85c\ud544\ub85c\ub4dc",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"jsCode": "return {\n summary : $input.first().json.summary,\n career : $input.first().json.career,\n preferredLocation: $input.first().json.preferred_location,\n skills : JSON.parse($input.first().json.skills),\n targetRole : JSON.parse($input.first().json.desired_roles),\n targetSalary : $input.first().json.target_salary\n}"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
220,
860
],
"id": "063fb35f-d31c-42b2-a3cd-c74988796b6c",
"name": "\ud30c\uc2f11"
},
{
"parameters": {
"fieldToSplitOut": "skills",
"options": {}
},
"type": "n8n-nodes-base.splitOut",
"typeVersion": 1,
"position": [
360,
860
],
"id": "a9ab10cb-e43a-4b12-8ef1-32b2ec667b5b",
"name": "Split Out3"
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "={{ $json.googleSpreadSheetId }}",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "={{ $json.sheetName }}",
"mode": "name"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
740,
1320
],
"id": "0274776c-8e6e-419a-9f4a-562656d2e0cc",
"name": "Google Sheets3",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "={{ $json.googleSpreadSheetId }}",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": 1381694919,
"mode": "list",
"cachedResultName": "\uc2a4\ud0ac",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit#gid=1381694919"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
740,
1100
],
"id": "dbba5ef4-1d0a-4262-84b9-63bdeb95238c",
"name": "Google Sheets4",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"numberInputs": 4
},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.1,
"position": [
1440,
1060
],
"id": "a8ad922f-cc97-4cb8-9561-00c47a361d62",
"name": "Merge"
},
{
"parameters": {
"options": {
"fileName": "my_skill_embedding.csv"
}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
980,
860
],
"id": "0bfaa9f0-619d-458c-bea6-5ac6f2179c24",
"name": "\ub098\uc758 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131"
},
{
"parameters": {
"binaryPropertyName": "=data",
"options": {
"fileName": "jd_list.csv"
}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
960,
1320
],
"id": "46280b84-05f0-4e20-b9df-ff48b919b065",
"name": "\ucc44\uc6a9\uacf5\uace0 \ub9ac\uc2a4\ud2b8 \ud30c\uc77c \uc0dd\uc131"
},
{
"parameters": {
"options": {
"fileName": "total_skill_embedding.csv"
}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
960,
1100
],
"id": "4ecef78f-d183-46ce-bda9-0fffbbc59184",
"name": "\uc804\uccb4 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131"
},
{
"parameters": {
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "id",
"renameField": true,
"outputFieldName": "fileID"
}
]
},
"options": {
"mergeLists": true
}
},
"type": "n8n-nodes-base.aggregate",
"typeVersion": 1,
"position": [
1660,
1080
],
"id": "e91ef573-3ff9-4deb-af45-3c44250f9e7d",
"name": "Aggregate"
},
{
"parameters": {
"options": {
"fileName": "my_profile.csv"
}
},
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [
960,
1560
],
"id": "ae1b9226-775d-4c1f-a7f4-d85db413f43f",
"name": "\ub098\uc758 \ud504\ub85c\ud544 \uc815\ubcf4 \ud30c\uc77c \uc0dd\uc131"
},
{
"parameters": {
"jsCode": "const result = $input.all().map(e=>e.json.messages[0].content[0].text).reverse().join('\\n\\n' );\n\nreturn {\n result: result\n};"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
2880,
1080
],
"id": "0f115039-a695-4996-bb47-bc99d0d069c1",
"name": "\uba54\uc138\uc9c0 \ubcd1\ud569"
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "report",
"reportPrompt": "\uac01 \ud68c\uc0ac\ubcc4\ub85c A4\uc6a9\uc9c0 1\uc7a5 \uc9dc\ub9ac \ucd1d 3\uc7a5 \ubd84\ub7c9\uc73c\ub85c \ubaa8\ub358\ud558\uace0 \uae54\ub054\ud55c UI \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud55c \ub514\uc790\uc778\uc73c\ub85c \ub2e4\uc74c \ub370\uc774\ud130\ub97c \ubd84\uc11d\ud558\uace0 \uc2dc\uac01\ud654\ud558\ub294 HTML \ubcf4\uace0\uc11c\ub97c \uc791\uc131\ud574\uc8fc\uc138\uc694.",
"reportInputText": "={{ $json.result }}"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
3120,
1080
],
"id": "ce63471b-82de-4f1f-8c1c-3276c44271ef",
"name": "\ub808\ud3ec\ud2b8 \uc0dd\uc131",
"alwaysOutputData": true,
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"content": "## \ub098\uc758 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131",
"height": 220,
"width": 1260,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
20,
800
],
"id": "ee7df375-f7e0-4054-be57-adac05a0903f",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## \uc804\uccb4 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131",
"height": 220,
"width": 1260,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
20,
1040
],
"id": "51d582c6-3001-475c-bfb7-e31ee04c5c16",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "## \uc804\uccb4 JD\ubaa9\ub85d \ud30c\uc77c \uc0dd\uc131",
"height": 220,
"width": 1260,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
20,
1280
],
"id": "5e83ef6b-ebe7-4f82-8599-5727af753680",
"name": "Sticky Note2"
},
{
"parameters": {
"content": "## \ub098\uc758 \ud504\ub85c\ud544 \ud30c\uc77c \uc0dd\uc131",
"height": 220,
"width": 1260,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
20,
1520
],
"id": "ab468f32-5348-4bb2-a145-d48b334b2879",
"name": "Sticky Note3"
},
{
"parameters": {
"content": "## OpenAI Assistants API\ub97c \ud1b5\ud55c \uc6d0\uaca9 \uc5d0\uc774\uc804\ud2b8 Python \ubd84\uc11d",
"height": 300,
"width": 1460
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
1320,
980
],
"id": "3c78873d-707b-49d5-8839-d3c9bfea2148",
"name": "Sticky Note4"
},
{
"parameters": {
"content": "## \ub370\uc774\ud130 \uc2dc\uac01\ud654",
"height": 300,
"width": 580,
"color": 5
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
2820,
980
],
"id": "fad3a384-e338-4735-b425-214353b37f2c",
"name": "Sticky Note5"
},
{
"parameters": {
"workflowId": {
"__rl": true,
"value": "VCPplKnDpVarpo8h",
"mode": "list",
"cachedResultName": "\uc2a4\ud0ac \ub370\uc774\ud130 \uc784\ubca0\ub529"
},
"workflowInputs": {
"mappingMode": "defineBelow",
"value": {
"googleSpreadSheetId": "={{ $('\ubcc0\uc218 \uc124\uc815').googleSpreadSheeetId }}",
"sheetName": "={{ $('\ubcc0\uc218 \uc124\uc815').sheetName }}"
},
"matchingColumns": [],
"schema": [
{
"id": "googleSpreadSheetId",
"displayName": "googleSpreadSheetId",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "string"
},
{
"id": "sheetName",
"displayName": "sheetName",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "string"
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
},
"options": {}
},
"type": "n8n-nodes-base.executeWorkflow",
"typeVersion": 1.2,
"position": [
280,
580
],
"id": "0a02aac4-4f64-4d50-ba61-fe12d345323a",
"name": "\uc2a4\ud0ac \ub370\uc774\ud130 \uc784\ubca0\ub529 \uc6cc\ud06c\ud50c\ub85c",
"disabled": true
},
{
"parameters": {
"workflowId": {
"__rl": true,
"value": "b1RoBWKWcquZom4U",
"mode": "list",
"cachedResultName": "JD \uc2a4\ud06c\ub7a9"
},
"workflowInputs": {
"mappingMode": "defineBelow",
"value": {
"googleSpreadSheetId": "={{ $json.googleSpreadSheetId }}",
"sheetName": "={{ $json.sheetName }}"
},
"matchingColumns": [],
"schema": [
{
"id": "googleSpreadSheetId",
"displayName": "googleSpreadSheetId",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "string"
},
{
"id": "sheetName",
"displayName": "sheetName",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "string"
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
},
"options": {}
},
"type": "n8n-nodes-base.executeWorkflow",
"typeVersion": 1.2,
"position": [
60,
580
],
"id": "e8cb8353-e33f-41fe-8a1c-c3d66ab1d9d3",
"name": "JD \uc2a4\ud06c\ub7a9 \uc6cc\ud06c\ud50c\ub85c",
"disabled": true
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "file",
"operation": "uploadFile"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
1160,
860
],
"id": "70aaf348-8238-439e-b8c4-29a979266d19",
"name": "\ud30c\uc77c\uc5c5\ub85c\ub4dc1",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "file",
"operation": "uploadFile"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
1160,
1100
],
"id": "b220a3a6-d1c9-44b6-a32d-bc9dadbd4cde",
"name": "\ud30c\uc77c\uc5c5\ub85c\ub4dc2",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "file",
"operation": "uploadFile"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
1160,
1320
],
"id": "9b030a64-bde3-4dc4-90ed-abce468ccde2",
"name": "\ud30c\uc77c\uc5c5\ub85c\ub4dc3",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "file",
"operation": "uploadFile"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
1160,
1560
],
"id": "83c6004f-6c0e-4c1d-851d-53a6cad227ec",
"name": "\ud30c\uc77c\uc5c5\ub85c\ub4dc4",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"fileSelector": "/users/dante/downloads/soft_jaccard_embedding.md",
"options": {}
},
"type": "n8n-nodes-base.readWriteFile",
"typeVersion": 1,
"position": [
1900,
1080
],
"id": "15837505-32cb-4029-88bd-4a3f09d30298",
"name": "Read/Write Files from Disk"
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "file",
"operation": "uploadFile"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
2120,
1080
],
"id": "9a5c39ae-0d41-433a-91f6-c0677a0be5c9",
"name": "\ubd84\uc11d\uae30\ubc95 \ucc38\uace0\ubb38\uc11c \uc5c5\ub85c\ub4dc",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"operation": "createAssistant",
"assistantName": "\ucc44\uc6a9\uacf5\uace0 \ub370\uc774\ud130\ubd84\uc11d\uae30",
"assistantDescription": "\ucc44\uc6a9\uacf5\uace0\uc640 \ud504\ub85c\ud544\uc744 \ubd84\uc11d\ud574\uc11c \uad6c\uc9c1 \uc9c0\uce68\uc744 \uc81c\uacf5",
"assistantInstructions": "\ub108\ub294 \uc0ac\uc6a9\uc790\uac00 \uc5c5\ub85c\ub4dc\ud558\ub294 \ucc44\uc6a9\uacf5\uace0 \ub9ac\uc2a4\ud2b8 \ud30c\uc77c\uacfc, \uc2a4\ud0ac \ub9ac\uc2a4\ud2b8 \ud30c\uc77c,\nPython\uc73c\ub85c \ubd84\uc11d\uc744 \ud574\uc8fc\ub294 \ubd84\uc11d\uac00\uc57c.\njd\ub9ac\uc2a4\ud2b8 \ud30c\uc77c\uc5d0\ub294 JD\ubcc4 \ud544\uc694\uc2a4\ud0ac \ub9ac\uc2a4\ud2b8\uac00 \uc788\uc5b4.\n\uc2a4\ud0ac \ub9ac\uc2a4\ud2b8 \ud30c\uc77c\uc5d0\ub294 \uc2a4\ud0ac\uba85\uc5d0 \ub300\ud55c \uc784\ubca0\ub529 \ubca1\ud130 \uc5f4\uc774 \uc788\uc5b4.\n\ud504\ub85c\ud544 \ud30c\uc77c\uc5d0\ub294 \ubcf4\uc720 \uc2a4\ud0ac\uba85\uc5d0 \ub300\ud55c \uc784\ubca0\ub529 \ubca1\ud130 \uc5f4\uc774 \uc788\uc5b4.\n\uc544\ub798 \ubd84\uc11d \ubc29\ubc95\ub860\uc744 \uc774\uc6a9\ud574\uc11c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uac00\uc7a5 \uc2a4\ud0ac \uc77c\uce58\uc728\uc744 \ubd84\uc11d\ud574\uc11c, \uc0c1\uc704 5\uac1c JD\ub97c \ubf51\uc544\uc918.\n* \ubd84\uc11d \ubc29\ubc95\ub860\n- Jaccard \uc77c\uce58\uc728(\uc720\uc0ac\ub3c4) \ubd84\uc11d\uc744 \ud1b5\ud574\uc11c \ucc44\uc6a9\uc815\ubcf4\uc640 \uc0ac\uc6a9\uc790\uc758 \uc2a4\ud0ac\uc14b\uc744 \ube44\uad50\ud558\uc5ec \uc0ac\uc6a9\uc790\uc5d0\uac8c \uac00\uc7a5 \ub9de\ub294 \ucc44\uc6a9\uacf5\uace0\ub97c \ucc3e\uc544 \uc0c1\uc138 \ubd84\uc11d.\n- \uc784\ubca0\ub529 \ubca1\ud130 \uae30\ubc18 soft jaccard \uc77c\uce58\uc728 \uacc4\uc0b0 (\ucca8\ubd80\ub41c \ubb38\uc11c\uc5d0\uc11c \ubd84\uc11d \ubc29\ubc95 \ud655\uc778)\n",
"assistantModel": "gpt-4.1",
"useCodeInterpreter": true,
"useRetrieval": true,
"responseFormatType": "json_object",
"useFileAttachments": true,
"assistantFileIds": "={{ [$json.id] }}"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
2360,
1080
],
"id": "65ccc264-088d-4627-b37c-3b4b580883c9",
"name": "JD \ubd84\uc11d \uc5b4\uc2dc\uc2a4\ud134\ud2b8 \uc0dd\uc131",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "thread",
"operation": "createAndRunThread",
"threadInitialMessage": "=* \ubd84\uc11d \ubaa9\ud45c\n\ub108\ub294 \ucc44\uc6a9\uacfc \uc785\uc0ac\uc9c0\uc6d0\uc744 \ub3d5\ub294 \uc778\uc0ac \uc804\ubb38\uac00\uc57c.\n\ub098\uc758 \uc2a4\ud0ac\uc815\ubcf4\uc640 JD\ubcc4 \uc2a4\ud0b7\uc14b \uc815\ubcf4\ub97c \uc784\ubca0\ub529 \ubca1\ud130 \uae30\ubc18 Jaccard \uc77c\uce58\uc728\uc744 \ubd84\uc11d\ud558\uc5ec \uac00\uc7a5 \ub098\uc640 \uc720\uad00\ud55c JD \uc0c1\uc704 5\uac1c\ub97c \ud310\ubcc4\ud558\uace0,\n\ub3c4\ucd9c\ub41c JD 3\uac1c\uc640 \ub098\uc758 \ud504\ub85c\ud544\uc744 \ube44\uad50 \ubd84\uc11d\ud558\uc5ec, \uc544\ub798 \ud45c \uc591\uc2dd\uc5d0 \ub9de\uac8c \uacb0\uacfc\ub97c \ub9cc\ub4e4\uace0 \uadf8\uac83\uc744 JSON \ud615\uc2dd\uc73c\ub85c \ucd9c\ub825\ud574\uc918.\n\ub0b4\uc6a9\uc744 \uc0dd\ub7b5\ud558\uc9c0 \ub9d0\uace0 \uc804\uccb4\ub97c \uc791\uc131\ud574\uc918.\n\uba74\uc811 \uc608\uc0c1\uc9c8\ubb38\uc740, \ud68c\uc0ac\uc758 JD \ub0b4\uc6a9\uc744 \ubc14\ud0d5\uc73c\ub85c \ud3ec\uad04\uc801\uc774\uace0 \ud575\uc2ec\uc801\uc774\uace0, \uac1c\uc778 \uacbd\ud5d8\uacfc \uc5ed\ub7c9\uc744 \ud655\uc778\ud560\uc218 \uc788\ub294 \uc9c8\ubb38\uc73c\ub85c \uc0dd\uc131\ud574\uc918.\n\uc774 \ub0b4\uc6a9\uc744 \ud1b5\ud574\uc11c \ub098\uc758 \uc785\uc0ac\uc9c0\uc6d0\uc744 \uc900\ube44\ud560 \uac83\uc774\uae30 \ub54c\ubb38\uc5d0 \uc0c1\uc138\ud558\uace0 \uce5c\uc808\ud558\uace0 \uc804\ubb38\uc801\uc778 \uac00\uc774\ub4dc\uac00 \ud544\uc694\ud574.\n\n* \uacb0\uacfc JSON \uc591\uc2dd\n[{\n \"comapnyName\" : \"...\", # \ud68c\uc0ac\uba85\n \"jdTitle\" : \"...\", # JD \uc81c\ubaa9\n \"jobRole\" : \"...\", # \uc9c1\ubb34 \uc5ed\ud560\n \"qualification\" : \"...\", # \uc790\uaca9 \uc694\uac74\n \"extraPoint\" : \"...\", # \uc6b0\ub300 \uc0ac\ud56d\n \"keyword\" : \"...\", # \ud575\uc2ec \ud0a4\uc6cc\ub4dc\n \"match/mismatch\" : true, # or false\n \"alignment\" : \"...\", # \ubd80\ud569\ud558\ub294 \uc810\uc5d0 \ub300\ud55c \uc11c\uc220 (50\uc790 \ub0b4\uc678)\n \"gap\" : \"...\", # \uc5ed\ub7c9 GAP \ubc0f \ubcf4\uc644\uc774 \ud544\uc694\ud55c \uc810 (100\uc790 \ub0b4\uc678)\n \"sample_interview_questions\" : [\"...\", \"...\", ...] # \uc608\uc0c1 \uba74\uc811 \uc9c8\ubb38 5\uac1c\n}, ...]\n\n* \ud30c\uc77c \uc0c1\uc138 \uc124\uba85\n1. {{ $('Aggregate').item.json.fileID[0] }} \ud30c\uc77c\uc740 \ub098\uc758 \uc2a4\ud0ac\uc5d0 \ub300\ud55c \uc784\ubca0\ub529 \ubca1\ud130\uac00 \uc800\uc7a5\ub41c \ud30c\uc77c\uc774\uc57c.\nex) \ub370\uc774\ud130 \uad6c\uc870\nskill, embedding\nPython, \"[0.1232, 0.232123, ...]\"\n\n2. {{ $('Aggregate').item.json.fileID[1] }} \ud30c\uc77c\uc740 \uc804\uccb4 \uc2a4\ud0ac\uc5d0 \ub300\ud55c \uc784\ubca0\ub529 \ubca1\ud130\uac00 \uc800\uc7a5\ub41c \ud30c\uc77c\uc774\uc57c.\nex) \ub370\uc774\ud130 \uad6c\uc870\nskill, embedding\n\"Python\", \"[0.1232, 0.232123, ...]\"\n\n3. {{ $('Aggregate').item.json.fileID[2] }} \ud30c\uc77c\uc740 JD \ub9ac\uc2a4\ud2b8\uac00 \uc800\uc7a5\ub418\uc5b4 \uc788\ub294 \ud30c\uc77c\uc774\uc57c.\n\uc544\ub798 \uad6c\uc870\ub97c \ucc38\uace0\ud574\uc11c skill \uc5f4\uc758 skill \ub370\uc774\ud130\uc758 \uc784\ubca0\ub529 \ubca1\ud130\ub97c 2\ubc88 \ud30c\uc77c\uc5d0\uc11c join \ud558\uc5ec \uc870\ud68c\ud560\uc218 \uc788\uc5b4.\nex) \ub370\uc774\ud130 \uad6c\uc870\nid,\tcompanyName,\tposition,\tdetailPageUrl,\tjdTitle,\tjdContent,\tskill,\tcareer,\teducation,\textraPoint\n281113,\t\uc9c0\uc5d4\uc5e0\ub77c\uc774\ud504,\t\ud64d\ubcf4\ubc14\uc774\ub7f4 \ub9c8\ucf00\ud130,\thttps://www.wanted.co.kr/wd/281113,\t\"\uc9c0\uc5d4\uc5e0\ub77c\uc774\ud504\uc758 \ud64d\ubcf4\ubc14\uc774\ub7f4 \ub9c8\ucf00\ud130 \ud3ec\uc9c0\uc158\uc744 \ud655\uc778\ud574 \ubcf4\uc138\uc694...\", \"GNM LIFE\ub294 \uac04\ud3b8\ud568\uacfc \uc2a4\ub9c8\ud2b8\ud568\uc744 \uac16\ucd98... \uae30\uc5c5\uc785\ub2c8\ub2e4.\", [\"\ubc14\uc774\ub7f4 \ub9c8\ucf00\ud305\",\"\ube14\ub85c\uadf8 \ub9c8\ucf00\ud305\",\"\uce74\ud398 \ub9c8\ucf00\ud305\",\"\uc720\ud29c\ube0c \ub9c8\ucf00\ud305\",\"SEO\",\"\ub370\uc774\ud130 \ubd84\uc11d\",\"\ucf58\ud150\uce20 \uae30\ud68d\",\"\uc6d0\uace0 \uc791\uc131\",\"\uc0c1\ud488 \uc0c1\uc138\ud398\uc774\uc9c0 \uc791\uc131\",\"\uac80\uc0c9 \ud2b8\ub80c\ub4dc \ubd84\uc11d\"],\t1,\t4\ub144\uc81c \ub300\uc878 \uc774\uc0c1\n\n4. {{ $('Aggregate').item.json.fileID[3] }} \ud30c\uc77c\uc740 \ub098\uc758 \ud504\ub85c\ud544 \uc815\ubcf4 \ud30c\uc77c\uc774\uc57c.",
"threadFileAttachmentMethod": "existingFiles",
"threadFileIds": "={{ $('Aggregate').item.json.fileID }}",
"threadMaxPollTime": 600,
"threadAssistantSelection": "byId",
"threadAssistantId": "={{ $json.assistant.id }}"
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
2600,
1080
],
"id": "50532997-f8a8-48b6-ae1a-0a53387128aa",
"name": "Python \ub370\uc774\ud130 \ubd84\uc11d \uc5d0\uc774\uc804\ud2b8",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"authentication": "openAiApi",
"resource": "embedding",
"text": "={{ $json.skills }}",
"options": {}
},
"type": "n8n-nodes-openai-analytics.openAIAnalytics",
"typeVersion": 1,
"position": [
500,
860
],
"id": "7f287721-0258-4001-90fe-fb974e24cc4e",
"name": "\uc2a4\ud0ac \uc784\ubca0\ub529",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "appendOrUpdate",
"documentId": {
"__rl": true,
"value": "16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ",
"mode": "list",
"cachedResultName": "\ucc44\uc6a9\uacf5\uace0DB",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 1842739289,
"mode": "list",
"cachedResultName": "\ub0b4 \uc2a4\ud0ac",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit#gid=1842739289"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"skill": "={{ $('Split Out3').item.json.skills }}",
"embedding": "={{ $json.data[0].embedding }}"
},
"matchingColumns": [
"skill"
],
"schema": [
{
"id": "skill",
"displayName": "skill",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "embedding",
"displayName": "embedding",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
660,
860
],
"id": "96b3a7d2-2e2d-4db8-ab13-1ea4f6cb6f30",
"name": "\uc784\ubca0\ub529 \uc800\uc7a5",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"documentId": {
"__rl": true,
"value": "16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ",
"mode": "list",
"cachedResultName": "\ucc44\uc6a9\uacf5\uace0DB",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 1842739289,
"mode": "list",
"cachedResultName": "\ub0b4 \uc2a4\ud0ac",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/16n3ZNEEVyfEok6ENe2vW1q4gQHtkUOKipIJZHOEEbPQ/edit#gid=1842739289"
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
820,
860
],
"id": "dea4a6fe-e372-4277-95c0-0d869878d103",
"name": "\uc784\ubca0\ub529 \ub85c\ub4dc",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
}
],
"connections": {
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "\ubcc0\uc218 \uc124\uc815",
"type": "main",
"index": 0
}
]
]
},
"\ubcc0\uc218 \uc124\uc815": {
"main": [
[
{
"node": "\ud504\ub85c\ud544\ub85c\ub4dc",
"type": "main",
"index": 0
},
{
"node": "Google Sheets3",
"type": "main",
"index": 0
},
{
"node": "Google Sheets4",
"type": "main",
"index": 0
},
{
"node": "JD \uc2a4\ud06c\ub7a9 \uc6cc\ud06c\ud50c\ub85c",
"type": "main",
"index": 0
}
]
]
},
"\uc2dc\ud2b8\uc0dd\uc131": {
"main": [
[
{
"node": "\ud5e4\ub354 \uc785\ub825",
"type": "main",
"index": 0
}
]
]
},
"\ud504\ub85c\ud544\ub85c\ub4dc": {
"main": [
[
{
"node": "\ud30c\uc2f11",
"type": "main",
"index": 0
},
{
"node": "\ub098\uc758 \ud504\ub85c\ud544 \uc815\ubcf4 \ud30c\uc77c \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
},
"\ud30c\uc2f11": {
"main": [
[
{
"node": "Split Out3",
"type": "main",
"index": 0
}
]
]
},
"Split Out3": {
"main": [
[
{
"node": "\uc2a4\ud0ac \uc784\ubca0\ub529",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets3": {
"main": [
[
{
"node": "\ucc44\uc6a9\uacf5\uace0 \ub9ac\uc2a4\ud2b8 \ud30c\uc77c \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets4": {
"main": [
[
{
"node": "\uc804\uccb4 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"\ub098\uc758 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131": {
"main": [
[
{
"node": "\ud30c\uc77c\uc5c5\ub85c\ub4dc1",
"type": "main",
"index": 0
}
]
]
},
"\ucc44\uc6a9\uacf5\uace0 \ub9ac\uc2a4\ud2b8 \ud30c\uc77c \uc0dd\uc131": {
"main": [
[
{
"node": "\ud30c\uc77c\uc5c5\ub85c\ub4dc3",
"type": "main",
"index": 0
}
]
]
},
"\uc804\uccb4 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131": {
"main": [
[
{
"node": "\ud30c\uc77c\uc5c5\ub85c\ub4dc2",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Read/Write Files from Disk",
"type": "main",
"index": 0
}
]
]
},
"\ub098\uc758 \ud504\ub85c\ud544 \uc815\ubcf4 \ud30c\uc77c \uc0dd\uc131": {
"main": [
[
{
"node": "\ud30c\uc77c\uc5c5\ub85c\ub4dc4",
"type": "main",
"index": 0
}
]
]
},
"\uba54\uc138\uc9c0 \ubcd1\ud569": {
"main": [
[
{
"node": "\ub808\ud3ec\ud2b8 \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
},
"JD \uc2a4\ud06c\ub7a9 \uc6cc\ud06c\ud50c\ub85c": {
"main": [
[
{
"node": "\uc2a4\ud0ac \ub370\uc774\ud130 \uc784\ubca0\ub529 \uc6cc\ud06c\ud50c\ub85c",
"type": "main",
"index": 0
}
]
]
},
"\ud30c\uc77c\uc5c5\ub85c\ub4dc1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"\ud30c\uc77c\uc5c5\ub85c\ub4dc3": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"\ud30c\uc77c\uc5c5\ub85c\ub4dc2": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"\ud30c\uc77c\uc5c5\ub85c\ub4dc4": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 3
}
]
]
},
"Read/Write Files from Disk": {
"main": [
[
{
"node": "\ubd84\uc11d\uae30\ubc95 \ucc38\uace0\ubb38\uc11c \uc5c5\ub85c\ub4dc",
"type": "main",
"index": 0
}
]
]
},
"\ubd84\uc11d\uae30\ubc95 \ucc38\uace0\ubb38\uc11c \uc5c5\ub85c\ub4dc": {
"main": [
[
{
"node": "JD \ubd84\uc11d \uc5b4\uc2dc\uc2a4\ud134\ud2b8 \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
},
"JD \ubd84\uc11d \uc5b4\uc2dc\uc2a4\ud134\ud2b8 \uc0dd\uc131": {
"main": [
[
{
"node": "Python \ub370\uc774\ud130 \ubd84\uc11d \uc5d0\uc774\uc804\ud2b8",
"type": "main",
"index": 0
}
]
]
},
"Python \ub370\uc774\ud130 \ubd84\uc11d \uc5d0\uc774\uc804\ud2b8": {
"main": [
[
{
"node": "\uba54\uc138\uc9c0 \ubcd1\ud569",
"type": "main",
"index": 0
}
]
]
},
"\uc2a4\ud0ac \uc784\ubca0\ub529": {
"main": [
[
{
"node": "\uc784\ubca0\ub529 \uc800\uc7a5",
"type": "main",
"index": 0
}
]
]
},
"\uc784\ubca0\ub529 \uc800\uc7a5": {
"main": [
[
{
"node": "\uc784\ubca0\ub529 \ub85c\ub4dc",
"type": "main",
"index": 0
}
]
]
},
"\uc784\ubca0\ub529 \ub85c\ub4dc": {
"main": [
[
{
"node": "\ub098\uc758 \uc2a4\ud0ac \uc784\ubca0\ub529 \ud30c\uc77c \uc0dd\uc131",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "ce314edd-80ea-4653-ab56-554e582dd657",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "j0jgLPw35ZpFozch",
"tags": [
{
"createdAt": "2025-05-13T21:48:46.312Z",
"updatedAt": "2025-05-13T21:48:46.312Z",
"id": "17aNPkNcl3APRz42",
"name": "\ub370\uc774\ud130\ubd84\uc11d"
}
]
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
googleSheetsOAuth2ApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
JD 데이터분석. Uses httpRequest, googleSheets, n8n-nodes-openai-analytics, readWriteFile. Event-driven trigger; 36 nodes.
Source: https://github.com/dandacompany/dandacompany.github.io/blob/42e2fc2751d2219a10ccc0dfb6a6d86e8bda047c/n8n-workflows/workflows/openai-analytics/jd_analyzer.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
OpenAI Analytics 노드 사용법. Uses httpRequest, quickChart, n8n-nodes-openai-analytics, googleSheets. Event-driven trigger; 25 nodes.
This is the final piece of the AI content factory. This workflow takes your text-based video scripts and automatically generates high-quality audio voiceovers for each one, turning your text into read
Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.
The Problem That it Solves
This intelligent email automation workflow helps you maximize engagement through domain-based outreach. It utilizes AI-powered personalization and strategic follow-ups to increase response rates. The