PDF 일정 추출하여 Google 스프레드시트에 저장(GPT-4.1-Mini + Gmail 알림)
중급
이것은자동화 워크플로우로, 9개의 노드를 포함합니다.주로 Gmail, SplitOut, FormTrigger, GoogleSheets, SplitInBatches 등의 노드를 사용하며. GPT-4.1-Mini를 사용하여 PDF 일정을 Google 스프레드시트로 추출하고 Gmail을 통해 알림을 보냅니다
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •Google Sheets API 인증 정보
- •OpenAI API Key
사용된 노드 (9)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "FaoXqBQDK5JryXkW",
"meta": {
"instanceId": "b91e510ebae4127f953fd2f5f8d40d58ca1e71c746d4500c12ae86aad04c1502",
"templateCredsSetupCompleted": true
},
"name": "Extract PDF Itineraries to Google Sheets with GPT-4.1-Mini & Gmail Notifications",
"tags": [],
"nodes": [
{
"id": "51147ae9-3e42-474b-aecf-321b364b8b11",
"name": "이메일 생성",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1072,
960
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"content": "=Agency Name: {{ $json['Agency Name'] }} \nEmail:{{ $json.Email }}\nAddress: {{ $json.Address }}\nPhone:{{ $json.Phone }}\nDate:{{ $json.Date }}\nTour:{{ $json.tour }}\nDeparture Date: {{ $json['departure date'] }}"
},
{
"role": "system",
"content": "=# Overview\nYou are an email specialist for a Tour Agency. You will receive tour itinerary information. Your task is to confirm receipt of the itinerary and notify the relevant parties.\n\n## Email\nInform the team that the itinerary has been received and processed. Notify them that it has been updated in the Tour Database and provide them with the access link to view it.\n https://docs.google.com/spreadsheets/d/1lg-GRBTQCvM9WC_Mbhe4YXwgyrRcHm8K2JYDHg4XOww/edit?gid=0#gid=0\n\n## Output\nOutput the following parameters separately:\nSubject\nEmail"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "OGYj7DgYv5GFLFZk",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.8
},
{
"id": "ab57e57e-c161-48b3-ab73-caea2ef9c12c",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
544,
1136
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "OGYj7DgYv5GFLFZk",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "6dd88c5f-6724-4872-97fc-0cc152d7446d",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
768
],
"parameters": {
"width": 784,
"height": 992,
"content": "# Extract PDF Itineraries to Google Sheets with GPT-4.1-Mini & Gmail Notifications\n\n## Overview\nAutomates PDF data extraction using OpenAI GPT, saves to Google Sheets, sends email confirmations. Reduces manual entry by 90%.\n\n## How It Works\n1. Receives PDF uploads via form\n2. Splits & loops through files\n3. AI extracts structured data\n4. Appends to Sheets with timestamps\n5. Sends confirmation email\n\n## Prerequisites\n- OpenAI API key ([platform.openai.com](https://platform.openai.com))\n- Google Workspace (Sheets & Gmail)\n- n8n v1.0.0+\n\n## Setup\n1. Add OpenAI API key to n8n credentials\n2. Create Google Sheet with extraction columns, authorize OAuth2\n3. Configure Gmail OAuth2\n4. Import workflow JSON\n5. Edit AI prompt for your fields\n6. Activate & share form URL\n\n## Customization\n- Modify extraction prompts\n- Adjust Sheets mapping\n- Customize email templates\n- Add error handling/validation\n- Extend to Word/Excel files\n\n## Use Cases\nInvoices, expense reports, resumes, contracts, forms, legal docs\n"
},
"typeVersion": 1
},
{
"id": "e58f6aab-f60d-4eba-9d3c-4aba55d299e4",
"name": "추출 정보를 Google 시트로",
"type": "n8n-nodes-base.googleSheets",
"position": [
848,
960
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $json.output[' Date'] }}",
"tour": "={{ $json.output.tour }}",
"Email": "={{ $json.output.Email }}",
"Phone": "={{ $json.output.Phone }}",
"Address": "={{ $json.output.Address }}",
"Agency Name": "={{ $json.output['Agency Name'] }}",
"departure date": "={{ $json.output['departure date'] }}"
},
"schema": [
{
"id": "Agency Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Agency Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone",
"type": "string",
"display": true,
"required": false,
"displayName": "Phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tour",
"type": "string",
"display": true,
"required": false,
"displayName": "tour",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "departure date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "departure date",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Agency Name"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lg-GRBTQCvM9WC_Mbhe4YXwgyrRcHm8K2JYDHg4XOww/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1lg-GRBTQCvM9WC_Mbhe4YXwgyrRcHm8K2JYDHg4XOww",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1lg-GRBTQCvM9WC_Mbhe4YXwgyrRcHm8K2JYDHg4XOww/edit?usp=drivesdk",
"cachedResultName": "tour"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "KBo80D4RMDyyBspg",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.5
},
{
"id": "8f5ff28e-0301-4cd9-bdd2-2d9278c2d0ec",
"name": "항목 루프 처리(문서별 보장)",
"type": "n8n-nodes-base.splitInBatches",
"position": [
288,
960
],
"parameters": {
"options": {
"reset": false
}
},
"typeVersion": 3
},
{
"id": "e5a12fea-0bde-49db-8b48-b58aa31bbfb2",
"name": "다중 PDF 파일 수신 양식",
"type": "n8n-nodes-base.formTrigger",
"position": [
-176,
960
],
"webhookId": "881300df-4407-4830-9c29-1df843946ddc",
"parameters": {
"options": {},
"formTitle": "LOAD MULTIPLE FILES",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "files",
"requiredField": true,
"acceptFileTypes": "*.pdf"
}
]
},
"formDescription": "Select multiple pdf files to run this example."
},
"typeVersion": 2.2
},
{
"id": "453337ca-283e-4e6d-be87-87a435537032",
"name": "개별 PDF 분할 처리",
"type": "n8n-nodes-base.splitOut",
"position": [
48,
960
],
"parameters": {
"options": {
"includeBinary": true,
"destinationFieldName": "=files"
},
"fieldToSplitOut": "=files"
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "940b3087-4fc8-439d-98e3-7e14f034becc",
"name": "결과 포함 이메일 확인 발송",
"type": "n8n-nodes-base.gmail",
"position": [
1424,
1088
],
"webhookId": "2c4c1f75-af3a-4c51-975c-0d493d317637",
"parameters": {
"sendTo": " xxxxxxxx@gmail.com",
"message": "= {{ $('Create Email').item.json.message.content.Email }}",
"options": {
"appendAttribution": false
},
"subject": "={{ $json.message.content.Subject }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "zkm2omCjmdLquZGT",
"name": "Gmail account 2"
}
},
"typeVersion": 2.1
},
{
"id": "5f12a35a-6019-4b89-83c1-9ceadaa60cad",
"name": "PDF 분석 및 추출",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
544,
960
],
"parameters": {
"text": "={{ $json.files.filename }}",
"options": {
"systemPromptTemplate": "You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
},
"attributes": {
"attributes": [
{
"name": "Agency Name",
"required": true,
"description": "the name of the client"
},
{
"name": "Email",
"required": true,
"description": "the email of the client"
},
{
"name": "Address",
"required": true,
"description": "the address of the client"
},
{
"name": "Phone",
"required": true,
"description": "the phone number of the client"
},
{
"name": " Date",
"type": "date",
"required": true,
"description": "the date "
},
{
"name": "tour",
"required": true,
"description": "holiday package tour"
},
{
"name": "departure date",
"required": true,
"description": "departure date"
}
]
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "17da634d-89f9-4c60-8c9b-f8b018c99481",
"connections": {
"51147ae9-3e42-474b-aecf-321b364b8b11": {
"main": [
[
{
"node": "940b3087-4fc8-439d-98e3-7e14f034becc",
"type": "main",
"index": 0
}
]
]
},
"ab57e57e-c161-48b3-ab73-caea2ef9c12c": {
"ai_languageModel": [
[
{
"node": "5f12a35a-6019-4b89-83c1-9ceadaa60cad",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5f12a35a-6019-4b89-83c1-9ceadaa60cad": {
"main": [
[
{
"node": "e58f6aab-f60d-4eba-9d3c-4aba55d299e4",
"type": "main",
"index": 0
}
]
]
},
"e5a12fea-0bde-49db-8b48-b58aa31bbfb2": {
"main": [
[
{
"node": "453337ca-283e-4e6d-be87-87a435537032",
"type": "main",
"index": 0
}
]
]
},
"940b3087-4fc8-439d-98e3-7e14f034becc": {
"main": [
[
{
"node": "8f5ff28e-0301-4cd9-bdd2-2d9278c2d0ec",
"type": "main",
"index": 0
}
]
]
},
"8f5ff28e-0301-4cd9-bdd2-2d9278c2d0ec": {
"main": [
[],
[
{
"node": "5f12a35a-6019-4b89-83c1-9ceadaa60cad",
"type": "main",
"index": 0
}
]
]
},
"e58f6aab-f60d-4eba-9d3c-4aba55d299e4": {
"main": [
[
{
"node": "51147ae9-3e42-474b-aecf-321b364b8b11",
"type": "main",
"index": 0
}
]
]
},
"453337ca-283e-4e6d-be87-87a435537032": {
"main": [
[
{
"node": "8f5ff28e-0301-4cd9-bdd2-2d9278c2d0ec",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
GPT-4 미니, 구글 시트, Gmail을 사용하여 학술 출판물 추출 및 정리
GPT-4 Mini, Google Sheets 및 Gmail을 사용하여 학술 출판물을 추출 및 정리합니다.
Html
Sort
Gmail
+
Html
Sort
Gmail
26 노드Cheng Siong Chin
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
基于AI의MIS에이전트
基于AI의관리信息系统에이전트
If
Set
Code
+
If
Set
Code
129 노드Kumar Shivam
지원
리드 생성 및 이메일 워크플로
Google 지도, SendGrid 및 AI를 사용한 B2B 잠재 고객 개발 및 이메일 마케팅 자동화
If
Set
Code
+
If
Set
Code
141 노드Ezema Kingsley Chibuzo
리드 생성
콜드 이메일 생성
Apollo, Apify 및 GPT를 사용한 B2B 잠재 고객 개발 및 개인화된 콜드 이메일 자동화
If
Wait
Gmail
+
If
Wait
Gmail
24 노드Mirai
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
OpenAI, ElevenLabs 및 Fal.ai를 사용한 비디오, 팟캐스트 및 ASMR용 바이럴 콘텐츠 제작 자동화
Set
Code
Wait
+
Set
Code
Wait
97 노드Adam Crafts
콘텐츠 제작
워크플로우 정보
난이도
중급
노드 수9
카테고리-
노드 유형9
저자
Cheng Siong Chin
@cschinProf. Cheng Siong CHIN serves as Chair Professor in Intelligent Systems Modelling and Simulation in Newcastle University, Singapore. His academic credentials include an M.Sc. in Advanced Control and Systems Engineering from The University of Manchester and a Ph.D. in Robotics from Nanyang Technological University.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유