성과 검토 스케줄링 및 알림
이것은HR분야의자동화 워크플로우로, 16개의 노드를 포함합니다.주로 If, Set, Code, Slack, SplitOut 등의 노드를 사용하며. Google Sheets, 캘린더, 이메일 및 Slack을 사용한 성과 검토 프로세스 자동화
- •Slack Bot Token 또는 Webhook URL
- •Google Sheets API 인증 정보
카테고리
{
"id": "rPl99EYLVHLCXg0B",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Performance Review Scheduler & Reminder",
"tags": [],
"nodes": [
{
"id": "ce6f4776-596d-498a-b3f6-2746d2e077ac",
"name": "매일 오전 8시 확인",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1568,
160
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.1
},
{
"id": "4a46b397-1c45-4f1c-9fd2-03922787e2ea",
"name": "평가 일정 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1344,
160
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "ReviewSchedule"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_REVIEW_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.2
},
{
"id": "427bb5c4-6675-4a32-b13d-acd17a748a57",
"name": "예정된 평가 필터링",
"type": "n8n-nodes-base.code",
"position": [
-1152,
160
],
"parameters": {
"jsCode": "const items = $input.all();\nconst today = $now.toDate();\nconst threeDaysLater = new Date(today);\nthreeDaysLater.setDate(today.getDate() + 3);\n\nconst upcomingReviews = items.filter(item => {\n const reviewDate = new Date(item.json.ReviewDate);\n return reviewDate >= today && reviewDate <= threeDaysLater && item.json.Status !== 'Completed';\n});\n\nconst todayReviews = upcomingReviews.filter(item => {\n const reviewDate = new Date(item.json.ReviewDate);\n return reviewDate.toDateString() === today.toDateString();\n});\n\nconst reminderReviews = upcomingReviews.filter(item => {\n const reviewDate = new Date(item.json.ReviewDate);\n return reviewDate.toDateString() !== today.toDateString();\n});\n\nreturn {\n upcomingReviews: upcomingReviews,\n todayReviews: todayReviews,\n reminderReviews: reminderReviews\n};"
},
"typeVersion": 2
},
{
"id": "86940cc8-365c-4045-b316-58a27f0ca209",
"name": "평가가 예정되었나요?",
"type": "n8n-nodes-base.if",
"position": [
-944,
160
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json.upcomingReviews.length}}",
"operation": "larger"
}
]
}
},
"typeVersion": 1
},
{
"id": "f764fef2-2e57-4797-9252-edfee5648ec5",
"name": "항목으로 분할",
"type": "n8n-nodes-base.splitOut",
"position": [
-752,
160
],
"parameters": {
"options": {},
"fieldToSplitOut": "upcomingReviews"
},
"typeVersion": 1
},
{
"id": "3e05bca6-7db2-4153-858d-3843e805ee2c",
"name": "평가 데이터 준비",
"type": "n8n-nodes-base.set",
"position": [
-544,
160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "calendar_event",
"name": "calendarEventId",
"type": "string",
"value": "={{$json.CalendarEventId}}"
},
{
"id": "employee_name",
"name": "employeeName",
"type": "string",
"value": "={{$json.EmployeeName}}"
},
{
"id": "reviewer_name",
"name": "reviewerName",
"type": "string",
"value": "={{$json.ReviewerName}}"
},
{
"id": "review_date",
"name": "reviewDate",
"type": "string",
"value": "={{$json.ReviewDate}}"
},
{
"id": "review_type",
"name": "reviewType",
"type": "string",
"value": "={{$json.ReviewType}}"
},
{
"id": "employee_email",
"name": "employeeEmail",
"type": "string",
"value": "={{$json.EmployeeEmail}}"
},
{
"id": "reviewer_email",
"name": "reviewerEmail",
"type": "string",
"value": "={{$json.ReviewerEmail}}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "629584ef-1552-4f7f-af54-93131d0f4ff6",
"name": "이메일 알림 보내기",
"type": "n8n-nodes-base.emailSend",
"position": [
-352,
64
],
"webhookId": "dc3907f7-78c5-4990-a840-9155b7eb9b33",
"parameters": {
"options": {},
"subject": "=🎯 Performance Review Reminder - {{$json.employeeName}}",
"toEmail": "={{$json.employeeEmail}}, {{$json.reviewerEmail}}",
"fromEmail": "hr@yourcompany.com"
},
"credentials": {
"smtp": {
"id": "G1kyF8cSWTZ4vouN",
"name": "SMTP -test"
}
},
"typeVersion": 2.1
},
{
"id": "1e20e938-b64e-4c9f-ba21-9aa768446064",
"name": "캘린더 이벤트 업데이트",
"type": "n8n-nodes-base.googleCalendar",
"position": [
-352,
256
],
"parameters": {
"end": "2025-10-24T00:00:00",
"start": "2025-10-16T00:00:00",
"calendar": "primary",
"additionalFields": {}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "6ldLmzzYtaqng4pw",
"name": "Google Calendar account - test"
}
},
"typeVersion": 1.2
},
{
"id": "fe4e328e-f85e-400c-97c4-33610d3a0cfe",
"name": "Slack으로 HR에 알림",
"type": "n8n-nodes-base.slack",
"position": [
-144,
160
],
"webhookId": "26fb8c97-1e61-43bc-ab08-46b83b156c21",
"parameters": {
"text": "=🎯 *Performance Review Reminder Sent*\n\n*Employee:* {{$json.employeeName}}\n*Reviewer:* {{$json.reviewerName}}\n*Review Type:* {{$json.reviewType}}\n*Scheduled Date:* {{$json.reviewDate}}\n\n📧 Reminder emails sent to both parties\n📅 Calendar event updated",
"user": {
"__rl": true,
"mode": "list",
"value": ""
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "MQ0fgwuS8AzfwFvy",
"name": "Slack account - test "
}
},
"typeVersion": 2.1
},
{
"id": "ee18e67d-1af3-48e0-b614-95b80fc80da0",
"name": "평가 상태 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
64,
160
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "ReviewSchedule"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_REVIEW_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.2
},
{
"id": "3a012941-6f69-44f8-ace3-2368a75d76c3",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1600,
-80
],
"parameters": {
"color": 4,
"width": 176,
"height": 404,
"content": "## Daily morning check\n\nRuns at 8 AM every day"
},
"typeVersion": 1
},
{
"id": "46806887-42b2-438c-8b1a-1602abb5ed0d",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1408,
-80
],
"parameters": {
"color": 4,
"width": 192,
"height": 404,
"content": "## Fetches review schedule\n\nRetrieves all planned reviews"
},
"typeVersion": 1
},
{
"id": "d2559dee-a579-4173-ae68-d6cd86f20306",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
-80
],
"parameters": {
"color": 4,
"width": 192,
"height": 404,
"content": "## Filters upcoming reviews\n\nChecks next 3 days"
},
"typeVersion": 1
},
{
"id": "318eb680-fba0-4aff-bf42-bf3fbac19020",
"name": "메모지3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-976,
-80
],
"parameters": {
"color": 4,
"width": 192,
"height": 404,
"content": "## Validates schedule\n\nEnsures reviews exist"
},
"typeVersion": 1
},
{
"id": "dcfa2a1a-e180-4c48-b55e-259dc81c4bf6",
"name": "메모지4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-768,
-80
],
"parameters": {
"color": 4,
"width": 320,
"height": 404,
"content": "## Processes each review\n\nSplits and prepares data"
},
"typeVersion": 1
},
{
"id": "0c5a911d-494f-4097-a102-0dc421af21b6",
"name": "메모지5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-368,
-144
],
"parameters": {
"color": 4,
"width": 540,
"height": 580,
"content": "## Multi-channel notifications & tracking\n\nSends reminders via email, updates calendar, notifies HR, and logs status"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "45f2da8b-5c9e-4979-83b5-fa12aa5a3087",
"connections": {
"f764fef2-2e57-4797-9252-edfee5648ec5": {
"main": [
[
{
"node": "3e05bca6-7db2-4153-858d-3843e805ee2c",
"type": "main",
"index": 0
}
]
]
},
"fe4e328e-f85e-400c-97c4-33610d3a0cfe": {
"main": [
[
{
"node": "ee18e67d-1af3-48e0-b614-95b80fc80da0",
"type": "main",
"index": 0
}
]
]
},
"86940cc8-365c-4045-b316-58a27f0ca209": {
"main": [
[
{
"node": "f764fef2-2e57-4797-9252-edfee5648ec5",
"type": "main",
"index": 0
}
]
]
},
"ce6f4776-596d-498a-b3f6-2746d2e077ac": {
"main": [
[
{
"node": "4a46b397-1c45-4f1c-9fd2-03922787e2ea",
"type": "main",
"index": 0
}
]
]
},
"4a46b397-1c45-4f1c-9fd2-03922787e2ea": {
"main": [
[
{
"node": "427bb5c4-6675-4a32-b13d-acd17a748a57",
"type": "main",
"index": 0
}
]
]
},
"3e05bca6-7db2-4153-858d-3843e805ee2c": {
"main": [
[
{
"node": "629584ef-1552-4f7f-af54-93131d0f4ff6",
"type": "main",
"index": 0
},
{
"node": "1e20e938-b64e-4c9f-ba21-9aa768446064",
"type": "main",
"index": 0
}
]
]
},
"629584ef-1552-4f7f-af54-93131d0f4ff6": {
"main": [
[
{
"node": "fe4e328e-f85e-400c-97c4-33610d3a0cfe",
"type": "main",
"index": 0
}
]
]
},
"1e20e938-b64e-4c9f-ba21-9aa768446064": {
"main": [
[
{
"node": "fe4e328e-f85e-400c-97c4-33610d3a0cfe",
"type": "main",
"index": 0
}
]
]
},
"427bb5c4-6675-4a32-b13d-acd17a748a57": {
"main": [
[
{
"node": "86940cc8-365c-4045-b316-58a27f0ca209",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 인사
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
이 워크플로우 공유