AI提案生成システム

中級

これはAI, Marketing分野の自動化ワークフローで、15個のノードを含みます。主にGmail, FormTrigger, GoogleDrive, HttpRequest, GoogleSlidesなどのノードを使用、AI技術を活用したスマート自動化を実現。 AI高度提案ジェネレーター:OpenAI、Googleスライド、PandaDocを統合

前提条件
  • Googleアカウント + Gmail API認証情報
  • Google Drive API認証情報
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "x6UbWXr0iMgy1TEB",
  "meta": {
    "instanceId": "d7661a849ead114a9aa6d9ceaf4160465aeb79532a35bde62160c840ffba9fc8"
  },
  "name": "AI Proposal Generator System",
  "tags": [
    {
      "id": "l8MPK4ZirgwFWMno",
      "name": "N8N Course",
      "createdAt": "2025-01-23T18:12:52.273Z",
      "updatedAt": "2025-01-23T18:12:52.273Z"
    }
  ],
  "nodes": [
    {
      "id": "sticky-note-1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -200
      ],
      "parameters": {
        "width": 350,
        "height": 160,
        "content": "## 🚀 STEP 1: Sales Call Form\n\nCaptures essential deal information in under 30 seconds:\n\n**Form Fields:** Company details, problem description, proposed solution, project scope, timeline, and budget\n\n**Use Case:** Fill out during live sales calls for instant proposal generation\n\n**Result:** Structured data ready for AI processing"
      },
      "typeVersion": 1,
      "name": ""
    },
    {
      "id": "sticky-note-2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -280
      ],
      "parameters": {
        "width": 380,
        "height": 180,
        "content": "## 🧠 STEP 2: AI Content Generation\n\nTransforms basic form inputs into professional proposal content:\n\n**OpenAI Processing:** Uses sophisticated GPT-4 prompting with example-based training\n**Output:** 20+ proposal sections including titles, problem analysis, solutions, scope, and timelines\n**Quality:** Professional business language with consistent tone and formatting\n\n**Key:** AI converts 30-second inputs into comprehensive proposals"
      },
      "typeVersion": 1,
      "name": ""
    },
    {
      "id": "sticky-note-3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        450,
        -300
      ],
      "parameters": {
        "width": 400,
        "height": 200,
        "content": "## 📄 STEP 3: Document Generation\n\n**Google Slides Path (Free):**\n1. **Google Drive:** Copies proposal template\n2. **Replace Text:** Populates template with AI-generated content\n3. **Gmail:** Sends proposal link via email\n\n**PandaDoc Path (Premium):**\n1. **HTTP Request:** Creates PandaDoc with payment integration\n2. **Gmail:** Sends proposal with signature + payment capabilities\n\n**Result:** Professional proposals ready for client review"
      },
      "typeVersion": 1,
      "name": ""
    },
    {
      "id": "sticky-note-4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -200
      ],
      "parameters": {
        "width": 350,
        "height": 160,
        "content": "## ⚡ WORKFLOW ADVANTAGES\n\n**Speed:** Generate proposals in under 30 seconds during live calls\n**Quality:** AI ensures consistent, professional presentation\n**Dual Options:** Free Google Slides or premium PandaDoc with payments\n**Revenue:** Proven $1,500-$5,000 per implementation\n\n**Business Impact:** Send proposals before competitors even schedule follow-ups"
      },
      "typeVersion": 1,
      "name": ""
    },
    {
      "id": "65eec1e0-5e75-4544-b1d2-ee686d419edd",
      "name": "テキストの置換",
      "type": "n8n-nodes-base.googleSlides",
      "position": [
        700,
        0
      ],
      "parameters": {
        "textUi": {
          "textValues": [
            {
              "text": "{{proposalTitle}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.proposalTitle }}"
            },
            {
              "text": "{{descriptionName}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.descriptionName }}"
            },
            {
              "text": "{{oneParagraphProblemSummary}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.oneParagraphProblemSummary }}"
            },
            {
              "text": "{{solutionHeadingOne}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionHeadingOne }}"
            },
            {
              "text": "{{solutionHeadingTwo}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionHeadingTwo }}"
            },
            {
              "text": "{{solutionHeadingThree}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionHeadingThree }}"
            },
            {
              "text": "{{solutionDescriptionOne}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionDescriptionOne }}"
            },
            {
              "text": "{{solutionDescriptionTwo}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionDescriptionTwo }}"
            },
            {
              "text": "{{solutionDescriptionThree}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.solutionDescriptionThree }}"
            },
            {
              "text": "{{shortScopeTitleOne}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeTitleOne }}"
            },
            {
              "text": "{{shortScopeTitleTwo}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeTitleTwo }}"
            },
            {
              "text": "{{shortScopeTitleThree}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeTitleThree }}"
            },
            {
              "text": "{{shortScopeDescriptionOne}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeDescriptionOne }}"
            },
            {
              "text": "{{shortScopeDescriptionTwo}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeDescriptionTwo }}"
            },
            {
              "text": "{{shortScopeDescriptionThree}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.shortScopeDescriptionThree }}"
            },
            {
              "text": "{{milestoneOneDay}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneOneDay }}"
            },
            {
              "text": "{{milestoneTwoDay}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneTwoDay }}"
            },
            {
              "text": "{{milestoneThreeDay}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneThreeDay }}"
            },
            {
              "text": "{{milestoneFourDay}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneFourDay }}"
            },
            {
              "text": "{{milestoneDescriptionOne}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneDescriptionOne }}"
            },
            {
              "text": "{{milestoneDescriptionTwo}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneDescriptionTwo }}"
            },
            {
              "text": "{{milestoneDescriptionThree}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneDescriptionThree }}"
            },
            {
              "text": "{{milestoneDescriptionFour}}",
              "replaceText": "={{ $('OpenAI').item.json.message.content.milestoneDescriptionFour }}"
            },
            {
              "text": "{{cost}}",
              "replaceText": "$1,850"
            }
          ]
        },
        "options": {},
        "operation": "replaceText",
        "presentationId": "={{ $json.id }}"
      },
      "credentials": {
        "googleSlidesOAuth2Api": {
          "id": "ie4yCWIQ8AYXFVxa",
          "name": "YouTube"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "618c4452-06f4-4f95-8777-a6e6f204bf33",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        160,
        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  \"descriptionName\": \"\",\n  \"oneParagraphProblemSummary\": \"\",\n  \"solutionHeadingOne\": \"\",\n  \"solutionDescriptionOne\": \"\",\n  \"solutionHeadingTwo\": \"\",\n  \"solutionDescriptionTwo\": \"\",\n  \"solutionHeadingThree\": \"\",\n  \"solutionDescriptionThree\":\"\",\n  \"shortScopeTitleOne\": \"\",\n  \"shortScopeTitleTwo\": \"\",\n  \"shortScopeTitleThree\": \"\",\n  \"shortScopeDescriptionOne\": \"\",\n  \"shortScopeDescriptionTwo\": \"\",\n  \"shortScopeDescriptionThree\": \"\",\n  \"milestoneOneDay\": \"\",\n  \"milestoneTwoDay\": \"\",\n  \"milestoneThreeDay\": \"\",\n  \"milestoneFourDay\": \"\",\n  \"milestoneDescriptionOne\": \"\",\n  \"milestoneDescriptionTwo\": \"\",\n  \"milestoneDescriptionThree\": \"\",\n  \"milestoneDescriptionFour\": \"\"\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. Keep things short. If a field contains the term \"Description\" it should be no more than fourteen words. For \"descriptionName\" do not use title case."
            },
            {
              "content": "{\n  \"companyName\":\"1SecondCopy\",\n  \"problem\": \"they can't generate leads. everything is referral based rn.\",\n  \"solution\": \"cold email lead gen system, client reactivation system, and best in class sales training for closing\",\n  \"scope\": \"1k/day cold email infra, 30k email leads, 4 weekly zoom sessions for sales training\",\n  \"currentDate\":\"Feb 4 2025\",\n  \"howSoon\": \"two months\",\n  \"depositCost\": \"$1,845\",\n}"
            },
            {
              "role": "assistant",
              "content": "{\n  \"proposalTitle\": \"Lead Gen System for 1SecondCopy\n\",\n  \"descriptionName\": \"A simple, scalable lead generation system built to help grow your content efforts & connect you with the right people.\n\",\n  \"oneParagraphProblemSummary\": \"Right now, 1SecondCopy is struggling with an inability to generate qualified leads. The majority of your new clients are referral-based, which, while always nice to have, is not scalable nor is it reliable. Building an alternative strategy—one that allows you to take leads from cold -> close—is vital to the health and longevity of the company, and it’s what we’re going to help you with.\n\",\n  \"solutionHeadingOne\": \"Cold Outbound Lead Gen\",\n  \"solutionDescriptionOne\": \"We’ll put in place a robust cold-email-based system for you using best practices.\",\n  \"solutionHeadingTwo\": \"Client Reactivation System\",\n  \"solutionDescriptionTwo\": \"We’ll build a simple, but high-ROI reactivation system to let you extract value from pre-existing clients.\",\n  \"solutionHeadingThree\": \"Best-In-Class Sales Training\",\n  \"solutionDescriptionThree\": \"We’ll train your team with world-class setting & closing mechanisms.\",\n  \"shortScopeTitleOne\": Cold email infrastructure that sends ~1K emails/day\",\n  \"shortScopeTitleTwo\": \"30K high-quality scraped email leads (included)\",\n  \"shortScopeTitleThree\": \"Four weekly one-hour sales training sessions over Zoom\",\n  \"shortScopeDescriptionOne\": \"12 domains, 36 mailboxes, DNS optimization, and warmups included.\",\n  \"shortScopeDescriptionTwo\": \"30,000 leads in your target market, delivered by CSV.\",\n  \"shortScopeDescriptionThree\": \"We’ll take your sales team from 0->1.\",\n  \"milestoneOneDay\": \"February 8th, 2025\",\n  \"milestoneTwoDay\": \"February 28th, 2025\",\n  \"milestoneThreeDay\": \"March 10th, 2025\",\n  \"milestoneFourDay\":\"March 17th-April 1st, 2025\",\n  \"milestoneDescriptionOne\": \"Cold email system done & ready for warmup.\",\n  \"milestoneDescriptionTwo\": \"Cold email system fully warmed up & operational.\",\n  \"milestoneDescriptionThree\": \"10,000 outbound emails sent; analysis & training #1.\"\n  \"milestoneDescriptionFour\":\"One sales training per week alongside iteration & handoff.\"\n}"
            },
            {
              "content": "={\n  \"companyName\":\"{{ $json['Company Name'] }}\",\n  \"problem\": \"{{ $json.Problem }}\",\n  \"solution\": \"{{ $json.Solution}}\",\n  \"scope\": \"{{ $json.Scope }}\",\n  \"currentDate\":\"{{ $now.toLocaleString({ dateStyle: 'medium' }) }}\",\n  \"howSoon\": \"{{ $json['How soon?'] }}\",\n  \"depositCost\": \"{{ $json.Cost }}\",\n}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "oLLACDYfGm4C4ouV",
          "name": "YouTube "
        }
      },
      "typeVersion": 1.6
    },
    {
      "id": "850e7d84-2001-421f-a8a2-aa9aa64f06b9",
      "name": "Google ドライブ",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        500,
        0
      ],
      "parameters": {
        "name": "={{ $json.message.content.proposalTitle }}",
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "1fHzjDQtZouAwfv4kn5uvgpTWqwhTAlPrGkdtkbYBkNE"
        },
        "options": {
          "copyRequiresWriterPermission": false
        },
        "operation": "copy"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "8R2NiLt8owCA0E2O",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "dda7e0fa-e8cc-40a8-8af5-9f22b70f4752",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        900,
        0
      ],
      "webhookId": "b989215e-e975-44a7-9dc7-fd51e7310cba",
      "parameters": {
        "sendTo": "={{ $('On form submission').item.json.Email }}",
        "message": "=Hey Nick,\n\nThanks for the great call earlier. I had a moment after our chat to put together a detailed proposal for you—please take a look at your earliest convenience and let me know your thoughts.\n\nYou'll find it here: https://docs.google.com/presentation/d/{{ $json.presentationId }}/edit\n\nIf you have any questions, just shout. I've also sent over an invoice for the project (just to keep things convenient) and can get started anytime that's sorted.\n\nThanks,\nNick",
        "options": {
          "appendAttribution": false
        },
        "subject": "Re: Proposal for LeftClick",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YqmvyP5s2u0IHOHB",
          "name": "Gmail account 3"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "2d9e8695-d112-40a7-810a-94f3b3919382",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -20,
        0
      ],
      "webhookId": "24fd835d-9132-4faf-b715-755e75aee9be",
      "parameters": {
        "options": {
          "appendAttribution": false
        },
        "formTitle": "Sales Call Logging Form",
        "formFields": {
          "values": [
            {
              "fieldLabel": "First Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Last Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Company Name",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email"
            },
            {
              "fieldLabel": "Website",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Problem",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Solution",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Scope",
              "requiredField": true
            },
            {
              "fieldLabel": "Cost",
              "requiredField": true
            },
            {
              "fieldLabel": "How soon?",
              "requiredField": true
            }
          ]
        },
        "formDescription": "This form logs a sales call & automatically generates a proposal."
      },
      "typeVersion": 2.2
    },
    {
      "id": "bc1bf3dd-7261-4f56-a71b-236fbde109ff",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -100
      ],
      "parameters": {
        "width": 1220,
        "height": 280,
        "content": "## Google Slides AI Proposal Generator\n**This flow generates proposals using the free Google Slides solution**."
      },
      "typeVersion": 1
    },
    {
      "id": "d59a6b99-e112-424c-b6e5-3eeb92a1c784",
      "name": "OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        160,
        460
      ],
      "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  \"descriptionName\": \"\",\n  \"problemTitle\": \"\",\n  \"oneParagraphProblemSummary\": \"\",\n  \"solutionTitle\": \"\",\n  \"solutionText\": \"\",\n  \"scopeOne\": \"\",\n  \"scopeTwo\": \"\",\n  \"scopeThree\": \"\",\n  \"scopeFour\": \"\",\n  \"scopeFive\": \"\",\n  \"timelineOne\": \"\",\n  \"timelineTwo\": \"\",\n  \"timelineThree\": \"\",\n  \"timelineFour\": \"\"\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 oneParagraphProblemSummary and solutionText, make sure to number the responses (usually 3, make sure they're inside of the string)."
            },
            {
              "content": "={\n  \"companyName\":\"1SecondCopy\",\n  \"problem\": \"they can't generate leads. everything is referral based rn.\",\n  \"solution\": \"cold email lead gen system, client reactivation system, and best in class sales training for closing\",\n  \"scope\": \"1k/day cold email infra, 30k email leads, 4 weekly zoom sessions for sales training\",\n  \"currentDate\":\"Feb 4 2025\",\n  \"howSoon\": \"two months\",\n  \"depositCost\": \"$1,845\",\n}"
            },
            {
              "role": "assistant",
              "content": "={\n  \"proposalTitle\": \"Lead Gen System for 1SecondCopy\n\",\n  \"descriptionName\": \"A simple, scalable lead generation system built to help grow your content efforts & connect you with the right people.\n\",\n  \"problemTitle\":\"Inability to generate leads\"\n  \"oneParagraphProblemSummary\": \"Right now, 1SecondCopy is struggling with:\\n\\n 1. An inability to generate qualified leads.\\nThe majority of your new clients are referral-based, which, while always nice to have, is not scalable nor is it reliable. Building an alternative strategy—one that allows you to take leads from cold -> close—is vital to the health and longevity of the company, and it’s what we’re going to help you with.\\n\\n 2. No standardized followup mechanism.\\nWithout a way to follow up with leads, you're leaving the majority of the money that one of those leads could produce for you on the table.\n\",\n  \"solutionTitle\": \"Sales & Lead Generation Solutions\",\n  \"solutionText\": \"1. Cold Outbound Lead Gen\\nIn order to generate leads efficiently, we’ll put in place a robust cold-email-based system for you using best practices.\\n\\n2. Client Reactivation System\\nIn order to extract value from pre-existing clients, we’ll build a simple but high-ROI reactivation system.\\n\\n3. Best-In-Class Sales Training\\nIn order to improve conversion rates, we’ll train your team with world-class setting & closing mechanisms.\"\n  \"scopeOne\":\"We'll create a database to store both videos and competitors.\",\n  \"scopeTwo\":\"We'll create a simple form to quickly add competitors to your database.\",\n  \"scopeThree\":\"We'll build a daily flow that automatically generates video outlines based on the scrapes.\",\n  \"scopeFour\":\"We'll record documentation showing you how to manage and update the system.\",\n  \"scopeFive\":\"We'll provide one, two-hour team training session to teach your company how to use the system.\",\n  \"timelineOne\": \"Cold email system done & ready for warmup: February 8th, 2025\",\n  \"timelineTwo\": \"Cold email system fully warmed up & operational: February 28th, 2025\",\n  \"timelineThree\": \"10,000 outbound emails sent; analysis & training #1: March 10th, 2025\",\n  \"timelineFour\":\"One sales training per week alongside iteration & handoff: March 17th-April 1st, 2025\",\n}"
            },
            {
              "content": "={\n  \"companyName\":\"{{ $json['Company Name'] }}\",\n  \"problem\": \"{{ $json.Problem }}\",\n  \"solution\": \"{{ $json.Solution}}\",\n  \"scope\": \"{{ $json.Scope }}\",\n  \"currentDate\":\"{{ $now.toLocaleString({ dateStyle: 'medium' }) }}\",\n  \"howSoon\": \"{{ $json['How soon?'] }}\",\n  \"depositCost\": \"{{ $json.Cost }}\",\n}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "oLLACDYfGm4C4ouV",
          "name": "YouTube "
        }
      },
      "typeVersion": 1.6
    },
    {
      "id": "66ec15ea-ba46-4aad-993a-e0b9cefde871",
      "name": "Gmail1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        740,
        460
      ],
      "webhookId": "470caaaa-62ff-4468-973d-4b1082cfe57a",
      "parameters": {
        "sendTo": "={{ $('On form submission1').item.json.Email }}",
        "message": "=Hey Nick,\n\nThanks for the great call earlier. I had a moment after our chat to put together a detailed proposal for you—please take a look at your earliest convenience and let me know your thoughts.\n\nYou'll find it here: https://docs.google.com/presentation/d/{{ $json.presentationId }}/edit\n\nIf you have any questions, just shout. I've also sent over an invoice for the project (just to keep things convenient) and can get started anytime that's sorted.\n\nThanks,\nNick",
        "options": {
          "appendAttribution": false
        },
        "subject": "Re: Proposal for LeftClick",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YqmvyP5s2u0IHOHB",
          "name": "Gmail account 3"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "89833949-672b-4120-94fe-2f5b9b8b21de",
      "name": "フォーム送信時1",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -20,
        460
      ],
      "webhookId": "f0e8d4a0-8002-4804-aa90-4566fef26283",
      "parameters": {
        "options": {
          "appendAttribution": false
        },
        "formTitle": "Sales Call Logging Form",
        "formFields": {
          "values": [
            {
              "fieldLabel": "First Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Last Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Company Name",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email"
            },
            {
              "fieldLabel": "Website",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Problem",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Solution",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Scope",
              "requiredField": true
            },
            {
              "fieldLabel": "Cost",
              "requiredField": true
            },
            {
              "fieldLabel": "How soon?",
              "requiredField": true
            }
          ]
        },
        "formDescription": "This form logs a sales call & automatically generates a proposal."
      },
      "typeVersion": 2.2
    },
    {
      "id": "5cf9ca5e-2ffa-492f-899f-4668786dabbd",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        360
      ],
      "parameters": {
        "width": 1220,
        "height": 280,
        "content": "## PandaDoc AI Proposal Generator\n**This flow generates proposals using the paid PandaDoc solution, and also sends an invoice alongside it**."
      },
      "typeVersion": 1
    },
    {
      "id": "6b8e90ef-c520-40b6-9ec6-a7d422763d8a",
      "name": "HTTP リクエスト",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        520,
        460
      ],
      "parameters": {
        "url": "https://api.pandadoc.com/public/v1/documents/",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"name\": \"{{ $json.message.content.proposalTitle }}\",\n    \"fields\": {\n        \"Initials\": {\n            \"value\": \"EI\"\n        }\n    },\n    \"tokens\": [\n        {\n            \"name\": \"Client.Email\",\n            \"value\": \"{{ $('On form submission1').item.json.Email }}\"\n        },\n        {\n            \"name\": \"Sender.Email\",\n            \"value\": \"nick@leftclick.ai\"\n        },\n        {\n            \"name\": \"Client.Scope1\",\n            \"value\": \"{{ $json.message.content.scopeOne }}\"\n        },\n        {\n            \"name\": \"Client.Scope2\",\n            \"value\": \"{{ $json.message.content.scopeTwo }}\"\n        },\n        {\n            \"name\": \"Client.Scope3\",\n            \"value\": \"{{ $json.message.content.scopeThree }}\"\n        },\n        {\n            \"name\": \"Client.Scope4\",\n            \"value\": \"{{ $json.message.content.scopeFour }}\"\n        },\n        {\n            \"name\": \"Client.Scope5\",\n            \"value\": \"{{ $json.message.content.scopeFive }}\"\n        },\n        {\n            \"name\": \"Client.Company\",\n            \"value\": \"{{ $('On form submission1').item.json['Company Name'] }}\"\n        },\n        {\n            \"name\": \"Sender.Company\",\n            \"value\": \"WorkflowLoop\"\n        },\n        {\n            \"name\": \"Client.LastName\",\n            \"value\": \"{{ $('On form submission1').item.json['Last Name'] }}\"\n        },\n        {\n            \"name\": \"Sender.LastName\",\n            \"value\": \"Saraev\"\n        },\n        {\n            \"name\": \"Client.FirstName\",\n            \"value\": \"{{ $('On form submission1').item.json['First Name'] }}\"\n        },\n        {\n            \"name\": \"Client.Timeline1\",\n            \"value\": \"{{ $json.message.content.timelineOne }}\"\n        },\n        {\n            \"name\": \"Client.Timeline2\",\n            \"value\": \"{{ $json.message.content.timelineTwo }}\"\n        },\n        {\n            \"name\": \"Client.Timeline3\",\n            \"value\": \"{{ $json.message.content.timelineThree }}\"\n        },\n        {\n            \"name\": \"Client.Timeline4\",\n            \"value\": \"{{ $json.message.content.timelineFour }}\"\n        },\n        {\n            \"name\": \"Sender.FirstName\",\n            \"value\": \"Nick\"\n        },\n        {\n            \"name\": \"Client.ProblemText\",\n            \"value\": \"{{ $json.message.content.oneParagraphProblemSummary }}\"\n        },\n        {\n            \"name\": \"Client.ProblemTitle\",\n            \"value\": \"{{ $json.message.content.problemTitle }}\"\n        },\n        {\n            \"name\": \"Client.SolutionText\",\n            \"value\": {{ JSON.stringify($json.message.content.solutionText) }}\n        },\n        {\n            \"name\": \"Client.ProposalTitle\",\n            \"value\": \"{{ $json.message.content.proposalTitle }}\"\n        },\n        {\n            \"name\": \"Client.SolutionTitle\",\n            \"value\": \"{{ $json.message.content.solutionTitle }}\"\n        }\n    ],\n    \"metadata\": {},\n    \"recipients\": [\n        {\n            \"email\": \"{{ $('On form submission1').item.json.Email }}\",\n            \"role\": \"Client\"\n        },\n        {\n            \"email\": \"nick@leftclick.ai\",\n            \"company\": \"WorkflowLoop\",\n            \"last_name\": \"Saraev\",\n            \"first_name\": \"Nick\",\n            \"role\": \"Sender\"\n        }\n    ],\n    \"template_uuid\": \"yxge9HxfgWhvqKjFXwWEpS\",\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\": {{ $('On form submission1').item.json.Cost.replace(\"$\",\"\").replace(\",\",\"\").toNumber() }}\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 {yourApiKeyGoesHere}"
            },
            {
              "name": "accept",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {
    "On form submission1": [
      {
        "json": {
          "Cost": "$3,525",
          "Email": "nickolassaraev@gmail.com",
          "Scope": "form you can fill out with competitors, that adds them to a db. once per day db is scraped and you get however many people are in the Sheet x however many vids they put out",
          "Problem": "they're struggling making YouTube vids. Everything is really time intensive rn, mostly because they don't have scripts.",
          "Website": "https://leftclick.ai",
          "Solution": "AI script writing system, scrapes competitor youtube vids for ideas and rephrases best performing titles, then writes outlines",
          "formMode": "test",
          "How soon?": "two weeks",
          "Last Name": "Saraev",
          "First Name": "Peter",
          "submittedAt": "2025-02-04T16:18:45.810-07:00",
          "Company Name": "LeftCLick"
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2452f9ed-c796-4e03-89c6-f7c735b77966",
  "connections": {
    "618c4452-06f4-4f95-8777-a6e6f204bf33": {
      "main": [
        [
          {
            "node": "850e7d84-2001-421f-a8a2-aa9aa64f06b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d59a6b99-e112-424c-b6e5-3eeb92a1c784": {
      "main": [
        [
          {
            "node": "6b8e90ef-c520-40b6-9ec6-a7d422763d8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "850e7d84-2001-421f-a8a2-aa9aa64f06b9": {
      "main": [
        [
          {
            "node": "65eec1e0-5e75-4544-b1d2-ee686d419edd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6b8e90ef-c520-40b6-9ec6-a7d422763d8a": {
      "main": [
        [
          {
            "node": "66ec15ea-ba46-4aad-993a-e0b9cefde871",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "65eec1e0-5e75-4544-b1d2-ee686d419edd": {
      "main": [
        [
          {
            "node": "dda7e0fa-e8cc-40a8-8af5-9f22b70f4752",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d9e8695-d112-40a7-810a-94f3b3919382": {
      "main": [
        []
      ]
    },
    "89833949-672b-4120-94fe-2f5b9b8b21de": {
      "main": [
        [
          {
            "node": "d59a6b99-e112-424c-b6e5-3eeb92a1c784",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - 人工知能, マーケティング

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ7
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34