GPT-4o OCR을 사용하여 Slack에서 명함 데이터를 Google Sheets로 추출
중급
이것은Miscellaneous, AI Summarization, Multimodal AI분야의자동화 워크플로우로, 10개의 노드를 포함합니다.주로 Slack, SplitOut, HttpRequest, GoogleSheets, SlackTrigger 등의 노드를 사용하며. GPT-4o OCR을 사용하여 Slack에서 명함 데이터를 Google Sheets로 추출합니다.
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
- •OpenAI API Key
사용된 노드 (10)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "e04cc86c30b0cecda8e6bbc7cc41459d9bf4d76816638a14d42d636b91913ebc",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "21c87864-6365-4d62-95e6-01576fb3f01d",
"name": "Slack 트리거",
"type": "n8n-nodes-base.slackTrigger",
"position": [
-496,
0
],
"webhookId": "82952e59-1102-42c9-811e-db9c35954466",
"parameters": {
"options": {},
"trigger": [
"message"
],
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09DW6Q03T8",
"cachedResultName": "card"
}
},
"credentials": {
"slackApi": {
"id": "VLK4L2mMCF7UFZXF",
"name": "Slack account 4"
}
},
"notesInFlow": false,
"typeVersion": 1
},
{
"id": "bd53e180-a97f-4ffc-af2e-e95408c52fbf",
"name": "시트에 행 추가",
"type": "n8n-nodes-base.googleSheets",
"position": [
528,
0
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $json.output['full names'] }}",
"Email": "={{ $json.output.email }}",
"Phone": "={{ $json.output['phone numbers'] }}",
"Company": "={{ $json.output['company names'] }}",
"Job Title": "={{ $json.output['job titles'] }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Job Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone",
"type": "string",
"display": true,
"required": false,
"displayName": "Phone",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NEmgb1BU706kR4k-H2e3L6T8AnUPxFsNzkQZNhVAP90/edit#gid=0",
"cachedResultName": "総合リスト"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1NEmgb1BU706kR4k-H2e3L6T8AnUPxFsNzkQZNhVAP90",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NEmgb1BU706kR4k-H2e3L6T8AnUPxFsNzkQZNhVAP90/edit?usp=drivesdk",
"cachedResultName": "名刺リスト"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "OADOUEa3B96W0iqk",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.7
},
{
"id": "c0881266-4f48-47e4-9da9-5a9c15c019f4",
"name": "데이터 변환",
"type": "n8n-nodes-base.splitOut",
"position": [
304,
0
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "output"
},
"typeVersion": 1
},
{
"id": "8183cd9c-512f-4f5c-aaa6-6897a89e1fb7",
"name": "메시지 전송",
"type": "n8n-nodes-base.slack",
"position": [
752,
0
],
"webhookId": "c67bd6d3-d8d3-41ec-b12f-f4ee57b536d0",
"parameters": {
"text": "=---\nName: {{ $json.Name }}\nTitle: {{ $json['Job Title']}}\nCompany: {{ $json.Company }}\nPhone: {{ $json.Phone }}\nEmail: {{ $json.Email }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09DW6Q03T8",
"cachedResultName": "card"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "VLK4L2mMCF7UFZXF",
"name": "Slack account 4"
}
},
"typeVersion": 2.3
},
{
"id": "59ea6f4b-f9c4-4873-856e-356599ae22ea",
"name": "출력 구조화",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
96,
224
],
"parameters": {
"jsonSchemaExample": "[{\n\t\"full names\": \"Toshiki Hirao\",\n\t\"job titles\": \"CEO\",\n \"company names\": \"dTosh\",\n \"phone numbers\": \"012-3456-938\",\n \"email\": \"xxx@yyy.jp\"\n}]"
},
"typeVersion": 1.3
},
{
"id": "8ca7e36b-2066-4a45-b09b-de49648111c5",
"name": "AI 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-48,
224
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "in4FUooE7goQS8l0",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "7153c21f-d2d7-455d-9d88-a3cb4b1a20c2",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
-48
],
"parameters": {
"width": 448,
"height": 880,
"content": "## How it works\n1. Slack Trigger – The workflow starts when a business card photo is uploaded to Slack.\n2. HTTP Request – The uploaded image is fetched from Slack.\n3. AI/OCR Parsing – The card image is analyzed by an AI model and structured into contact fields (name, company, email, phone, etc.).\n4. Transform Data – The extracted data is cleaned and mapped into the correct format.\n5. Google Sheets – A new row is appended to your designated Google Sheet, creating an organized contact database.\n6. Slack Notification – Finally, a confirmation message is sent back to Slack to let you know the contact has been successfully saved.\n\n## How to use\n1. Copy the template into your n8n instance.\n2. Connect your Slack account to capture uploaded images.\n3. Set up your Google Sheets connection and choose the spreadsheet where contacts should be stored.\n4. Adjust the Contact Information extraction node if you want to capture custom fields (e.g., job title, address).\n5. Deploy and test: upload a business card image in Slack and confirm it’s added to Google Sheets automatically.\n\n## Requirements\n1. n8n running (cloud).\n2. A Slack account with access to the channel where photos will be uploaded.\n3. A Google Sheets account with a target sheet prepared for storing contacts.\n4. AI/OCR capability enabled in your n8n (e.g., OpenAI, Google Vision, or another OCR/LLM provider).\n5. Basic access rights in both Slack and Google Sheets to read and write data."
},
"typeVersion": 1
},
{
"id": "2b3d9219-4616-4a95-b255-dbb1eab2ffd3",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
-272
],
"parameters": {
"width": 608,
"height": 192,
"content": "## Scan Business Cards in Slack to Google Sheets\n\nYou can turn messy business card photos into organized contact data automatically.\nWith this workflow, you can upload a business card photo to Slack and instantly capture the contact details into Google Sheets using OCR. No more manual typing—each new card is scanned, structured, saved, and confirmed back in Slack, making contact management fast and effortless."
},
"typeVersion": 1
},
{
"id": "2e313bd5-2046-4ed0-a521-d28dc962b0b9",
"name": "이미지 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
-272,
0
],
"parameters": {
"url": "={{ $json.files[0].url_private_download }}",
"options": {
"response": {
"response": {
"responseFormat": "file"
}
}
},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "slackApi"
},
"credentials": {
"slackApi": {
"id": "VLK4L2mMCF7UFZXF",
"name": "Slack account 4"
}
},
"typeVersion": 4.2
},
{
"id": "3d8e76d9-9bcb-4e52-ac45-b560d9086e47",
"name": "연락처 정보 스캔",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-48,
0
],
"parameters": {
"text": "Please identify and extract all professional contact information from the image containing several business cards. You have to include details that are full names, job titles, company names, phone numbers, and email addresses.",
"options": {
"systemMessage": "You assist sales/BD teams by parsing images with several business cards. Identify every card and pull the essentials—full names, job titles, companies, phone numbers, and emails."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.1
}
],
"pinData": {},
"connections": {
"8ca7e36b-2066-4a45-b09b-de49648111c5": {
"ai_languageModel": [
[
{
"node": "3d8e76d9-9bcb-4e52-ac45-b560d9086e47",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2e313bd5-2046-4ed0-a521-d28dc962b0b9": {
"main": [
[
{
"node": "3d8e76d9-9bcb-4e52-ac45-b560d9086e47",
"type": "main",
"index": 0
}
]
]
},
"21c87864-6365-4d62-95e6-01576fb3f01d": {
"main": [
[
{
"node": "2e313bd5-2046-4ed0-a521-d28dc962b0b9",
"type": "main",
"index": 0
}
]
]
},
"8183cd9c-512f-4f5c-aaa6-6897a89e1fb7": {
"main": [
[]
]
},
"59ea6f4b-f9c4-4873-856e-356599ae22ea": {
"ai_outputParser": [
[
{
"node": "3d8e76d9-9bcb-4e52-ac45-b560d9086e47",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"c0881266-4f48-47e4-9da9-5a9c15c019f4": {
"main": [
[
{
"node": "bd53e180-a97f-4ffc-af2e-e95408c52fbf",
"type": "main",
"index": 0
}
]
]
},
"bd53e180-a97f-4ffc-af2e-e95408c52fbf": {
"main": [
[
{
"node": "8183cd9c-512f-4f5c-aaa6-6897a89e1fb7",
"type": "main",
"index": 0
}
]
]
},
"3d8e76d9-9bcb-4e52-ac45-b560d9086e47": {
"main": [
[
{
"node": "c0881266-4f48-47e4-9da9-5a9c15c019f4",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 기타, AI 요약, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
GPT-4o를 사용하여 Slack PDF에서 인보이스 데이터 추출하여 Google Sheets에 저장
GPT-4o를 사용하여 Slack PDF에서 발표 데이터를 Google Sheets로 추출
Slack
Http Request
Google Sheets
+
Slack
Http Request
Google Sheets
10 노드Toshiki Hirao
기타
PDF에서 계약 세부 정보를 추출하고 Slack, GPT-4o, Google Sheets에 정리
PDF에서 계약 세부 정보 추출 및 Slack, GPT-4o, Google Sheets에 정리
Slack
Switch
Http Request
+
Slack
Switch
Http Request
19 노드Toshiki Hirao
문서 추출
자동화된 B2B 리드 생성: Google Places, Scrape.do 및 AI 데이터 강화
자동화된 B2B 잠재 고객 생성: Google Places, Scrape.do 및 AI 데이터 강화
If
Set
Html
+
If
Set
Html
19 노드Onur
기타
매일 WhatsApp 그룹 지능형 분석: GPT-4.1 분석 및 음성 메시지 변환
매일 WhatsApp 그룹 지능 분석: GPT-4.1 분석 및 음성 메시지 트랜스크립션
If
Set
Code
+
If
Set
Code
52 노드Daniel Lianes
기타
이미지 생성과 인공审核을 사용하여 LinkedIn과 Facebook에서 AI 주도 소셜 미디어 내용 생성
이미지 생성과 인공审核을 통해 LinkedIn과 Facebook으로 AI 추동된 소셜 미디어 내용 생성
If
Set
Slack
+
If
Set
Slack
63 노드Didac Fernandez
기타
演示 - 分享模板 - 에서职位描述构建候选人短名单
AI招聘流程:사용Apollo및Airtable에서职位로候选人短名单
Set
Limit
Switch
+
Set
Limit
Switch
40 노드Fabian Herhold
기타