8
n8n 中文网amn8n.com

使用Motion和Airtable自动编辑任务跟踪与通知

中级

这是一个Project Management, Multimodal AI领域的自动化工作流,包含 12 个节点。主要使用 If, Code, Gmail, Filter, Airtable 等节点。 使用Motion和Airtable自动编辑任务跟踪与通知

前置要求
  • Google 账号和 Gmail API 凭证
  • Airtable API Key
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "393ca9e36a1f81b0f643c72792946a5fe5e49eb4864181ba4032e5a408278263"
  },
  "nodes": [
    {
      "id": "404dea4e-a4da-43f1-b9cd-ab6bbfbe4266",
      "name": "定时触发器",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 10-31 * *"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "79a4bd70-fe9b-4ead-91aa-b22d8f620b4e",
      "name": "获取 Airtable 信息",
      "type": "n8n-nodes-base.airtable",
      "position": [
        208,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appk6h4dLarLUXKpR",
          "cachedResultUrl": "https://airtable.com/appk6h4dLarLUXKpR",
          "cachedResultName": "Base clients"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblTrvdyaIcsSgOWR",
          "cachedResultUrl": "https://airtable.com/appk6h4dLarLUXKpR/tblTrvdyaIcsSgOWR",
          "cachedResultName": "Projets"
        },
        "options": {},
        "operation": "search"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9mTR7mhD0VA7GbZP",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ed68d3fa-5835-4499-9550-f07bf1d3deec",
      "name": "活跃",
      "type": "n8n-nodes-base.if",
      "position": [
        448,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f1a41893-c6cd-4824-8b74-c0d52b2ac842",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json['Status - Calendrier éditorial'] }}",
              "rightValue": "Actif"
            },
            {
              "id": "79f0320a-0d4e-4fa0-9adc-f9f11ace8efb",
              "operator": {
                "type": "dateTime",
                "operation": "before"
              },
              "leftValue": "={{ $json['Last sent - Calendrier éditorial'] }}",
              "rightValue": "={{ (function() { const now = new Date(); const year = now.getFullYear(); const month = String(now.getMonth() + 1).padStart(2, '0'); return `${year}-${month}-01`; })() }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "cb0b775e-7871-4a65-a8e6-cf33596b323b",
      "name": "遍历项目",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        688,
        -16
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "d23bc2b5-3479-49a4-9910-6a86e202997a",
      "name": "获取项目",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        944,
        0
      ],
      "parameters": {
        "url": "https://api.usemotion.com/v1/projects",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "workspaceId",
              "value": "={{ $json['Motion Workspace ID'] }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "binrCBMqjqNEJXmX",
          "name": "Motion"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.2
    },
    {
      "id": "76113108-e532-4309-a48d-2b3032bde4cf",
      "name": "项目排序",
      "type": "n8n-nodes-base.code",
      "position": [
        1184,
        0
      ],
      "parameters": {
        "jsCode": "// On récupère le tableau de projets depuis la réponse de la requête HTTP\nconst responseData = items[0].json;\n\n// Vérifie si la structure attendue existe\nif (!responseData || !responseData.projects || !Array.isArray(responseData.projects)) {\n  // Retourne un tableau vide si la structure n'est pas celle attendue\n  return [];\n}\n\n// Crée un nouvel élément pour chaque projet\nconst newItems = responseData.projects.map(project => {\n  return {\n    json: {\n      // On copie toutes les propriétés du projet\n      ...project,\n      // Ajout optionnel de métadonnées de la réponse originale si nécessaire\n      _meta: responseData.meta\n    }\n  };\n});\n\n// Retourne le tableau des nouveaux éléments\nreturn newItems;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c78fbb0b-4a5a-4528-bb85-acf5372111bf",
      "name": "待办事项",
      "type": "n8n-nodes-base.filter",
      "position": [
        1408,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7f5baee8-dc14-4f12-a9fe-1cdfaaf88792",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status.name }}",
              "rightValue": "Todo"
            },
            {
              "id": "9e4044d3-039a-48d7-b5d2-fc60084fbff9",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": "SEO"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e11fedb7-b55d-4549-9e3f-9d84790b9d31",
      "name": "HTTP 请求",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1600,
        0
      ],
      "parameters": {
        "url": "https://api.usemotion.com/v1/tasks",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "projectId",
              "value": "={{ $json.id }}"
            },
            {
              "name": "name",
              "value": "Intégrer les articles de blog"
            },
            {
              "name": "status",
              "value": "completed"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "binrCBMqjqNEJXmX",
          "name": "Motion"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "47bd408f-272b-4837-9682-1e2b0e474aac",
      "name": "如果 1",
      "type": "n8n-nodes-base.if",
      "position": [
        1840,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f53cacf4-8628-4203-8ea6-c7272ee891a4",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.tasks[0].status.name }}",
              "rightValue": "Completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "56165205-4be8-41c6-b718-877e765ea374",
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2304,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appk6h4dLarLUXKpR",
          "cachedResultUrl": "https://airtable.com/appk6h4dLarLUXKpR",
          "cachedResultName": "Base clients"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblTrvdyaIcsSgOWR",
          "cachedResultUrl": "https://airtable.com/appk6h4dLarLUXKpR/tblTrvdyaIcsSgOWR",
          "cachedResultName": "Projets"
        },
        "columns": {
          "value": {
            "id": "={{ $('Loop Over Items').item.json.id }}",
            "Budget - Accès": 0,
            "Last sent - Calendrier éditorial": "={{ $now.format(\"M/d/yyyy\") }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Projets",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Projets",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Chef de projet",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Chef de projet",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Collaborateurs",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Collaborateurs",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Contacts",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Contacts",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Mails",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Mails",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prénom",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Prénom",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date de création",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Date de création",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Optimiseur de contenu",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Optimiseur de contenu",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Rédacteur d'articles",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Rédacteur d'articles",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CMS",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "CMS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Plan d'optimisation",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Plan d'optimisation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Backlinks tracking",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Backlinks tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Looker",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Looker",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Calendrier éditorial",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Calendrier éditorial",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Rapports",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Rapports",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status - Rapport mensuel",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Inactif",
                  "value": "Inactif"
                },
                {
                  "name": "Actif",
                  "value": "Actif"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status - Rapport mensuel",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status - Backlinks tracking",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Inactif",
                  "value": "Inactif"
                },
                {
                  "name": "Actif",
                  "value": "Actif"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status - Backlinks tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status - Optimisation de contenu",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Inactif",
                  "value": "Inactif"
                },
                {
                  "name": "Actif",
                  "value": "Actif"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status - Optimisation de contenu",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status - Calendrier éditorial",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Actif",
                  "value": "Actif"
                },
                {
                  "name": "Inactif",
                  "value": "Inactif"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status - Calendrier éditorial",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last sent - Rapport mensuel",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last sent - Rapport mensuel",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last sent - Backlinks tracking",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last sent - Backlinks tracking",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last sent - Calendrier éditorial",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last sent - Calendrier éditorial",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last sent - Optimisation de contenu",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last sent - Optimisation de contenu",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Dernière modification",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Dernière modification",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Accès - URL",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Accès - URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Accès - Login",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Accès - Login",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Accès - Password",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Accès - Password",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Budget - Accès",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Budget - Accès",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Accès - Consultant",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Accès - Consultant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prévisionnel budgétaire",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Prévisionnel budgétaire",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date mail rdv",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Date mail rdv",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Calendly",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Calendly",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last sent - RDV consultant",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last sent - RDV consultant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Motion Workspace ID",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Motion Workspace ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Missions",
              "type": "array",
              "display": true,
              "options": [
                {
                  "name": "SEO",
                  "value": "SEO"
                },
                {
                  "name": "SEA",
                  "value": "SEA"
                },
                {
                  "name": "SMA",
                  "value": "SMA"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Missions",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Adresse mail 1",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Adresse mail 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Adresse mail 2",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Adresse mail 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Adresse mail 3",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Adresse mail 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Adresse mail 4",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Adresse mail 4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Statut",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Actif",
                  "value": "Actif"
                },
                {
                  "name": "Inactif",
                  "value": "Inactif"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Statut",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Mail collaborateur 1",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Mail collaborateur 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Mail collaborateur 2",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Mail collaborateur 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Mail collaborateur 3",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Mail collaborateur 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Mail collaborateur 4",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Mail collaborateur 4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Make SEO rapport",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Make SEO rapport",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Make SEA rapport",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Make SEA rapport",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9mTR7mhD0VA7GbZP",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "fc9bd435-5ead-4940-a388-5636c7585b26",
      "name": "发送消息",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2128,
        0
      ],
      "webhookId": "8ee7592a-0b31-4661-901d-dd50a7e59723",
      "parameters": {
        "sendTo": "={{ $('Loop Over Items').item.json['Chef de projet'].email }}, {{ $('Loop Over Items').item.json.Mails }}, {{ $('Loop Over Items').item.json['Mails collaborateurs'] }}",
        "message": "=Bonjour {{ $('Loop Over Items').item.json['Prénom'] }},<br>\n<p></p>\nDe nouveaux articles ont vu le jour dans votre calendrier éditorial pour le mois de <strong>{{ [\"Janvier\", \"Février\", \"Mars\", \"Avril\", \"Mai\", \"Juin\", \"Juillet\", \"Août\", \"Septembre\", \"Octobre\", \"Novembre\", \"Décembre\"][new Date().getMonth() === 0 ? 11 : new Date().getMonth() ] }}</strong> ! Il est l'heure de les consulter depuis le blog de <strong> {{ $('Loop Over Items').item.json.Projets }}  </strong>.<br>\n<p></p>\nVous retrouverez les détails et les liens vers les articles dans le livrable prévu à cet effet : <a href=\"{{ $('Loop Over Items').item.json['Calendrier éditorial'] }}\">consulter le calendrier éditorial</a><br>\n<p></p>\nNous sommes disponibles pour répondre à vos questions et en cas de modifications à apporter 🤓.<br>\n<p></p>\nA bientôt,<br>\n<p></p>\n--\n",
        "options": {
          "senderName": "Institut du Référencement"
        },
        "subject": "={{ $('Loop Over Items').item.json.Projets }} - 📝 Nouvel article de blog - {{ [\"Janvier\", \"Février\", \"Mars\", \"Avril\", \"Mai\", \"Juin\", \"Juillet\", \"Août\", \"Septembre\", \"Octobre\", \"Novembre\", \"Décembre\"][new Date().getMonth() === 0 ? 11 : new Date().getMonth() ] }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "F6YsSmraPe7v98FF",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "d07e24e0-d222-49b7-880e-ab7fb151e5f0",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -832
      ],
      "parameters": {
        "color": 4,
        "width": 1056,
        "height": 3568,
        "content": "# 使用 Airtable 和 Motion 实现自动化项目状态跟踪"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Schedule Trigger": [
      {
        "Hour": "08",
        "Year": "2025",
        "Month": "August",
        "Minute": "00",
        "Second": "00",
        "Timezone": "Europe/Berlin (UTC+02:00)",
        "timestamp": "2025-08-14T08:00:00.033+02:00",
        "Day of week": "Thursday",
        "Day of month": "14",
        "Readable date": "August 14th 2025, 8:00:00 am",
        "Readable time": "8:00:00 am"
      }
    ]
  },
  "connections": {
    "If1": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Todo": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Actif": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        [
          {
            "node": "Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Récupération des projets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tri des projets": {
      "main": [
        [
          {
            "node": "Todo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Récupération infos airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Récupération des projets": {
      "main": [
        [
          {
            "node": "Tri des projets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Récupération infos airtable": {
      "main": [
        [
          {
            "node": "Actif",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 项目管理, 多模态 AI

需要付费吗?

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

工作流信息
难度等级
中级
节点数量12
分类2
节点类型9
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流