8
n8n 中文网amn8n.com

自动生成提案

中级

这是一个CRM, Multimodal AI领域的自动化工作流,包含 7 个节点。主要使用 Airtable, GoogleDrive, GoogleSlides, OpenAi, ChatTrigger 等节点。 使用AI、Google Slides和Airtable从通话记录生成客户提案

前置要求
  • Airtable API Key
  • Google Drive API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "otddSxeWQtI5yxc7",
  "meta": {
    "instanceId": "e73c77a832a4af1fdbfd95e61201dd65dffb85871e88031e3f1475c5661e7b54",
    "templateCredsSetupCompleted": true
  },
  "name": "自动生成提案",
  "tags": [],
  "nodes": [
    {
      "id": "add01d77-c169-41f9-9bce-51462e2a44ab",
      "name": "替换演示文稿中的文本",
      "type": "n8n-nodes-base.googleSlides",
      "position": [
        1024,
        0
      ],
      "parameters": {
        "textUi": {
          "textValues": [
            {
              "text": "{Company Name}",
              "replaceText": "={{ $('Message a model').item.json.message.content.company }}",
              "pageObjectIds": [
                "p"
              ]
            },
            {
              "text": "{client}",
              "replaceText": "={{ $('Message a model').item.json.message.content.client }}",
              "pageObjectIds": [
                "p"
              ]
            },
            {
              "text": "{project_title}",
              "replaceText": "={{ $('Message a model').item.json.message.content.project_title }}",
              "pageObjectIds": [
                "g1f88252dc4_0_83"
              ]
            },
            {
              "text": "{Goals}",
              "replaceText": "={{ $('Message a model').item.json.message.content.goals }}",
              "pageObjectIds": [
                "g1f88252dc4_0_83"
              ]
            },
            {
              "text": "{deliverables}",
              "replaceText": "={{ $('Message a model').item.json.message.content.deliverables }}",
              "pageObjectIds": [
                "g1f88252dc4_0_83"
              ]
            },
            {
              "text": "{timeline}",
              "replaceText": "={{ $('Message a model').item.json.message.content.timeline_weeks }}",
              "pageObjectIds": [
                "g3643e9e2554_0_12"
              ]
            },
            {
              "text": "{budget}",
              "replaceText": "={{ $('Message a model').item.json.message.content.budget_usd }}",
              "pageObjectIds": [
                "g3643e9e2554_0_12"
              ]
            }
          ]
        },
        "options": {},
        "operation": "replaceText",
        "presentationId": "={{ $json.id }}"
      },
      "credentials": {
        "googleSlidesOAuth2Api": {
          "id": "b1bhhccZCOnXFEVb",
          "name": "Google Slides account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "41fe6c9c-88bd-4c36-a64c-7dac0268e456",
      "name": "复制文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        816,
        0
      ],
      "parameters": {
        "name": "={{ $json.message.content.company }} proposal",
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": "11FCrQCmvjck3eKHMGeDF0wGf0TDyUB78FLsyR0graKI",
          "cachedResultUrl": "https://docs.google.com/presentation/d/11FCrQCmvjck3eKHMGeDF0wGf0TDyUB78FLsyR0graKI/edit?usp=drivesdk",
          "cachedResultName": "Consulting proposal"
        },
        "options": {},
        "operation": "copy"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "JB10qqMjiksmdbv3",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "9e79d395-57f9-4afb-9d35-75dda74e6561",
      "name": "分享文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1232,
        0
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.presentationId }}"
        },
        "options": {},
        "operation": "share",
        "permissionsUi": {
          "permissionsValues": {
            "role": "reader",
            "type": "user",
            "emailAddress": "={{ $('Message a model').item.json.message.content.email }}"
          }
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "JB10qqMjiksmdbv3",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "0579e838-85ac-4cae-a7d4-c2c42203a47e",
      "name": "更新记录",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1440,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appZS6usU96byHXU3",
          "cachedResultUrl": "https://airtable.com/appZS6usU96byHXU3",
          "cachedResultName": "New Lead"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblROcPRoSG3aMwhT",
          "cachedResultUrl": "https://airtable.com/appZS6usU96byHXU3/tblROcPRoSG3aMwhT",
          "cachedResultName": "New Leads Pipeline"
        },
        "columns": {
          "value": {
            "Email": "={{ $('Message a model').item.json.message.content.email }}",
            "LeadStatus": "Proposal sent"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "First Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "First Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Assignee",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Assignee",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Desision",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Exploring",
                  "value": "Exploring"
                },
                {
                  "name": "Comparing Agencies",
                  "value": "Comparing Agencies"
                },
                {
                  "name": "Ready to Start",
                  "value": "Ready to Start"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Desision",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LeadStatus",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Website Form",
                  "value": "Website Form"
                },
                {
                  "name": "Attended",
                  "value": "Attended"
                },
                {
                  "name": "Didn't Attend",
                  "value": "Didn't Attend"
                },
                {
                  "name": "Meeting Rescheduled",
                  "value": "Meeting Rescheduled"
                },
                {
                  "name": "Follow Up 1",
                  "value": "Follow Up 1"
                },
                {
                  "name": "Follow Up 2",
                  "value": "Follow Up 2"
                },
                {
                  "name": "Follow Up 3",
                  "value": "Follow Up 3"
                },
                {
                  "name": "Lost -No Response",
                  "value": "Lost -No Response"
                },
                {
                  "name": "Won",
                  "value": "Won"
                },
                {
                  "name": "Proposal sent",
                  "value": "Proposal sent"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "LeadStatus",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "lkjke5yaq35WzzkG",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "12130334-d35d-4bf6-92dd-0c45641d6001",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -96
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 352,
        "content": "## 指南"
      },
      "typeVersion": 1
    },
    {
      "id": "c5647c6c-362b-4868-ba0b-95a356e9d117",
      "name": "向模型发送消息",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        480,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "Extract the following variables from the discovery call script and format them as JSON. Use the exact keys below:  \n\n**Variables to Extract:**  \n- Client email  \n- Company name  \n- Client name  \n- Project title  \n- Project goals  \n- Deliverables  \n- Timeline (in weeks)  \n- Budget (in USD)  \n\n**Output Requirements:**  \n- Strictly use this JSON structure (no deviations):  \n```json\n{\n  \"email\": \"value_from_script\",\n  \"company\": \"value_from_script\",\n  \"client\": \"value_from_script\",\n  \"project_title\": \"value_from_script\",\n  \"goals\": \"value_from_script\",\n  \"deliverables\": \"value_from_script\",\n  \"timeline_weeks\": \"value_from_script\",\n  \"budget_usd\": \"value_from_script\"\n}"
            },
            {
              "content": "={{ $json.chatInput }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "iuyzWhX2JGVK5PCn",
          "name": "OpenAI Hostinger"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "eea034a6-93dd-4fff-9fe2-d0189c5f7b2b",
      "name": "当收到聊天消息时",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        304,
        0
      ],
      "webhookId": "65c61e2a-f47e-4a83-a34b-4a92e7f09baa",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9e6caf82-55ec-4fe2-9de1-55fd2bbe0ac6",
  "connections": {
    "Copy file": {
      "main": [
        [
          {
            "node": "Replace text in a presentation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Share file": {
      "main": [
        [
          {
            "node": "Update record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "Copy file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Replace text in a presentation": {
      "main": [
        [
          {
            "node": "Share file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 客户关系管理, 多模态 AI

需要付费吗?

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

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

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

作者
Ilyass Kanissi

Ilyass Kanissi

@ilyass

I design and build custom no-code and low-code automations using n8n to help businesses save hours of manual work, streamline operations, and create clean, scalable workflows.

外部链接
在 n8n.io 查看

分享此工作流