규제 보고서 수집기
중급
이것은File Management, Multimodal AI분야의자동화 워크플로우로, 8개의 노드를 포함합니다.주로 Set, Merge, MySql, Function, GoogleDrive 등의 노드를 사용하며. Google 문서 → Drive + MySQL 기반의 준수 보고서 수집기
사전 요구사항
- •MySQL 데이터베이스 연결 정보
- •Google Drive API 인증 정보
- •Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "Un9KXLeARM23XTIQ",
"meta": {
"instanceId": "14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa",
"templateCredsSetupCompleted": true
},
"name": "Compliance Report Collector",
"tags": [],
"nodes": [
{
"id": "c1d13027-17a3-485a-b43b-e7fece0612c6",
"name": "Google Sheets 양식 트리거",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-440,
60
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "url",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1U4MfFW06VMW0gW3fAkGFDvDnomb1j_0E-0lbEkPlli0",
"cachedResultUrl": "",
"cachedResultName": "compliance_report_sheet(Responses)"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "WF8FtUtPeBSlrlAC",
"name": "Google Sheets Trigger account 2"
}
},
"typeVersion": 1
},
{
"id": "038c1dae-f38c-4a98-ae1d-5376d81e3332",
"name": "MySQL에 로그 기록",
"type": "n8n-nodes-base.mySql",
"position": [
660,
60
],
"parameters": {
"table": {
"__rl": true,
"mode": "name",
"value": "report_logs"
},
"options": {}
},
"credentials": {
"mySql": {
"id": "YqKBp66liP3vXdbi",
"name": "MySQL account 4"
}
},
"typeVersion": 2.2
},
{
"id": "d644afd6-ad2e-4931-ba17-42c1d635c3fc",
"name": "필드 이름 변경",
"type": "n8n-nodes-base.set",
"position": [
440,
60
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "=\n{\n \"reporter\": \"{{$json.reporter}}\",\n \"category\": \"{{$json.category}}\",\n \"timestamp\": \"{{$json.timestamp}}\",\n \"folder_id\": \"{{$json.folder_id}}\",\n \"file_name\": \"{{$binary.data.fileName}}\",\n \"mime_type\": \"{{$binary.data.mimeType}}\",\n \"email\": \"{{$json.email}}\",\n \"description\": \"{{$json.description}}\"\n}"
},
"typeVersion": 3.4
},
{
"id": "ba6a2d4c-f548-446f-ab24-20c518e06f86",
"name": "구글시트 데이터 추출",
"type": "n8n-nodes-base.function",
"notes": "Extract metadata for logging",
"position": [
-220,
60
],
"parameters": {
"functionCode": "// Input: rows from Google Sheets Trigger\nconst rows = $input.all();\nconst out = [];\n\nfor (const item of rows) {\n const j = item.json;\n\n const url = j['Upload Report File'] || '';\n // supports both ?id=... and /d/.../view URLs\n const m =\n url.match(/[?&]id=([^&]+)/) ||\n url.match(/\\/d\\/([a-zA-Z0-9_-]+)/);\n\n out.push({\n json: {\n reporter: j['Reporter Name'] || null,\n category: j['Report Category'] || null,\n timestamp: new Date(j['Timestamp']).toISOString(),\n folder_id: m ? m[1] : null,\n email: j['Email Address'] || null,\n description: j['Description'] || null,\n },\n });\n}\n\nreturn out;\n"
},
"typeVersion": 1
},
{
"id": "efa9cce4-db44-4296-8c76-9bf12ca68d52",
"name": "업로드된 파일 메타데이터 가져오기",
"type": "n8n-nodes-base.googleDrive",
"position": [
0,
60
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.folder_id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "dkusrOXTExpMxEAe",
"name": "Google Drive account 7"
}
},
"typeVersion": 3
},
{
"id": "6abc9f56-0b24-4e47-840f-72ac8421d90c",
"name": "시트 및 파일 데이터 병합",
"type": "n8n-nodes-base.merge",
"position": [
220,
60
],
"parameters": {
"mode": "combine",
"options": {
"includeUnpaired": true
},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2,
"alwaysOutputData": true
},
{
"id": "779477a4-ecac-4cd5-8b5f-e385da6c64fc",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
-100
],
"parameters": {
"width": 1400,
"height": 420,
"content": "## Compliance Report Collector (Google Form → Drive + MySQL)\n\n\n"
},
"typeVersion": 1
},
{
"id": "071841f7-f553-4637-806a-0db0d27e8de4",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
380
],
"parameters": {
"width": 1420,
"height": 1240,
"content": "## Description\n\n### 1. Google Sheets form Trigger\n- Watches the linked Google Sheet for new rows (submitted via Google Form). When a new row is added, it triggers the workflow and passes the form data to the next node.\n\n---\n\n### 2. Extract googlesheet data\n- Parses the Google Sheet row data. \n- Extracts the Google Drive file ID from the **\"Upload Report File\"** URL. \n- Keeps key form fields:\n `reporter`\n `category`\n `timestamp`\n `email`\n `description`\n `folder_id`\n\n---\n\n### 3. Get file uploaded metadata\n- Uses the Google Drive node to fetch metadata for the uploaded file by its `folder_id`. \n- Downloads the binary temporarily so we can extract:\n `fileName`\n `mimeType`\n\n---\n\n### 4. Merge sheet & file data\nCombines:\n- Google Sheet form data\n- Google Drive file metadata \ninto a single JSON object per submission. \nEnsures both sets of information are available for insertion into MySQL.\n\n---\n\n### 5. Rename Fields\nNormalizes and renames merged fields to match MySQL column names:\n- `fileName` → `file_name`\n- `mimeType` → `mime_type`\n\nRemoves unnecessary fields so only required columns remain.\n\n---\n\n### 6. Log to MySQL\nInserts the cleaned and normalized data into the `report_logs` table in MySQL, storing:\n- Form submission details\n- Uploaded file’s name\n- MIME type\n\n---\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7f30bbf3-aa3d-462b-b69e-7bf403e3c880",
"connections": {
"d644afd6-ad2e-4931-ba17-42c1d635c3fc": {
"main": [
[
{
"node": "038c1dae-f38c-4a98-ae1d-5376d81e3332",
"type": "main",
"index": 0
}
]
]
},
"6abc9f56-0b24-4e47-840f-72ac8421d90c": {
"main": [
[
{
"node": "d644afd6-ad2e-4931-ba17-42c1d635c3fc",
"type": "main",
"index": 0
}
]
]
},
"ba6a2d4c-f548-446f-ab24-20c518e06f86": {
"main": [
[
{
"node": "efa9cce4-db44-4296-8c76-9bf12ca68d52",
"type": "main",
"index": 0
}
]
]
},
"efa9cce4-db44-4296-8c76-9bf12ca68d52": {
"main": [
[
{
"node": "6abc9f56-0b24-4e47-840f-72ac8421d90c",
"type": "main",
"index": 0
}
]
]
},
"c1d13027-17a3-485a-b43b-e7fece0612c6": {
"main": [
[
{
"node": "ba6a2d4c-f548-446f-ab24-20c518e06f86",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 파일 관리, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
💥 Veo 3.1 및 Blotato를 사용한 AI 동영상 제작 및 다중 플랫폼 게시 자동화 - 동영상
GPT-4, Veo 3.1 및 Blotato를 사용한 AI 비디오 제작 및 다중 플랫폼 게시 자동화
Set
Code
Merge
+
Set
Code
Merge
25 노드Dr. Firas
콘텐츠 제작
더 지능적인 BRD(비즈니스 요구 사항 문서) 작성을 위한 다중 에이전트 RAG 시스템
다중 에이전트 GPT와 Google Workspace를 사용하여 비즈니스 요구 사항 문서 생성
Set
Code
Merge
+
Set
Code
Merge
37 노드Trung Tran
AI RAG
Reddit 밈을 Google Drive에 자동 다운로드, 중복 감지 및 Telegram 알림 포함
Reddit 밈 Google Drive 자동 다운로드, 중복 감지 및 Telegram 알림 포함
If
Set
Code
+
If
Set
Code
20 노드Vitorio Magalhães
파일 관리
HTTP Last-Modified 확인을 사용하여 Google Sheets에서 채용 공고 만료 및 새로고침 알림 가져오기
Google Sheets, HTTP 확인 및 Gmail을 통한 채용 공고 만료 알림 자동화
If
Set
Code
+
If
Set
Code
19 노드WeblineIndia
인사
비디오 업로드 자동화 → 자동 섬네일 → Google 드라이브
FFmpeg 및 Google Drive를 사용한 비디오 업로드 및 썸네일 생성 자동화
If
Webhook
Google Drive
+
If
Webhook
Google Drive
9 노드WeblineIndia
콘텐츠 제작
Dumpling AI를 사용하여 Google 스프레드시트에서 웹사이트 스크린샷을 캡처하고 저장
Dumpling AI를 사용하여 Google 스프레드시트에서 웹 캡처를 capture하고 클라우드 스토리지에 저장합니다.
Google Drive
Http Request
Google Sheets Trigger
+
Google Drive
Http Request
Google Sheets Trigger
5 노드Yang
파일 관리
워크플로우 정보
난이도
중급
노드 수8
카테고리2
노드 유형7
저자
WeblineIndia
@weblineindiaA Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유