8
n8n 한국어amn8n.com

Cal.com과 Google Sheets로 면접 일정 잡기 및 데이터 정리 자동화

중급

이것은HR분야의자동화 워크플로우로, 14개의 노드를 포함합니다.주로 If, Set, Code, SplitOut, HttpRequest 등의 노드를 사용하며. Cal.com 및 Google Sheets를 통한 면접 일정 잡기 및 데이터 정리 자동화

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "60098b76ad738e2ce8a403a46a5d6afed7799cdb6caa43f6858e6df2ac2bc8f5",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "da1d59c5-9f44-41b2-9239-9656a5524bc8",
      "name": "워크플로우 실행 시",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        60,
        60
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "be3c688c-ca01-42b8-8fd6-6b715a187683",
      "name": "HTTP 요청1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        560,
        60
      ],
      "parameters": {
        "url": "https://api.cal.com/v1/bookings",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "apiKey",
              "value": "YOUR API KEY HERE"
            },
            {
              "name": "id",
              "value": "={{ $json.attendees[0].bookingId }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ba372028-e10d-46c8-bac9-eb3400e5c2f4",
      "name": "필드 편집1",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        60
      ],
      "parameters": {
        "include": "selected",
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7084df2d-5689-48c1-a048-2a3861261073",
              "name": "Email",
              "type": "string",
              "value": "={{ $json.email.toLowerCase() }}"
            },
            {
              "id": "320d00bf-cc25-46b5-b4e9-ee4ecd45db66",
              "name": "Interview Schedule",
              "type": "string",
              "value": "={{ $json.startFormatted }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "b9c03922-faf8-4c5c-87ba-cd44b8919aaa",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1440,
        60
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "SUMMARY "
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
          "cachedResultName": "Accepted"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
          "cachedResultName": "Resumes"
        }
      },
      "credentials": {},
      "typeVersion": 4.6
    },
    {
      "id": "06ea5046-9679-47d3-876c-d9963a5bd47c",
      "name": "분할",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1660,
        60
      ],
      "parameters": {
        "include": "allOtherFields",
        "options": {},
        "fieldToSplitOut": "Email"
      },
      "typeVersion": 1
    },
    {
      "id": "8d2456b4-8074-4b95-9f2d-9beca4f47f3a",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -260
      ],
      "parameters": {
        "content": "## 📅 Cal.com Calendar Setup\nThis section fetches all bookings from your Cal.com event.\n\n- Pulls booking data via Cal.com API\n- Extracts attendee name, email, and interview time\n\n🔐 Be sure to insert your Cal.com API Key."
      },
      "typeVersion": 1
    },
    {
      "id": "73f5783e-f0e4-40e8-88e2-067bc86880b3",
      "name": "메모4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        -280
      ],
      "parameters": {
        "color": 3,
        "width": 420,
        "height": 280,
        "content": "## 🔁 Link to Resume Screening Template\nThis workflow can be connected to the resume evaluation system.\n\n- Automatically assigns interview schedules\n- Matches bookings to existing applicants in your sheet\n\n📌 Useful for aligning candidate records with scheduled interviews."
      },
      "typeVersion": 1
    },
    {
      "id": "4c2e0432-6b9c-4142-a17f-cb65cd31697e",
      "name": "메모5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1820,
        -220
      ],
      "parameters": {
        "width": 460,
        "height": 220,
        "content": "## 🧹 Data Cleanup Logic\nThis section ensures only valid candidates remain in the sheet.\n\n- Compares booking emails with accepted applicants\n- Deletes rows with missing or unmatched data (e.g. no summary)\n\n✅ Keeps your applicant tracking clean and relevant."
      },
      "typeVersion": 1
    },
    {
      "id": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
      "name": "이메일 순회",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1900,
        60
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "e896a142-0045-4b18-bb84-23381fda6343",
      "name": "일치하지 않는 이메일 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        2120,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8aa988a0-0225-49fc-9953-e97746bc7c9b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json['SUMMARY '] }}",
              "rightValue": "="
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "231eee7f-33cc-4879-ab32-701543a83ec2",
      "name": "삭제",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2340,
        140
      ],
      "parameters": {
        "operation": "delete",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
          "cachedResultName": "Accepted"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
          "cachedResultName": "Resumes"
        },
        "startIndex": "={{ $json.row_number }}"
      },
      "credentials": {},
      "typeVersion": 4.6
    },
    {
      "id": "7fa5068c-5b7c-4bb5-bd0c-a41560221141",
      "name": "인터뷰 시간 및 날짜 추가",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1200,
        60
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "NAME",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "NAME",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone Number",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Phone Number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "JUSTIFICATION ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "JUSTIFICATION ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SUMMARY ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "SUMMARY ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Q1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Q1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Q2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Q2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Q3",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Q3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Q4",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Q4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Q5",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Q5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "handlingExtraData": "ignoreIt"
        },
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit#gid=0",
          "cachedResultName": "Accepted"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18vvSKGbAiodQvNsdNTJ1pBuhEcv2ADAmQKtDNAK7VQY/edit?usp=drivesdk",
          "cachedResultName": "Resumes"
        }
      },
      "credentials": {},
      "typeVersion": 4.6
    },
    {
      "id": "a30e3a25-b55e-41bd-bd25-ac6821bdec32",
      "name": "시간으로 변환",
      "type": "n8n-nodes-base.code",
      "position": [
        760,
        60
      ],
      "parameters": {
        "jsCode": "return $json.bookings.map(booking => {\n  const date = new Date(booking.startTime);\n  const formatted = date.toLocaleString(\"en-GB\", {\n    timeZone: \"Asia/Riyadh\",\n    day: \"2-digit\",\n    month: \"long\",\n    hour: \"2-digit\",\n    minute: \"2-digit\",\n    hour12: true\n  });\n\n  return {\n    json: {\n      name: booking.attendees[0].name,\n      email: booking.attendees[0].email,\n      startFormatted: formatted\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "365dad27-686d-4f38-9bbd-6beeb83573ca",
      "name": "예약 정보 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        340,
        60
      ],
      "parameters": {
        "url": "https://api.cal.com/v1/attendees",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "apiKey",
              "value": "your API KEY HERE"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "pinData": {},
  "connections": {
    "231eee7f-33cc-4879-ab32-701543a83ec2": {
      "main": [
        [
          {
            "node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "06ea5046-9679-47d3-876c-d9963a5bd47c": {
      "main": [
        [
          {
            "node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba372028-e10d-46c8-bac9-eb3400e5c2f4": {
      "main": [
        [
          {
            "node": "7fa5068c-5b7c-4bb5-bd0c-a41560221141",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be3c688c-ca01-42b8-8fd6-6b715a187683": {
      "main": [
        [
          {
            "node": "a30e3a25-b55e-41bd-bd25-ac6821bdec32",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b9c03922-faf8-4c5c-87ba-cd44b8919aaa": {
      "main": [
        [
          {
            "node": "06ea5046-9679-47d3-876c-d9963a5bd47c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a30e3a25-b55e-41bd-bd25-ac6821bdec32": {
      "main": [
        [
          {
            "node": "ba372028-e10d-46c8-bac9-eb3400e5c2f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd": {
      "main": [
        [],
        [
          {
            "node": "e896a142-0045-4b18-bb84-23381fda6343",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e896a142-0045-4b18-bb84-23381fda6343": {
      "main": [
        [
          {
            "node": "231eee7f-33cc-4879-ab32-701543a83ec2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "365dad27-686d-4f38-9bbd-6beeb83573ca": {
      "main": [
        [
          {
            "node": "be3c688c-ca01-42b8-8fd6-6b715a187683",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7fa5068c-5b7c-4bb5-bd0c-a41560221141": {
      "main": [
        [
          {
            "node": "b9c03922-faf8-4c5c-87ba-cd44b8919aaa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da1d59c5-9f44-41b2-9239-9656a5524bc8": {
      "main": [
        [
          {
            "node": "365dad27-686d-4f38-9bbd-6beeb83573ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 인사

유료인가요?

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

워크플로우 정보
난이도
중급
노드 수14
카테고리1
노드 유형9
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34