GPT-4o OCRでSlackからカードデータをGoogle Sheetsに抽出

中級

これはMiscellaneous, AI Summarization, Multimodal AI分野の自動化ワークフローで、10個のノードを含みます。主にSlack, SplitOut, HttpRequest, GoogleSheets, SlackTriggerなどのノードを使用。 GPT-4o OCR を使用して Slack から Google スプレッドシートに名刺データを抽出する

前提条件
  • Slack Bot Token または Webhook URL
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "e04cc86c30b0cecda8e6bbc7cc41459d9bf4d76816638a14d42d636b91913ebc",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "21c87864-6365-4d62-95e6-01576fb3f01d",
      "name": "Slack Trigger",
      "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など)は別途料金が発生する場合があります。

関連ワークフロー

SlackのPDFからGPT-4oで送付書データをGoogle Sheetsに抽出
Slack PDFからのインボイスデータをGPT-4oで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 による分析と音声メッセージの transcrição
毎日の 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
その他
ワークフロー情報
難易度
中級
ノード数10
カテゴリー3
ノードタイプ9
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Toshiki Hirao

Toshiki Hirao

@hirao

dTosh Inc., CEO Nara Institute of Science and Technology, Assistant Professor

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34