PDF 형식의 비즈니스 문서 자동 생성
중급
이것은Document Extraction분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 If, Gmail, Merge, GoogleDrive, HttpRequest 등의 노드를 사용하며. 사용하여 Google Sheets, CraftMyPDF, Drive, Gmail을 통해 비즈니스 문서 생성
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
사용된 노드 (12)
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "UJPZC5iE3WG9H1xs",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "Auto-Generate Business Documents in PDF",
"tags": [],
"nodes": [
{
"id": "171902dc-bc1e-41a0-bbde-f9ad294a25a8",
"name": "워크플로 실행 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-440,
-60
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e506b2b6-4948-4fd5-b292-bb60de3584f6",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
80,
-60
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "4621dd93-5acd-4c52-862d-859973a25cf2",
"name": "직원 정보 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
-160,
-60
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "DONE"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg/edit?usp=drivesdk",
"cachedResultName": " Job Application\tPDFs"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JYR6a64Qecd6t8Hb",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "6a0caf1d-301e-49fb-8f7a-d902a80b8476",
"name": "계약서 생성",
"type": "n8n-nodes-craftmypdf.craftMyPdf",
"position": [
340,
-40
],
"parameters": {
"data": "={\n \"first_name\": \"{{ $json[\"FIRST NAME\"] }}\",\n \"last_name\": \"{{ $json[\"LAST NAME\"] }}\",\n \"address_street1\": \"{{ $json.ADDRESS }}\",\n \"address_street2\": \"\",\n \"address_city\": \"{{ $json.CITY }}\",\n \"address_state\": \"{{ $json.STATE }}\",\n \"address_postal\": \"{{ $json[\"ZIP CODE\"] }}\",\n \"address_country\": \"{{ $json.COUNTRY }}\",\n \"email\": \"{{ $json.EMAIL }}\",\n \"phone_number\": \"{{ $json.PHONE }}\",\n \"position\": \"{{ $json.POSITION }}\"\n}",
"resource": "pdf",
"templateId": "30c77b239c7aa810"
},
"credentials": {
"craftMyPdfApi": {
"id": "OvW2Np3Sn8txoAh5",
"name": "CraftMyPDF account"
}
},
"typeVersion": 1
},
{
"id": "35b1c198-c56c-4826-91aa-664686bf3ca0",
"name": "계약서 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
860,
-60
],
"parameters": {
"url": "={{ $('Create agreement').item.json.file }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "1a7ce678-eb84-4213-a0ef-539854353e81",
"name": "계약서 업로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
340,
200
],
"parameters": {
"name": "={{ $('Get employees').item.json[\"FIRST NAME\"] }}-{{ $('Get employees').item.json[\"LAST NAME\"] }}.pdf",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1dksdhaLr6zt43_cyyLGdHCPsMajAM7FG",
"cachedResultUrl": "https://drive.google.com/drive/folders/1dksdhaLr6zt43_cyyLGdHCPsMajAM7FG",
"cachedResultName": "Job Application"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "HEy5EuZkgPZVEa9w",
"name": "Google Drive account (n3w.it)"
}
},
"typeVersion": 3
},
{
"id": "0024b884-2bc4-4c53-8d35-db61bb351880",
"name": "행 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
860,
260
],
"parameters": {
"columns": {
"value": {
"DONE": "x",
"row_number": "={{ $('Loop Over Items').item.json.row_number }}"
},
"schema": [
{
"id": "FIRST NAME",
"type": "string",
"display": true,
"required": false,
"displayName": "FIRST NAME",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LAST NAME",
"type": "string",
"display": true,
"required": false,
"displayName": "LAST NAME",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADDRESS",
"type": "string",
"display": true,
"required": false,
"displayName": "ADDRESS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "CITY",
"type": "string",
"display": true,
"required": false,
"displayName": "CITY",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "STATE",
"type": "string",
"display": true,
"required": false,
"displayName": "STATE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ZIP CODE",
"type": "string",
"display": true,
"required": false,
"displayName": "ZIP CODE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "COUNTRY",
"type": "string",
"display": true,
"required": false,
"displayName": "COUNTRY",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "EMAIL",
"type": "string",
"display": true,
"required": false,
"displayName": "EMAIL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "PHONE",
"type": "string",
"display": true,
"required": false,
"displayName": "PHONE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "POSITION",
"type": "string",
"display": true,
"required": false,
"displayName": "POSITION",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DONE",
"type": "string",
"display": true,
"required": false,
"displayName": "DONE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg/edit?usp=drivesdk",
"cachedResultName": " Job Application\tPDFs"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JYR6a64Qecd6t8Hb",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "0c6b6f65-5331-4c80-8ad4-1e3d89361ecd",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
-360
],
"parameters": {
"width": 520,
"height": 220,
"content": "## PRELIMINARY STEPS\n\nOnly works with the self-hosted version of n8n\n- Clone this [Sheet](https://docs.google.com/spreadsheets/d/1YQPuoEubRHJepRKdquks69Iqf2XdGVKfpWOdYwk3RMg/edit?usp=sharing)\n- Create an account on [CraftMyPDF](https://app.craftmypdf.com/)\n- Create a new PDF template\n- Get the Template ID and insert it in the \"Create aggreement\" node"
},
"typeVersion": 1
},
{
"id": "4cea2139-0fd1-4ec0-a48d-5adfcaad268f",
"name": "성공?",
"type": "n8n-nodes-base.if",
"position": [
580,
-40
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "21203490-bc55-4981-95ed-50674887967b",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "success"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "0701598a-fdb8-4fd3-8b2d-14487c82bf8c",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-460,
-620
],
"parameters": {
"color": 3,
"width": 520,
"height": 240,
"content": "## Auto-Generate Business Documents in PDF\n \n\nThis workflow allows you to generate contracts in bulk (job proposals, general documents, pay slips, invoices, contracts, etc.) in PDF format, starting from a Google Sheet containing the data to be inserted.\n\nAfter creating a PDF template (using CraftMyPDF), this workflow manages the entire process, from filling out the PDF files, to sending emails with attachments, to archiving them on Google Drive (or an equivalent system), in a fully automated way."
},
"typeVersion": 1
},
{
"id": "34ea77ea-cb4f-4227-be35-da9932f72111",
"name": "병합",
"type": "n8n-nodes-base.merge",
"position": [
580,
260
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "18541572-a7fb-42b9-91ec-1275fd116ac7",
"name": "PDF 이메일 전송",
"type": "n8n-nodes-base.gmail",
"position": [
340,
380
],
"webhookId": "ba0789c5-ed81-4139-a902-4056ab8e1681",
"parameters": {
"sendTo": "={{ $('Get employees').item.json.EMAIL }}",
"message": "=Hi {{ $('Get employees').item.json['FIRST NAME'] }} {{ $('Get employees').item.json['LAST NAME'] }},<br>\nAttached is our job proposal<br><br>\nBest,<br>\n[Company name]",
"options": {
"attachmentsUi": {
"attachmentsBinary": [
{}
]
},
"appendAttribution": false
},
"subject": "Job offer"
},
"credentials": {
"gmailOAuth2": {
"id": "nyuHvSX5HuqfMPlW",
"name": "Gmail account (n3w.it)"
}
},
"typeVersion": 2.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "eb1f9c9b-1b50-485e-ab00-ed35e51a9c97",
"connections": {
"34ea77ea-cb4f-4227-be35-da9932f72111": {
"main": [
[
{
"node": "0024b884-2bc4-4c53-8d35-db61bb351880",
"type": "main",
"index": 0
}
]
]
},
"4cea2139-0fd1-4ec0-a48d-5adfcaad268f": {
"main": [
[
{
"node": "35b1c198-c56c-4826-91aa-664686bf3ca0",
"type": "main",
"index": 0
}
]
]
},
"0024b884-2bc4-4c53-8d35-db61bb351880": {
"main": [
[
{
"node": "e506b2b6-4948-4fd5-b292-bb60de3584f6",
"type": "main",
"index": 0
}
]
]
},
"35b1c198-c56c-4826-91aa-664686bf3ca0": {
"main": [
[
{
"node": "1a7ce678-eb84-4213-a0ef-539854353e81",
"type": "main",
"index": 0
},
{
"node": "18541572-a7fb-42b9-91ec-1275fd116ac7",
"type": "main",
"index": 0
}
]
]
},
"4621dd93-5acd-4c52-862d-859973a25cf2": {
"main": [
[
{
"node": "e506b2b6-4948-4fd5-b292-bb60de3584f6",
"type": "main",
"index": 0
}
]
]
},
"e506b2b6-4948-4fd5-b292-bb60de3584f6": {
"main": [
[],
[
{
"node": "6a0caf1d-301e-49fb-8f7a-d902a80b8476",
"type": "main",
"index": 0
}
]
]
},
"6a0caf1d-301e-49fb-8f7a-d902a80b8476": {
"main": [
[
{
"node": "4cea2139-0fd1-4ec0-a48d-5adfcaad268f",
"type": "main",
"index": 0
}
]
]
},
"1a7ce678-eb84-4213-a0ef-539854353e81": {
"main": [
[
{
"node": "34ea77ea-cb4f-4227-be35-da9932f72111",
"type": "main",
"index": 0
}
]
]
},
"18541572-a7fb-42b9-91ec-1275fd116ac7": {
"main": [
[
{
"node": "34ea77ea-cb4f-4227-be35-da9932f72111",
"type": "main",
"index": 1
}
]
]
},
"171902dc-bc1e-41a0-bbde-f9ad294a25a8": {
"main": [
[
{
"node": "4621dd93-5acd-4c52-862d-859973a25cf2",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 문서 추출
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
WooCommerce Nano Banana용 AI 가상 피팅
Fal.ai Nano Banana를 사용하여 WooCommerce용 가상 AI 피팅 이미지 자동 생성
If
Set
Wait
+
If
Set
Wait
20 노드Davide
콘텐츠 제작
WooCommerce 의류 카탈로그의 AI 가상 피팅
WooCommerce 의류 카탈로그의 AI 가상 피팅 자동 생성
If
Set
Wait
+
If
Set
Wait
21 노드Davide
영업
Google Suite, PDF, 이메일을 사용한 비즈니스 보험 제출 자동화
Google Suite, PDF, 이메일을 통한 비즈니스 보험 제출 프로세스 자동화
If
Set
Code
+
If
Set
Code
37 노드David Olusola
문서 추출
AI-Deepseek-R1t 회사 출장 승인 및 경비 승인 요청
Deepseek AI, Gmail, Google Sheets를 통한 회의 출장 승인 자동화
If
Set
Code
+
If
Set
Code
24 노드Cheng Siong Chin
문서 추출
GIF에서 얼굴 바꾸기
Fal.run AI와 Google 서비스를 사용한 GIF 얼굴 교환 자동화
If
Set
Wait
+
If
Set
Wait
19 노드Davide
디자인
세미나 증명서 사전 발급 시스템
JotForm, 이메일 검증, Google Workspace를 통합한 자동화 세미나 인증서 시스템
If
Code
Gmail
+
If
Code
Gmail
24 노드Jitesh Dugar
문서 추출
워크플로우 정보
난이도
중급
노드 수12
카테고리1
노드 유형10
저자
Davide
@n3witaliaFull-stack Web Developer based in Italy specialising in Marketing & AI-powered automations. For business enquiries, send me an email at info@n3w.it or add me on Linkedin.com/in/davideboizza
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유