재무 급여 자동화 및 직원 급여 알림 시스템
이것은HR, AI Summarization분야의자동화 워크플로우로, 14개의 노드를 포함합니다.주로 Code, Slack, EmailSend, HttpRequest, GoogleSheets 등의 노드를 사용하며. GPT-4, Google Sheets, PDF 급여 명세서 및 Slack 알림을 통한 급여 처리 자동화
- •Slack Bot Token 또는 Webhook URL
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
{
"id": "DxYWzfjdkoT4gsJP",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Payroll Automation & Employee Salary Notification System for Finance",
"tags": [],
"nodes": [
{
"id": "3cb9d411-385c-4aba-889a-dfc0739b4f17",
"name": "월간 급여 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1296,
96
],
"parameters": {
"rule": {
"interval": [
{
"field": "monthDays"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "39234bd7-8085-40fc-859a-6f33b7e04299",
"name": "직원 데이터 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1088,
96
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Employees"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_EMPLOYEE_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.2
},
{
"id": "c4944ba0-64d6-45eb-b1bd-8cd715be4906",
"name": "AI 급여 계산",
"type": "n8n-nodes-base.httpRequest",
"position": [
-896,
96
],
"parameters": {
"url": "https://api.openai.com/v1/chat/completions",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "model",
"value": "gpt-4"
},
{
"name": "messages",
"value": "=[{\"role\":\"system\",\"content\":\"Calculate net salary with deductions (tax, insurance, provident fund). Return JSON format.\"},{\"role\":\"user\",\"content\":\"Employee: {{$json.Name}}, Base Salary: {{$json.BaseSalary}}, Allowances: {{$json.Allowances}}, Deductions: {{$json.Deductions}}\"}]"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.1
},
{
"id": "b940216a-b05d-4614-baa4-6c066d74ba0d",
"name": "급여명세서 데이터 형식화",
"type": "n8n-nodes-base.code",
"position": [
-688,
96
],
"parameters": {
"jsCode": "const response = JSON.parse($input.item.json.choices[0].message.content);\nconst employee = $input.first().json;\n\nreturn {\n employeeName: employee.Name,\n employeeEmail: employee.Email,\n employeeId: employee.EmployeeId,\n baseSalary: employee.BaseSalary,\n allowances: employee.Allowances || 0,\n deductions: response.totalDeductions || 0,\n netSalary: response.netSalary,\n taxDeducted: response.tax || 0,\n month: $now.format('MMMM YYYY'),\n paymentDate: $now.format('YYYY-MM-DD')\n};"
},
"typeVersion": 2
},
{
"id": "4631a9fd-8c74-4c37-8bd8-41ed04ad4a09",
"name": "급여 명세서에 기록",
"type": "n8n-nodes-base.googleSheets",
"position": [
-496,
-16
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Payroll"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_PAYROLL_SPREADSHEET_ID"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 4.2
},
{
"id": "3f324479-109f-4ac7-93ae-0280449bfee3",
"name": "PDF 급여명세서 생성",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
192
],
"parameters": {
"url": "https://api.pdfmonkey.io/api/v1/documents",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "document",
"value": "={\"template_id\":\"YOUR_TEMPLATE_ID\",\"payload\":{\"name\":\"{{$json.employeeName}}\",\"employee_id\":\"{{$json.employeeId}}\",\"month\":\"{{$json.month}}\",\"base_salary\":{{$json.baseSalary}},\"allowances\":{{$json.allowances}},\"deductions\":{{$json.deductions}},\"net_salary\":{{$json.netSalary}}}}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.1
},
{
"id": "9f4d32d1-27f7-46c7-b365-635880f02edb",
"name": "직원에게 급여명세서 이메일 전송",
"type": "n8n-nodes-base.emailSend",
"position": [
-288,
96
],
"webhookId": "fe11436a-b668-4150-83cb-aa5d8383b7c8",
"parameters": {
"options": {
"attachments": "payslip_{{$json.employeeId}}_{{$json.month}}.pdf"
},
"subject": "=💰 Salary Credited - {{$json.month}}",
"toEmail": "={{$json.employeeEmail}}",
"fromEmail": "payroll@yourcompany.com"
},
"credentials": {
"smtp": {
"id": "G1kyF8cSWTZ4vouN",
"name": "SMTP -test"
}
},
"typeVersion": 2.1
},
{
"id": "e00da244-b83e-4dda-af10-1a3324efd26b",
"name": "HR에게 Slack 알림",
"type": "n8n-nodes-base.slack",
"position": [
-96,
96
],
"webhookId": "bb2bbe41-bb2d-44e3-bba1-8f66f1890895",
"parameters": {
"text": "=✅ *Payroll Processed*\n\n*Employee:* {{$json.employeeName}} ({{$json.employeeId}})\n*Month:* {{$json.month}}\n*Net Salary:* ₹{{$json.netSalary}}\n*Status:* Payment notification sent",
"user": {
"__rl": true,
"mode": "list",
"value": ""
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "MQ0fgwuS8AzfwFvy",
"name": "Slack account - test "
}
},
"typeVersion": 2.1
},
{
"id": "4d930483-8b0c-4a0c-a2f4-a7b0ff078e42",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1328,
-112
],
"parameters": {
"color": 3,
"width": 164,
"height": 388,
"content": "## Runs monthly on 28th\n\nAutomated payroll trigger"
},
"typeVersion": 1
},
{
"id": "17061c8c-052e-4ca4-8127-d04b2e58c8bb",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
-112
],
"parameters": {
"color": 4,
"width": 164,
"height": 388,
"content": "## Fetches employee data\n\nRetrieves salary info from sheet"
},
"typeVersion": 1
},
{
"id": "3a70d888-a681-4e60-a3af-c584d14a717c",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-944,
-112
],
"parameters": {
"color": 2,
"width": 180,
"height": 388,
"content": "## AI calculates net salary\n\nApplies tax & deductions"
},
"typeVersion": 1
},
{
"id": "274935a9-a136-491a-8414-929f4a1a5923",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-736,
-112
],
"parameters": {
"color": 6,
"width": 180,
"height": 388,
"content": "## Structures payslip data\n\nPrepares for distribution"
},
"typeVersion": 1
},
{
"id": "ac826f4e-5b65-4ec9-a825-11158a001151",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
-208
],
"parameters": {
"width": 196,
"height": 580,
"content": "## Records & generates docs\n\nLogs payroll + creates PDF"
},
"typeVersion": 1
},
{
"id": "7671884f-e6bc-4355-96fd-da5c65b17ff6",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
-112
],
"parameters": {
"color": 5,
"width": 356,
"height": 452,
"content": "## Multi-channel notification\n\nEmployee email + HR Slack alert"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "98d132d3-d691-4de4-a19e-0d1f5b3dfeb0",
"connections": {
"39234bd7-8085-40fc-859a-6f33b7e04299": {
"main": [
[
{
"node": "c4944ba0-64d6-45eb-b1bd-8cd715be4906",
"type": "main",
"index": 0
}
]
]
},
"c4944ba0-64d6-45eb-b1bd-8cd715be4906": {
"main": [
[
{
"node": "b940216a-b05d-4614-baa4-6c066d74ba0d",
"type": "main",
"index": 0
}
]
]
},
"b940216a-b05d-4614-baa4-6c066d74ba0d": {
"main": [
[
{
"node": "4631a9fd-8c74-4c37-8bd8-41ed04ad4a09",
"type": "main",
"index": 0
},
{
"node": "3f324479-109f-4ac7-93ae-0280449bfee3",
"type": "main",
"index": 0
}
]
]
},
"3f324479-109f-4ac7-93ae-0280449bfee3": {
"main": [
[
{
"node": "9f4d32d1-27f7-46c7-b365-635880f02edb",
"type": "main",
"index": 0
}
]
]
},
"4631a9fd-8c74-4c37-8bd8-41ed04ad4a09": {
"main": [
[
{
"node": "9f4d32d1-27f7-46c7-b365-635880f02edb",
"type": "main",
"index": 0
}
]
]
},
"3cb9d411-385c-4aba-889a-dfc0739b4f17": {
"main": [
[
{
"node": "39234bd7-8085-40fc-859a-6f33b7e04299",
"type": "main",
"index": 0
}
]
]
},
"9f4d32d1-27f7-46c7-b365-635880f02edb": {
"main": [
[
{
"node": "e00da244-b83e-4dda-af10-1a3324efd26b",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인사, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: 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.
이 워크플로우 공유