名片OCR → Notion数据库

初级

这是一个自动化工作流,包含 5 个节点。主要使用 Code、Notion、FormTrigger、GoogleGemini 等节点。 使用Gemini Vision OCR将名片数字化并保存到Notion数据库

前置要求
  • Notion API Key

分类

未分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "1PsfrGmuCPYsCgOZ",
  "meta": {
    "instanceId": "7fe3fa3b9ddd66166fbe843fca5db4fcb1e1aab1d5653a63baacf58d66b13f96",
    "templateCredsSetupCompleted": true
  },
  "name": "📇 名片 OCR → Notion 数据库",
  "tags": [],
  "nodes": [
    {
      "id": "e33714b7-d749-4238-9d3c-e2d353639e8f",
      "name": "表单提交时",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -112,
        0
      ],
      "webhookId": "645161c2-36ca-4ed0-ac19-5e7a01080d5a",
      "parameters": {
        "options": {},
        "formTitle": "business_card",
        "formFields": {
          "values": [
            {
              "fieldType": "file",
              "fieldLabel": "business_card",
              "multipleFiles": false,
              "requiredField": true,
              "acceptFileTypes": ".jpg,.png,.jpeg"
            },
            {
              "fieldLabel": "category",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "def20233-fd45-4cdb-b3d9-2aa08888da99",
      "name": "分析图片",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        144,
        0
      ],
      "parameters": {
        "text": "{\n  \"Name\": \"Jung Hyun Park\",\n  \"Position\": \"Head of Development\",\n  \"Phone\": \"021231234\",\n  \"Mobile\": \"0101231234\",\n  \"Email\": \"abc@dc.com\",\n  \"Company\": \"TOV\",\n  \"Address\": \"6F, Donga Building, 212, Yeoksam-ro, Gangnam-gu, Seoul\",\n  \"Website\": \"www.tov.com\"\n}\n",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-1.5-flash-latest",
          "cachedResultName": "models/gemini-1.5-flash-latest"
        },
        "options": {},
        "resource": "image",
        "inputType": "binary",
        "operation": "analyze",
        "binaryPropertyName": "business_card"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "YfjQgEcfOXsFFdWy",
          "name": "Google Gemini(PaLM) Api account_BIZ_DOWON"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "afb9f7bc-2a41-4e89-bac8-7cd69068be5c",
      "name": "创建数据库页面",
      "type": "n8n-nodes-base.notion",
      "position": [
        560,
        0
      ],
      "parameters": {
        "title": "={{ $json.Name }}",
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "27763dbe-4d07-80e1-8056-ef87cb74ded0",
          "cachedResultUrl": "https://www.notion.so/27763dbe4d0780e18056ef87cb74ded0",
          "cachedResultName": "고객 명함 기록"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "연락처|phone_number",
              "phoneValue": "={{ $json.Phone }}"
            },
            {
              "key": "이름|title",
              "title": "={{ $json.Name }}"
            },
            {
              "key": "이메일|email",
              "emailValue": "={{ $json.Email }}"
            },
            {
              "key": "주소|rich_text",
              "textContent": "={{ $json.Address }}"
            },
            {
              "key": "회사명|rich_text",
              "textContent": "={{ $json.Company }}"
            },
            {
              "key": "휴대폰|phone_number",
              "phoneValue": "={{ $json.Mobile }}"
            },
            {
              "key": "홈페이지|rich_text",
              "textContent": "={{ $json.Website }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "OuhKfENfuiRfxMpw",
          "name": "Notion account"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "11fceae0-cfb6-4632-8f0f-f4268473a9ab",
      "name": "解析为 Json",
      "type": "n8n-nodes-base.code",
      "position": [
        352,
        0
      ],
      "parameters": {
        "jsCode": "const rawText = $input.first().json.content.parts[0].text\n\nconst result = safeJsonToObject(rawText)\n\n\nreturn [result];\n\nfunction safeJsonToObject(jsonString) {\n  \n  const trimmed = jsonString.trim();\n\n  \n  const cleaned = trimmed\n    .replace(/^```json\\s*/i, '') \n    .replace(/```$/i, '');       \n\n  \n  try {\n    return JSON.parse(cleaned);\n  } catch (err) {\n    \n    return null; \n  }\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "e254add7-e9e9-4c24-a3d6-c8ad29ad8925",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        -160
      ],
      "parameters": {
        "width": 800,
        "height": 592,
        "content": "# 📇 名片 OCR → Notion 数据库"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1301ad51-63e9-4fef-b1a6-3135d2374508",
  "connections": {
    "Analyze image": {
      "main": [
        [
          {
            "node": "Parse to Json",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse to Json": {
      "main": [
        [
          {
            "node": "Create a database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Analyze image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

这是一个初级难度的通用自动化工作流。适合 n8n 新手,包含 1-5 个节点的简单工作流

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
初级
节点数量5
分类-
节点类型5
难度说明

适合 n8n 新手,包含 1-5 个节点的简单工作流

作者
JinPark

JinPark

@zorba

Automation Expert and Full stack developer in SouthKorea

外部链接
在 n8n.io 上查看 →

分享此工作流