8
n8n 中文网amn8n.com

使用 PandaDoc、ClickUp CRM 和 Gmail 跟进创建 AI 驱动的销售提案

中级

这是一个CRM, Multimodal AI领域的自动化工作流,包含 13 个节点。主要使用 Gmail, ClickUp, HttpRequest, TypeformTrigger, OpenAi 等节点。 使用 PandaDoc、ClickUp CRM 和 Gmail 跟进创建 AI 驱动的销售提案

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "a88d54d0dc140647df8f628579b3d5aae0dedb13c983a1f5c11ee14f54f18774",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "7d32401a-90d3-462d-ab44-435e92371afb",
      "name": "生成提案文案",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        220,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "GPT-4O"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are a helpful, intelligent writing assistant."
            },
            {
              "content": "=Your task is to generate a proposal using input data from a form. This proposal should be highly customized, specific, and high-quality, considering we're going to be sending it immediately after you're done.\n\nContext: we are an automation/no-code agency that develops systems revolving around growth, revenue ops, etc.\n\nThe proposal template we're using has many fields. You must return these fields in one JSON object.\n\nUse this format:\n\n{\n  \"proposalTitle\": \"\",\n  \"problemTitle\": \"\",\n  \"problemText\": \"\",\n  \"solutionTitle\": \"\",\n  \"solutionText\": \"\",\n  \"scope1\": \"\",\n  \"scope2\": \"\",\n  \"scope3\": \"\",\n  \"scope4\": \"\",\n\"deliverable1\":\"\",\n\"deliverable2\":\"\",\n\"deliverable3\":\"\",\n  \"timeline1\": \"\",\n  \"timeline2\": \"\",\n  \"timeline3\": \"\"\n}\n\nRules:\n1. Use a spartan, casual tone of voice.\n2. Be to-the-point but professional—assume you're writing to a sophisticated audience.\n3. Ensure that all fields are filled out. Do not miss a field or leave any variables empty.\n4. For problemText and solutionText, make sure to number the responses (usually 3, make sure they're inside of the string).\n5. There will only ever be 4 scoping bullet points, 3 timeline and 3 deliverable bullet points—stick to this precisely. For the timelines, only say the amount of days (\"x days\")"
            },
            {
              "content": "={\"problem\":\"Right now they're managing all of their leads & projects in a massive Google Sheet. The key issues: their system is disorganized, incapable of scaling, and provides little in the way of accountability. Team members are manually updating fields, copying and pasting data, and there is no single source of truth.\",\n\"solution\":\"Migration to a dedicated CRM & project management solution like Monday.com, and a bespoke setup that includes a CRM board to handle new leads, alongside a PM board to handle new and ongoing projects. The creation of new records, and various administrative tasks alongside them, will be handled using both built in Monday automations and third party tools. I'll also create a process library of SOPs to improve operations more generally.\",\n\"deliverables\":\"completed Monday CRM, PM boards, process library of SOPs, training materials, video\",\n\"timeline\":\"two weeks\",\n\"companyDescription\":\"Robert Half is an executive recruiting firm that works primarily out of NYC.\"}"
            },
            {
              "role": "assistant",
              "content": "={\n  \"proposalTitle\": \"Scalable Project Management system for Robert Half\",\n  \"problem\": {\n    \"title\": \"Your systems don't scale & you're paying too much\",\n    \"text\": \"1. You're using systems that don't scale\\n\\nCurrently, your team spends a ridiculous amount of time manually updating fields in a Google Sheet. This is resource-intensive, inefficient, and tedious—it's easy for a small mistake to cascade into a large one, and this has happened multiple times. Perhaps more importantly, there's no accountability, so when said problems inevitably arise, it's impossible to trace it back to its root and solve it.\\n\\n2. You're doing (and paying) too much\\n\\nGoogle Sheets is free. But the impact on your business has been costly. Given the archaic nature of your current setup, specific daily tasks are difficult to operationalize—leading to a large chunk of your employee/contractor costs going to admin tasks that are easily automatable.\\n\\n3. You're missing a ton of functionality\\n\\nGoogle Sheets is primarily textual, and misses the rich functionality afforded by more intentional CRMs. For instance, you can't assign owners to records, or automatically notify team members when something needs to happen (instead, everyone has to be online all the time \"just in case\"), or take advantage of more effective views to represent data flow.\"\n  },\n  \"solution\": {\n    \"title\": \"Scalable systems & built-in project management\",\n    \"text\": \"1. First, I'll migrate & build you a scalable system:\\n\\nI'll help you migrate to Monday.com, a dedicated CRM and project management platform. This will address many of the scalability issues inherent to Google Sheets—your team will be able to assign owners to records, receive notifications on important tasks, and communicate with eachother in a public, accountable way. \\n\\nIn addition, I'll build bespoke automations (both in Monday and using a third party tool, Make.com) to eliminate the need for manual record creation and related administrative functions. This will improve cycle time, better the quality of life of your staff, and decrease the likelihood of a costly error.\\n\\n2. Then, I'll help you improve cost efficiency:\\n\\nNext, we'll operationalize your procedures, add them to a library of SOPs, and begin scoping automated solutions to improve the effectiveness of each task. Much of the knowledge in your company currently exists in conversation or hidden direct messages and threads—turning this into a central, accessible knowledge base will streamline new hire onboarding, significantly improve margins on tasks, and make your team much more flexible.\"\n  },\n  \"scope\": {\n    \"1\": \"We'll migrate your current Google Sheets set-up to Monday.com, a scalable CRM & project management system\",\n    \"2\": \"We'll create two boards—a CRM board and a Project Management board—which will be your single source of truth for business operations moving forward.\",\n    \"3\": \"We'll build you a process library that exhaustively covers your business SOPs, which will let your team train faster and delegate work more effectively.\",\n    \"4\": \"We'll produce an end-to-end piece of video documentation of the system upon delivery.\"},\n\"deliverable\": {\n    \"1\": \"Sheets -> Monday Migration\",\n    \"2\": \"SOPs & Process Library\",\n    \"3\": \"Video Documentation\"\n  }\n  \"timeline\": {\n    \"1\": \"5 business days\",\n    \"2\": \"3 business days\",\n    \"3\": \"1 business day\"\n  }\n}"
            },
            {
              "content": "={\"problem\":\"{{ $json.form_response.answers[5].text }}\",\n\"solutionIPitched\":\"{{ $json.form_response.answers[6].text }}\"\"\n\"deliverables\":\"{{ $json.form_response.answers[7].text }}\",\n\"timeline\":\"{{ $json.form_response.answers[8].text }}\",\n\"companyDescription\":\"{{ $json.form_response.answers[4].text }}\"}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "E9waf1c33TsN4RCh",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "2526fb73-6b90-4434-93d6-d605fdd702b8",
      "name": "创建 PandaDoc 提案",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        620,
        0
      ],
      "parameters": {
        "url": "https://api.pandadoc.com/public/v1/documents",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"owner\": {\n    \"email\": \"abdul@builtbyabdul.com\"\n  },\n  \"template_uuid\": \"<template id>\",\n  \"name\": \"Proposal for {{ $('Sales Call Form').item.json.form_response.answers[3].text }}\",\n  \"metadata\": {\n    \"clickup_id\": \"{{ $('Sales Call Form').item.json.form_response.hidden.clickup_id }}\",\n    \"project_type\": \"proposal\",\n    \"source\": \"typeform_automation\"\n  },\n  \"fields\": {\n    \"Initials\": {\n      \"value\": \"AM\"\n    }\n  },\n  \"tokens\": [\n    {\n      \"name\": \"Client.ProposalTitle\",\n      \"value\": \"{{ $json.message.content.proposalTitle }}\"\n    },\n    {\n      \"name\": \"Client.ProblemTitle\",\n      \"value\": \"{{ $json.message.content.problemTitle }}\"\n    },\n    {\n      \"name\": \"Client.ProblemText\",\n      \"value\": \"{{ $json.message.content.problemText.replace(/\\n/g, '\\\\n') }}\"\n    },\n    {\n      \"name\": \"Client.SolutionTitle\",\n      \"value\": \"{{ $json.message.content.solutionTitle }}\"\n    },\n    {\n      \"name\": \"Client.SolutionText\",\n      \"value\": \"{{ $json.message.content.solutionText.replace(/\\n/g, '\\\\n') }}\"\n    },\n    {\n      \"name\": \"Client.Scope1\",\n      \"value\": \"{{ $json.message.content.scope1 }}\"\n    },\n    {\n      \"name\": \"Client.Scope2\",\n      \"value\": \"{{ $json.message.content.scope2 }}\"\n    },\n    {\n      \"name\": \"Client.Scope3\",\n      \"value\": \"{{ $json.message.content.scope3 }}\"\n    },\n    {\n      \"name\": \"Client.Scope4\",\n      \"value\": \"{{ $json.message.content.scope4 }}\"\n    },\n    {\n      \"name\": \"Client.Company\",\n      \"value\": \"{{ $('Sales Call Form').item.json.form_response.answers[3].text }}\"\n    },\n    {\n      \"name\": \"Client.LastName\",\n      \"value\": \"{{ $('Sales Call Form').item.json.form_response.answers[1].text }}\"\n    },\n    {\n      \"name\": \"Client.FirstName\",\n      \"value\": \"{{ $('Sales Call Form').item.json.form_response.answers[0].text }}\"\n    },\n    {\n      \"name\": \"Client.Timeline1\",\n      \"value\": \"{{ $json.message.content.timeline1 }}\"\n    },\n    {\n      \"name\": \"Client.Timeline2\",\n      \"value\": \"{{ $json.message.content.timeline2 }}\"\n    },\n    {\n      \"name\": \"Client.Timeline3\",\n      \"value\": \"{{ $json.message.content.timeline3 }}\"\n    },\n    {\n      \"name\": \"Client.Deliverable1\",\n      \"value\": \"{{ $json.message.content.deliverable1 }}\"\n    },\n    {\n      \"name\": \"Client.Deliverable2\",\n      \"value\": \"{{ $json.message.content.deliverable2 }}\"\n    },\n    {\n      \"name\": \"Client.Deliverable3\",\n      \"value\": \"{{ $json.message.content.deliverable3 }}\"\n    }\n  ],\n  \"recipients\": [\n    {\n      \"delivery_methods\": {\n        \"email\": true\n      },\n      \"redirect\": {\n        \"is_enabled\": false,\n        \"url\": \"https://example.com\"\n      },\n      \"type\": \"recipient\",\n      \"role\": \"Client\",\n      \"email\": \"{{ $('Sales Call Form').item.json.form_response.answers[2].email }}\",\n      \"first_name\": \"{{ $('Sales Call Form').item.json.form_response.answers[0].text }}\",\n      \"last_name\": \"{{ $('Sales Call Form').item.json.form_response.answers[1].text }}\"\n    }\n  ],\n  \"pricing_tables\": [\n    {\n      \"name\": \"Pricing Table 1\",\n      \"options\": {\n        \"currency\": \"USD\"\n      },\n      \"sections\": [\n        {\n          \"rows\": [\n            {\n              \"data\": {\n                \"qty\": 1,\n                \"name\": \"{{ $json.message.content.proposalTitle }}\",\n                \"price\": \"{{ $('Sales Call Form').item.json.form_response.answers[9].number }}\"\n              },\n              \"options\": {\n                \"optional\": false,\n                \"qty_editable\": false,\n                \"optional_selected\": false\n              }\n            }\n          ],\n          \"title\": \"Pricing Section\",\n          \"default\": true\n        }\n      ]\n    }\n  ]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "API-Key <your_api_key>"
            },
            {
              "name": "accept",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "91d05623-2d1c-4a38-95aa-d7f7385de79d",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -100
      ],
      "parameters": {
        "color": 6,
        "width": 880,
        "height": 300,
        "content": "## 通话后填写快速表单 -> 生成个性化 PandaDoc 提案"
      },
      "typeVersion": 1
    },
    {
      "id": "5fa8478e-1e09-4510-86ab-54bc46f7def5",
      "name": "ClickUp",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        960,
        0
      ],
      "parameters": {
        "id": "={{ $('Sales Call Form').item.json.form_response.hidden.clickup_id }}",
        "operation": "update",
        "updateFields": {
          "content": "=Company Summary: {{ $('Sales Call Form').item.json.form_response.answers[4].text }} \n\nProblem: {{ $('Sales Call Form').item.json.form_response.answers[5].text }}\n\nSolution I pitched: {{ $('Sales Call Form').item.json.form_response.answers[6].text }}\n\nDeliverables: {{ $('Sales Call Form').item.json.form_response.answers[7].text }}\n\nHow long: {{ $('Sales Call Form').item.json.form_response.answers[8].text }}"
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "clickUpOAuth2Api": {
          "id": "R6our9TKRLgAtfPg",
          "name": "ClickUp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "96826976-e7c8-4eee-8245-47433633a4e7",
      "name": "添加公司名称",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        1260,
        -260
      ],
      "parameters": {
        "task": "={{ $json.id }}",
        "field": "={{ $json.custom_fields[0].id }}",
        "value": "={{ $('Sales Call Form').item.json.form_response.answers[3].text }}",
        "operation": "setCustomField",
        "authentication": "oAuth2"
      },
      "credentials": {
        "clickUpOAuth2Api": {
          "id": "R6our9TKRLgAtfPg",
          "name": "ClickUp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b8a6c4e1-08bb-4106-ad54-71b443b25638",
      "name": "报价",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        1260,
        200
      ],
      "parameters": {
        "task": "={{ $('ClickUp').item.json.id }}",
        "field": "={{ $('ClickUp').item.json.custom_fields[9].id }}",
        "value": "={{ $('Sales Call Form').item.json.form_response.answers[9].number }}",
        "operation": "setCustomField",
        "authentication": "oAuth2"
      },
      "credentials": {
        "clickUpOAuth2Api": {
          "id": "R6our9TKRLgAtfPg",
          "name": "ClickUp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "67bc4dd5-1a1c-4943-bd53-2961da61106f",
      "name": "提案 URL",
      "type": "n8n-nodes-base.clickUp",
      "position": [
        1260,
        -20
      ],
      "parameters": {
        "task": "={{ $('ClickUp').item.json.id }}",
        "field": "={{ $json.custom_fields[8].id }}",
        "value": "=https://app.pandadoc.com/a/#/documents/{{ $('Create PandaDoc Proposal').item.json.id }}",
        "operation": "setCustomField",
        "authentication": "oAuth2"
      },
      "credentials": {
        "clickUpOAuth2Api": {
          "id": "R6our9TKRLgAtfPg",
          "name": "ClickUp account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3cf561e4-17ee-41ab-b282-b670a381e7b6",
      "name": "销售通话表单",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        0,
        0
      ],
      "webhookId": "28fd78a2-c166-436b-8888-9f6b305ff2ad",
      "parameters": {
        "formId": "RADFsrT7",
        "onlyAnswers": false,
        "simplifyAnswers": false
      },
      "credentials": {
        "typeformApi": {
          "id": "tT8tz4T2LA6ZGIaL",
          "name": "Typeform account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "368525d7-31ad-4564-ae21-85f997f8b03f",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -320
      ],
      "parameters": {
        "color": 6,
        "width": 580,
        "height": 720,
        "content": "## 更新 CRM 中的潜在客户 -> 添加公司名称、提案 URL 和报价字段"
      },
      "typeVersion": 1
    },
    {
      "id": "4b02be17-6aaa-4fda-a07c-602ff68e96e0",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1500,
        -100
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 260,
        "content": "## 创建邮件草稿"
      },
      "typeVersion": 1
    },
    {
      "id": "847ab08d-ec61-4f24-b4b3-59427080e72a",
      "name": "创建草稿",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1560,
        -20
      ],
      "webhookId": "44ef2e2b-9d2b-4974-94f7-d418f1bb09e4",
      "parameters": {
        "message": "=Hey {{ $('Sales Call Form').item.json.form_response.answers[0].text }}, thanks for the great call.\n<br><br>\nI put together a detailed proposal for you below. Please take a look at your earliest convenience and let me know your thoughts.\n<br><br>\n(proposal link)\n<br><br>\nHit me if you have any q's. You should be redirected pay after you sign, so I can get started soon as that's sorted.\n<br><br>\nCheers,<br>\nAbdul",
        "options": {
          "sendTo": "={{ $('Sales Call Form').item.json.form_response.answers[2].email }}"
        },
        "subject": "sent you the Proposal",
        "resource": "draft",
        "emailType": "html"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "C3I7lGaMkl8s8Uu6",
          "name": "builtbyabdul"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "91d87b73-5f30-404b-a497-615453441f84",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -560
      ],
      "parameters": {
        "width": 680,
        "height": 1460,
        "content": "# 销售通话后生成个性化 PandaDoc 提案"
      },
      "typeVersion": 1
    },
    {
      "id": "93e9fd9e-7ebb-4d26-b9d0-7c71d54108e4",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        240
      ],
      "parameters": {
        "color": 5,
        "width": 440,
        "height": 240,
        "content": "## 你好,我是 Abdul 👋"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "ClickUp": {
      "main": [
        [
          {
            "node": "Add Company Name",
            "type": "main",
            "index": 0
          },
          {
            "node": "Quote",
            "type": "main",
            "index": 0
          },
          {
            "node": "Proposal URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Proposal URL": {
      "main": [
        [
          {
            "node": "Create a Draft",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sales Call Form": {
      "main": [
        [
          {
            "node": "Generate Proposal Copy",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Company Name": {
      "main": [
        []
      ]
    },
    "Generate Proposal Copy": {
      "main": [
        [
          {
            "node": "Create PandaDoc Proposal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create PandaDoc Proposal": {
      "main": [
        [
          {
            "node": "ClickUp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

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

需要付费吗?

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

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

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

作者
Abdul Mir

Abdul Mir

@abdulmir

Hey 👋 I'm Abdul. I build AI-powered systems for marketing agencies and consultants who want to move fast and automate the boring stuff. Think lead gen agents, proposal generators, and content creation systems. I specialize in growth-focused automations and share workflows that save time and land clients.

外部链接
在 n8n.io 查看

分享此工作流