8
n8n 한국어amn8n.com

AI 제안서 생성 시스템

중급

이것은Sales, AI분야의자동화 워크플로우로, 6개의 노드를 포함합니다.주로 Gmail, FormTrigger, GoogleDrive, GoogleSlides, OpenAi 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. 영업 후 통화를 기반으로 한 AI 기반 자동 제안서 생성기

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • Google Drive API 인증 정보
  • OpenAI API Key

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "AI Proposal Generator System",
  "tags": [],
  "nodes": [
    {
      "id": "12f23b4f-a653-45ad-87b7-e60ba30e70cb",
      "name": "텍스트 교체",
      "type": "n8n-nodes-base.googleSlides",
      "position": [
        1300,
        1100
      ],
      "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": "={{ $('On form submission').item.json.Cost }}"
            }
          ]
        },
        "options": {},
        "operation": "replaceText",
        "presentationId": "={{ $json.id }}"
      },
      "typeVersion": 2
    },
    {
      "id": "da8060cf-ac55-439f-ab44-a973d5e4ee18",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        700,
        1100
      ],
      "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
      },
      "typeVersion": 1.6
    },
    {
      "id": "7e52e4c7-49da-499a-a9ea-3e421611fb87",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1080,
        1100
      ],
      "parameters": {
        "name": "={{ $json.message.content.proposalTitle }}",
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "REPLACE_WITH_YOUR_GOOGLE_SLIDES_TEMPLATE_ID"
        },
        "options": {
          "copyRequiresWriterPermission": false
        },
        "operation": "copy"
      },
      "typeVersion": 3
    },
    {
      "id": "5a0508ab-4eaa-49f0-96f9-a664a1e7a5eb",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1520,
        1100
      ],
      "webhookId": "WEBHOOK_ID_WILL_BE_GENERATED",
      "parameters": {
        "sendTo": "={{ $('On form submission').item.json.Email }}",
        "message": "=Hey {{ $('On form submission').item.json['First Name'] }},\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 ask. I've also sent over an invoice for the project (just to keep things convenient) and we can get started anytime that's sorted.\n\nThanks,\n[YOUR NAME]",
        "options": {
          "appendAttribution": false
        },
        "subject": "=Re: Proposal for  {{ $('On form submission').item.json['Company Name'] }}",
        "emailType": "text"
      },
      "typeVersion": 2.1
    },
    {
      "id": "5be2415f-96f1-4e05-b589-bc4992c2a231",
      "name": "양식 제출 시",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        480,
        1100
      ],
      "webhookId": "WEBHOOK_ID_WILL_BE_GENERATED",
      "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": "4ae579fb-779d-4312-a163-d438507b8918",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        440,
        980
      ],
      "parameters": {
        "width": 1220,
        "height": 280,
        "content": "## Google Slides AI Proposal Generator\n**This flow generates proposals using AI and the free Google Slides solution**."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "On form submission": [
      {
        "json": {
          "Cost": "$2,500",
          "Email": "john@example.com",
          "Scope": "Setup and 1 month training",
          "Problem": "Low sales due to lead generation problems",
          "Website": "www.example.com",
          "Solution": "AI automation system for lead generation",
          "formMode": "test",
          "How soon?": "Within 2 weeks",
          "Last Name": "Doe",
          "First Name": "John",
          "submittedAt": "2025-05-13T09:10:33.001+01:00",
          "Company Name": "Example Corp"
        }
      }
    ]
  },
  "settings": {
    "timezone": "UTC",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "connections": {
    "da8060cf-ac55-439f-ab44-a973d5e4ee18": {
      "main": [
        [
          {
            "node": "7e52e4c7-49da-499a-a9ea-3e421611fb87",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7e52e4c7-49da-499a-a9ea-3e421611fb87": {
      "main": [
        [
          {
            "node": "12f23b4f-a653-45ad-87b7-e60ba30e70cb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "12f23b4f-a653-45ad-87b7-e60ba30e70cb": {
      "main": [
        [
          {
            "node": "5a0508ab-4eaa-49f0-96f9-a664a1e7a5eb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5be2415f-96f1-4e05-b589-bc4992c2a231": {
      "main": [
        [
          {
            "node": "da8060cf-ac55-439f-ab44-a973d5e4ee18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 영업, 인공지능

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수6
카테고리2
노드 유형6
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Gerald Denor

Gerald Denor

@dominixai

Gerald Akhidenor is an AI Automation Lead Creative with 5 years of experience in AI automation consultancy. He specializes in n8n and API integrations, driving innovative automation solutions. As founder of DominixAI, Gerald combines creative vision and technical expertise to streamline processes and boost efficiency through cutting-edge AI technologies.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34