8
n8n 中文网amn8n.com

自动化Airtable到Postgres迁移,使用n8n

高级

这是一个IT Ops领域的自动化工作流,包含 66 个节点。主要使用 If, Set, Code, Html, Limit 等节点。 自动化Airtable到Postgres迁移,使用n8n

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • 可能需要目标 API 的认证凭证

分类

工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "db80165df40cb07c0377167c050b3f9ab0b0fb04f0e8cae0dc53f5a8527103ca",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "7cc4e21b-cb92-479e-a1fb-3451afecfb1f",
      "name": "遍历项目",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        740,
        140
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "c38d0912-cce6-46fb-9a50-a466c2c25928",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        20
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "a63abdc8-3b60-43df-bcf3-91dd08fbbec4",
      "name": "创建数据库",
      "type": "n8n-nodes-base.code",
      "position": [
        1680,
        200
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "2de91fa1-ad35-41d5-b37f-8ef4c80af3c1",
      "name": "设置用户数据",
      "type": "n8n-nodes-base.set",
      "position": [
        1480,
        200
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "32dc59c6-161b-4aa4-bd98-fe3036d793df",
      "name": "设置错误",
      "type": "n8n-nodes-base.set",
      "position": [
        1880,
        200
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "20c9a32b-4d06-447d-98db-b2e0a728ca38",
      "name": "限制1",
      "type": "n8n-nodes-base.limit",
      "disabled": true,
      "position": [
        520,
        420
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "56795d8b-81bd-4add-b68f-ff924305d6e8",
      "name": "遍历项目1",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        760,
        580
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "92a44c39-91d1-4c96-a1c7-96ca8f99f86f",
      "name": "设置用户数据1",
      "type": "n8n-nodes-base.set",
      "position": [
        1820,
        660
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "b23dee3e-2ed4-4972-b62d-7eb86752fa16",
      "name": "编辑字段",
      "type": "n8n-nodes-base.set",
      "position": [
        1640,
        660
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "8f666a17-53a7-4361-af17-7f3abadc6c71",
      "name": "更新插入记录",
      "type": "n8n-nodes-base.code",
      "position": [
        2000,
        660
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ceaa9cde-a1b0-41da-aaee-5e5ae6d772f7",
      "name": "设置列",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        40
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "805b9321-e7f6-4834-a104-b61d1149ced0",
      "name": "限制3",
      "type": "n8n-nodes-base.limit",
      "disabled": true,
      "position": [
        1240,
        980
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d23c5883-e59f-4315-99bc-9c148b1a2964",
      "name": "字段",
      "type": "n8n-nodes-base.set",
      "position": [
        1400,
        980
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "965c32c8-e6ef-4f2a-93e9-21993d397e65",
      "name": "遍历项目2",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1600,
        980
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "abf83ac2-2b18-4a75-be09-b4edfeee91cb",
      "name": "设置用户数据2",
      "type": "n8n-nodes-base.set",
      "position": [
        1840,
        1120
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "e69aceba-f09d-4e30-8f2d-fd51f7707d68",
      "name": "编辑字段1",
      "type": "n8n-nodes-base.set",
      "position": [
        1820,
        960
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "7d2963d2-fd0b-4f79-8073-0e2b153b2b39",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        920
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "45a53775-a5d2-423e-9e93-e9d69059ee69",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        460
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "1235d5c0-0213-4ed6-8a74-10436712f23f",
      "name": "条件判断1",
      "type": "n8n-nodes-base.if",
      "position": [
        1100,
        680
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "b782d0de-9c14-47ff-af73-4d0ca8874488",
      "name": "获取架构",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        60,
        420
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "2c1b1269-f6a8-48f3-a9ad-6ad3a640f6b3",
      "name": "分离",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        200,
        420
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5474c06f-db29-4f9c-8905-cd2865509518",
      "name": "设置全局变量",
      "type": "n8n-nodes-base.set",
      "position": [
        380,
        420
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "527425b9-55a1-4416-bece-727413f2a1ef",
      "name": "拆分输出2",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1060,
        980
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ea5c2bb4-a6d5-4027-bf1f-df70bab1f361",
      "name": "更新插入记录2",
      "type": "n8n-nodes-base.code",
      "onError": "continueRegularOutput",
      "position": [
        940,
        1380
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "dd128785-1a30-43ec-a0f0-f4e1fc0b3f3d",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        1340
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "958dc213-4f2d-4814-b5b4-f469dd049698",
      "name": "Airtable - Postgres",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -240,
        -760
      ],
      "webhookId": "f652c351-81e1-4a01-abca-d22ea59ae742",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "132a2f21-ef78-40b1-98aa-2cf7ae83cb26",
      "name": "响应 Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        340,
        -760
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "2dbef75e-c917-42db-88f9-372cdde690d6",
      "name": "Claude",
      "type": "n8n-nodes-base.html",
      "position": [
        140,
        -760
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a57a0cd3-45c8-4e6f-a806-faa5a2d02d69",
      "name": "测试凭证",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1140,
        -500
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "55cb7baf-f712-4ec1-95b0-da82f2c9294c",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -540
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "7d745baa-5841-49e5-953e-69000647367a",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -800
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "aa35440f-e058-4ffc-b8b2-ee01c3c8ffbe",
      "name": "传递所有数据",
      "type": "n8n-nodes-base.set",
      "position": [
        -760,
        420
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "0b76bae8-0081-4782-8303-ae1524423a30",
      "name": "如果",
      "type": "n8n-nodes-base.if",
      "position": [
        720,
        -400
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "c4290ddb-6bf8-4ed6-b078-164dd6ae71c8",
      "name": "获取记录",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        940,
        680
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "4dfcc6f9-c738-4b69-8fa7-a33e9ac84e5f",
      "name": "拆分3",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1280,
        660
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "82fd4438-6c3a-4c7e-92ac-208eafef23fa",
      "name": "设置记录字段",
      "type": "n8n-nodes-base.set",
      "position": [
        1460,
        660
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "d0915dfd-9256-40c4-b6a8-1e0204815a24",
      "name": "新建映射器",
      "type": "n8n-nodes-base.code",
      "position": [
        1080,
        220
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ef13bffd-18c1-425f-ac49-5d4c8c219165",
      "name": "如果3",
      "type": "n8n-nodes-base.if",
      "position": [
        1240,
        220
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "17dfa37d-490f-4b31-84d9-75f20997d630",
      "name": "Airtable - Postgres系统",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -980,
        420
      ],
      "webhookId": "f652c351-81e1-4a01-abca-d22ea59ae742",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b612df7f-27b7-478b-a168-4f0cbc9a8bdb",
      "name": "设置找到的表",
      "type": "n8n-nodes-base.set",
      "position": [
        1660,
        -500
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "3f48f6d3-d8f4-4b1b-b17e-6b1ae83e3bac",
      "name": "成功消息",
      "type": "n8n-nodes-base.set",
      "position": [
        1480,
        -400
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "77d41da1-7fb6-4f7d-900a-e5fa8b895b78",
      "name": "失败消息",
      "type": "n8n-nodes-base.set",
      "position": [
        1500,
        -240
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "7b7f1fdc-168b-4d59-aced-50a6fc94a250",
      "name": "传递两个响应",
      "type": "n8n-nodes-base.set",
      "position": [
        1680,
        -240
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "62380ea4-521f-434e-b993-f80cfe46644f",
      "name": "如果成功",
      "type": "n8n-nodes-base.if",
      "position": [
        1280,
        -320
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "9a224788-cddc-4f84-b035-071bbcd18adb",
      "name": "测试postgres凭证",
      "type": "n8n-nodes-base.code",
      "position": [
        1100,
        -320
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "086846b4-b698-4d25-b0cc-0eb0aa524f8a",
      "name": "编辑postgres字段",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        -320
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "99d1c93c-52d1-4035-b0ff-83eb9a44d8de",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1720,
        -260
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "44b12810-895a-4f50-a5e0-e2d306c11491",
      "name": "要删除的基础ID",
      "type": "n8n-nodes-base.set",
      "position": [
        740,
        980
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "a15b9dd2-e057-432f-84cf-270ee1e87b60",
      "name": "获取要删除的架构",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        900,
        980
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "74940eee-8673-4353-82fa-1e14a6feedfe",
      "name": "删除表",
      "type": "n8n-nodes-base.code",
      "onError": "continueRegularOutput",
      "position": [
        2020,
        1120
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9a8ea80f-acd3-4aae-ac9c-d76217e74756",
      "name": "设置用户数据3",
      "type": "n8n-nodes-base.set",
      "position": [
        740,
        1380
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "73ef4d66-022d-42a9-a89e-1f2864bf8617",
      "name": "编辑字段2",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        500
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "363734be-a114-4963-8506-079cc8330176",
      "name": "编辑airtable字段1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2000,
        960
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "79ff06d3-216d-4419-9103-d00030847648",
      "name": "编辑airtable字段2",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1180,
        1380
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "bee99633-57a6-413f-b26c-cba90b31ae5e",
      "name": "切换",
      "type": "n8n-nodes-base.switch",
      "position": [
        -540,
        400
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "3df05140-7aec-4333-958d-e68382168888",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        60
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "7ec508c9-60e0-41f5-a79b-a1f100843f33",
      "name": "设置webhook",
      "type": "n8n-nodes-base.set",
      "position": [
        -40,
        -760
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "d2d998aa-b64c-4c09-ae6d-81fca23a306b",
      "name": "postgres凭证",
      "type": "n8n-nodes-base.set",
      "position": [
        -220,
        -400
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "19486fd8-9dd6-45b6-8bfb-3d0b04c88921",
      "name": "凭证响应",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1860,
        -400
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "5255ec1d-6f79-4d74-82d1-ee3ed1c8b401",
      "name": "凭证响应1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1360,
        520
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "16c6d887-f5c9-4a67-a9fc-62534bed91be",
      "name": "设置webhook用户数据",
      "type": "n8n-nodes-base.set",
      "position": [
        -240,
        420
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "750c16c0-5111-49f9-92ca-c0e4be56f928",
      "name": "airtable字段",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        -500
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "29bef374-f55d-4ff3-982e-3a86ff1bd828",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -580,
        200
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "3efd48d2-e29c-4b1d-9b67-753c8197d0e6",
      "name": "便签9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        200
      ],
      "parameters": {
        "content": "确保您的表名与实际知识库结构匹配"
      },
      "typeVersion": 1
    },
    {
      "id": "0de7ce0e-35da-43bc-818f-8d830047ea2d",
      "name": "验证基础ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -80,
        420
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "6a59b874-7323-4cc9-85dd-c66d17b33250",
      "name": "字段映射",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        220
      ],
      "parameters": {},
      "typeVersion": 3.4
    }
  ],
  "pinData": {
    "Edit Fields1": [
      {
        "table": "appointments_and_calls",
        "existed": false,
        "message": "Table \"appointments_and_calls\" did not exist. No action needed.",
        "success": true
      },
      {
        "table": "lead_enrichment",
        "existed": false,
        "message": "Table \"lead_enrichment\" did not exist. No action needed.",
        "success": true
      },
      {
        "table": "meeting_notes",
        "existed": false,
        "message": "Table \"meeting_notes\" did not exist. No action needed.",
        "success": true
      }
    ],
    "Upsert records2": [
      {
        "tables": [
          "Doc-Spezialisten",
          "youtube_captions",
          "user_google_tokens",
          "profiles",
          "chat_messages",
          "newsletter_summaries",
          "Doc-Spezialisten_websites",
          "onboarding",
          "user_property_preferences"
        ],
        "success": true
      }
    ],
    "Airtable - Postgres system": [
      {
        "body": {
          "airtable": {
            "airtableId": "app12345",
            "airtableToken": "pjhy.iyhhs"
          }
        },
        "query": {},
        "params": {
          "variable": "validate-airtable"
        },
        "headers": {
          "via": "1.1 Caddy",
          "host": "dev.funautomations.io",
          "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7",
          "user-agent": "axios/1.8.3",
          "content-type": "application/json",
          "content-length": "67",
          "accept-encoding": "gzip, compress, deflate, br",
          "x-forwarded-for": "10.0.1.1",
          "x-forwarded-host": "dev.funautomations.io",
          "x-forwarded-proto": "https"
        },
        "webhookUrl": "https://dev.funautomations.io/webhook-test/f652c351-81e1-4a01-abca-d22ea59ae742/:variable",
        "executionMode": "test"
      }
    ]
  },
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "airtable fields",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Edit postgres fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Split Out3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If3": {
      "main": [
        [
          {
            "node": "Ser user data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fields": {
      "main": [
        [
          {
            "node": "Loop Over Items2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          },
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit3": {
      "main": [
        [
          {
            "node": "Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "postgres credentials",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set webhook user data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "base id to delete",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set user data3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "set globals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set error": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New mapper": {
      "main": [
        [
          {
            "node": "If3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out2": {
      "main": [
        [
          {
            "node": "Limit3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out3": {
      "main": [
        [
          {
            "node": "Set record fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get schema": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Ser user data1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get records": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set globals": {
      "main": [
        [
          {
            "node": "Limit1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set webhook": {
      "main": [
        [
          {
            "node": "Claude",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete table": {
      "main": [
        [
          {
            "node": "Loop Over Items2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Edit airtable fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Credential response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Field mapping": {
      "main": [
        [
          {
            "node": "New mapper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pass all data": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ser user data": {
      "main": [
        [
          {
            "node": "Create database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "if successful": {
      "main": [
        [
          {
            "node": "success message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Failure message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ser user data1": {
      "main": [
        [
          {
            "node": "Upsert records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ser user data2": {
      "main": [
        [
          {
            "node": "Delete table",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set user data3": {
      "main": [
        [
          {
            "node": "Upsert records2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert records": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create database": {
      "main": [
        [
          {
            "node": "set error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Failure message": {
      "main": [
        [
          {
            "node": "Pass both responses",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Set columns",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Field mapping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert records2": {
      "main": [
        [
          {
            "node": "Edit airtable fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "airtable fields": {
      "main": [
        [
          {
            "node": "Test credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "success message": {
      "main": [
        [
          {
            "node": "Pass both responses",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items2": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Ser user data2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Test credentials": {
      "main": [
        [
          {
            "node": "set tables found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set tables found": {
      "main": [
        [
          {
            "node": "Credential response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set record fields": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate  base id": {
      "main": [
        [
          {
            "node": "get schema",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "base id to delete": {
      "main": [
        [
          {
            "node": "get schema to delete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable - Postgres": {
      "main": [
        [
          {
            "node": "set webhook",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Pass both responses": {
      "main": [
        [
          {
            "node": "Credential response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit postgres fields": {
      "main": [
        [
          {
            "node": "Test postgres credentials",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get schema to delete": {
      "main": [
        [
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "postgres credentials": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set webhook user data": {
      "main": [
        [
          {
            "node": "Validate  base id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Test postgres credentials": {
      "main": [
        [
          {
            "node": "if successful",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable - Postgres system": {
      "main": [
        [
          {
            "node": "Pass all data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - IT 运维

需要付费吗?

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

工作流信息
难度等级
高级
节点数量66
分类1
节点类型12
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Imperol

Imperol

@imperolq

Automation expert with years of experience helping businesses improve their efficiency and productivity with smart automations that are affordable, scalable, and flexible.

外部链接
在 n8n.io 查看

分享此工作流