AIセールスアシスタント(GPT-4とClaude):リードスクリーニング、会議予約、Google記録

上級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、17個のノードを含みます。主にCode, GmailTool, GoogleDocsTool, Agent, GoogleSheetsToolなどのノードを使用。 AIセールスアシスタント(GPT-4とClaude):リードスクリーニング、会議予約、Google記録

前提条件
  • Googleアカウント + Gmail API認証情報
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "73e3c0fd395bfd0d194601f37f29fe40e0317103ab5899d92df39eaef2eb4c87",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "aba936e6-d3b5-4561-ab4e-42357f690509",
      "name": "チャットメッセージ受信時",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        448,
        -320
      ],
      "webhookId": "ffcf29b6-19e9-40fd-81a6-132910560043",
      "parameters": {
        "public": true,
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "b8aa95b2-280a-4892-b8be-7857fcfe4c50",
      "name": "Google Calendar1",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1200,
        304
      ],
      "parameters": {
        "end": "={{ $fromAI(\"endDate\") }}",
        "start": "={{ $fromAI(\"startDate\") }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "hassan@sycorda.com",
          "cachedResultName": "hassan@sycorda.com"
        },
        "additionalFields": {
          "summary": "={{ $fromAI(\"meetingSummary\") }}",
          "attendees": [
            "={{ $fromAI(\"userEmailAddress\") }}",
            "hassan@sycorda.com"
          ]
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "hvhnsH9gkCbjWtg7",
          "name": "Sycorda calendar"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1aa9f367-02b7-40aa-8360-f0b4cf1540ac",
      "name": "Gmailでメッセージを送信",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1360,
        304
      ],
      "webhookId": "15bc424b-a210-4694-831c-9640cb0fc996",
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "message": "=<!DOCTYPE html>\n<html lang=\"en\" style=\"margin:0; padding:0;\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Meeting Confirmation</title>\n</head>\n<body style=\"margin:0; padding:0; background-color:#0e0e0e; font-family: Arial, Helvetica, sans-serif; color:#ffffff;\">\n  <!-- Container -->\n  <table align=\"center\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"max-width:600px; margin:auto; background-color:#1a1a1a; border-radius:10px; overflow:hidden;\">\n    \n    <!-- Header -->\n    <tr>\n      <td align=\"center\" style=\"padding:20px; background-color:#0e0e0e;\">\n        <img src=\"https://drive.google.com/uc?export=view&id=1-AFFY8sg6XEOutVXHQyaXTyDZhvgOaVf\" alt=\"Sycorda Logo\" style=\"max-height:50px;\">\n      </td>\n    </tr>\n    \n    <!-- Banner / Title -->\n    <tr>\n      <td align=\"center\" style=\"padding:30px 20px; background-color:#111111;\">\n        <h1 style=\"margin:0; font-size:22px; line-height:1.4; font-weight:bold;\">\n          <span style=\"color:#f5c16c;\">Meeting Confirmed! ✅</span><br>\n          <span style=\"color:#ffffff !important; display:inline-block;\">\n            Your Session with Hassan, CEO of Sycorda\n          </span>\n        </h1>\n      </td>\n    </tr>\n    \n    <!-- Body -->\n    <tr>\n      <td style=\"padding:30px 25px; color:#dddddd; font-size:16px; line-height:1.6;\">\n        <p style=\"margin-top:0;\">Dear {{$fromAI('name')}},</p>\n        <p>Your meeting has been successfully booked with <strong>Hassan, CEO of Sycorda</strong>! 🎉</p>\n        <p>The calendar invitation has been sent to you. Please check your calendar for complete meeting details.</p>\n        \n        <!-- Meeting Details Box -->\n        <div style=\"background-color:#0e0e0e; border-radius:8px; padding:20px; margin:20px 0; border-left:4px solid #f5c16c;\">\n          <h3 style=\"margin:0 0 15px 0; color:#f5c16c; font-size:18px;\">Meeting Details:</h3>\n          <p style=\"margin:5px 0; color:#ffffff;\"><strong>Date:</strong> {{$fromAI('date')}}</p>\n          <p style=\"margin:5px 0; color:#ffffff;\"><strong>Time:</strong> {{$fromAI('Time')}}</p>\n          <p style=\"margin:5px 0; color:#ffffff;\"><strong>Meeting Link:</strong><a href=\"{{$fromAI('Meeting_link')}}\" style=\"color:#f5c16c; text-decoration:none;\">{{$fromAI('Meeting_link')}}</a></p>\n        </div>\n        \n        <p>If you have any questions, please let us know. We're excited to connect with you!</p>\n      </td>\n    </tr>\n    \n    <!-- Call to Action -->\n    <tr>\n      <td align=\"center\" style=\"padding:20px;\">\n        <p style=\"margin:0 0 15px 0; font-size:14px; color:#888888;\">Questions before our meeting?</p>\n        <a href=\"https://sycorda.com\" target=\"_blank\" \n           style=\"background-color:#f5c16c; color:#0e0e0e; text-decoration:none; font-weight:bold; padding:12px 25px; border-radius:30px; display:inline-block;\">\n          Contact Us\n        </a>\n      </td>\n    </tr>\n    \n    <!-- Footer -->\n    <tr>\n      <td align=\"center\" style=\"padding:20px; font-size:12px; color:#888888; background-color:#0e0e0e;\">\n        © 2025 Sycorda. All rights reserved.<br>\n        <a href=\"https://sycorda.com\" style=\"color:#f5c16c; text-decoration:none;\">www.sycorda.com</a>\n      </td>\n    </tr>\n  </table>\n</body>\n</html>",
        "options": {},
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "ymdaU0TkiPqN3Psz",
          "name": "hassan@sycorda.com"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "26c50dd8-d049-4c30-8ce5-80fdfe4289fa",
      "name": "Simple Memory2",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1056,
        304
      ],
      "parameters": {
        "contextWindowLength": 20
      },
      "typeVersion": 1.3
    },
    {
      "id": "2441f496-c35f-4a09-8493-bc6627e935a3",
      "name": "Google Docsでドキュメントを取得",
      "type": "n8n-nodes-base.googleDocsTool",
      "position": [
        432,
        80
      ],
      "parameters": {
        "operation": "get",
        "documentURL": "1H9ZBePkINDHi2c-IfsxRaVjF5iiGkwimxgJLICyGZco"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "E0shoKK417yJ5FNV",
          "name": "Working sycorda"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6daedf00-e0a1-4792-88d1-44677b7c4baa",
      "name": "Google Sheetsのシートに行を追加または更新",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        592,
        80
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Name', `Name of the user`, 'string') }}",
            "Date ": "=\"Date\": \"={{ $now.format('yyyy-MM-dd HH:mm:ss') }}\"",
            "Email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email__using_to_match_', `Email of the user`, 'string') }}",
            "Summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', `summary of the conversation`, 'string') }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date ",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Date ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "useAppend": true
        },
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo/edit?usp=drivesdk",
          "cachedResultName": "Web Chat Bot Convo Summary"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GK3DNFmawp2s2qCA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "46869f84-48b8-49ad-90ef-c3f204ac0d21",
      "name": "Google Calendarから予約済み予定を取得",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1520,
        288
      ],
      "parameters": {
        "limit": 10,
        "options": {
          "timeMax": "={{ $fromAI(\"beforeDate\") }}",
          "timeMin": "={{ $fromAI(\"afterDate\") }}",
          "timeZone": {
            "__rl": true,
            "mode": "list",
            "value": "Etc/GMT+5",
            "cachedResultName": "Etc/GMT+5"
          }
        },
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "hassan@sycorda.com",
          "cachedResultName": "hassan@sycorda.com"
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "hvhnsH9gkCbjWtg7",
          "name": "Sycorda calendar"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "be6600f6-6563-4326-9892-c760b99ad8ee",
      "name": "カレンダー確認・会議予約とメール送信",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        1024,
        64
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {
          "systemMessage": "=You are a professional calendar booking assistant for Sycorda. Your ONLY job is to check availability and book meetings efficiently.\n\n**Current Date**: {{$now.format('yyyy-MM-dd')}}\n**Timezone**: Lahore GMT+5 (convert all times if needed)\n\n**Workflow (Execute in Order):**\n1. **Check Availability First**: Always use \"Get booked Appointments from Google Calendar\" to check if requested time slot is available\n2. **Collect Required Info**:\n   - First name (required)\n   - Email address (required)\n   - Company name (optional but preferred)\n   - Preferred date and time\n\n3. **Time Slot Management**:\n   - If requested slot is available: proceed with booking\n   - If requested slot is unavailable: offer next 2-3 available slots\n   - Always confirm timezone (Lahore GMT+5)\n\n4. **Confirmation Process**:\n   - Repeat back all details to user for confirmation\n   - Only proceed to booking after user confirms\n\n5. **Meeting Creation**:\n   - Create calendar event with all attendees\n   - Generate meeting link/invite\n   - Send confirmation email using provided template\n\n6. **Final Steps**:\n   - Post meeting link in chat\n   - Append summary to Google Sheets with all relevant data\n\n**Communication Style**: Professional, efficient, friendly\n**Never**: Book without checking availability first or without user confirmation"
        },
        "toolDescription": "Use this Ai Agent to check calendar and Book meetings"
      },
      "typeVersion": 2.2
    },
    {
      "id": "0e7ed2d1-eb66-4014-9286-42733580b762",
      "name": "OpenRouter Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        912,
        304
      ],
      "parameters": {
        "model": "anthropic/claude-sonnet-4",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "quUHCZdxn2JgpCAH",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1528d55d-a7ff-47c6-98ba-d8cc1f0dba8a",
      "name": "コード",
      "type": "n8n-nodes-base.code",
      "position": [
        1024,
        -320
      ],
      "parameters": {
        "jsCode": "// Quick fix to extract the actual response from OpenAI Assistant\nconst response = $json;\n\n// Log the full response to debug\nconsole.log(\"Full OpenAI Response:\", JSON.stringify(response, null, 2));\n\n// Extract the actual message content\nlet actualResponse = '';\n\n// Try different possible locations for the response\nif (response.data && response.data.content && response.data.content[0] && response.data.content[0].text) {\n  actualResponse = response.data.content[0].text.value;\n} else if (response.content && response.content[0] && response.content[0].text) {\n  actualResponse = response.content[0].text.value;\n} else if (response.output) {\n  actualResponse = response.output;\n} else if (typeof response === 'string' && !response.startsWith('thread_')) {\n  actualResponse = response;\n}\n\nreturn {\n  chatResponse: actualResponse,\n  threadId: response.thread_id || response.threadId,\n  originalData: response\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "594ef008-5597-4d07-8768-b3c533b67197",
      "name": "履歴確認",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        736,
        80
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1GRPx3ECZSdB83Kip_MzMV-v_g-9pqoUZRrsB2_BY5Vo/edit?usp=drivesdk",
          "cachedResultName": "Web Chat Bot Convo Summary"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GK3DNFmawp2s2qCA",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "38c89145-cd2e-4472-a9cd-d60a69ada983",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        288,
        80
      ],
      "parameters": {
        "sessionKey": "={{ $json.sessionId }} ",
        "sessionIdType": "customKey",
        "contextWindowLength": 10
      },
      "typeVersion": 1.3
    },
    {
      "id": "4c1d36e5-0662-45ff-b13a-5b01bed5c228",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        144,
        80
      ],
      "parameters": {
        "model": "openai/gpt-4.1",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "quUHCZdxn2JgpCAH",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        688,
        -320
      ],
      "parameters": {
        "text": "={{ $json.chatInput }}{{ $json.message }}",
        "options": {
          "systemMessage": "=## Role & Identity\nYou are **Hassan**, a lead qualification assistant working at **Sycorda**. You are NOT an AI - you are a human representative helping visitors learn about our AI Automation services.\n\n## Primary Objective\nQualify new website visitors for AI Automation/Agent services and book meetings with interested prospects.\n\n## Communication Style\n- **Tone**: Casual, conversational, friendly\n- **Dialect**: American English with US idioms\n- **Approach**: One question at a time, persistent engagement\n- **Avoid**: Conciliatory phrases like \"Ah, I see,\" \"I hear you,\" etc.\n\n## Core Training Methods\n- **The Challenger Sale** methodology\n- **SPIN Selling** techniques for objection handling\n- Focus on **AI Automation/Agent** solutions using n8n, make.com, and GHL\n\n## VERY VERY Important \"make sure to update summary in google sheet before sending every single response\"\n\n## Conversation Flow \n\n### 1. First Message\n```\nHey there! Welcome to Sycorda. I'm Hassan your assistant. I see you're checking out our AI Automation services. What brought you to our site today?\n```\n\n### 2. After First Response - Collect Contact Info\n- Ask for their **name & Email** immediately after their first response\n- **IMPORTANT**: Once you get name and email, IMMEDIATELY use the \"Append or update row in sheet in \"Insert row in Google Sheet\" tool to save this information\n\n### 3. Check History\nAfter collecting name and email, ALWAYS use the \"Checking History\" tool to see if they've contacted us before.\n\n### 4. Add/update summary in node \"Append or update row in sheet in Google Sheets\" \n- After each response of customer update it's summary in sheet \n- Use customer email to match and update record in Sheet\n**Create Summary**: Generate 3-6 concise bullet points covering:\n   - User's main goal/inquiry\n   - Current tools/processes mentioned\n   - Pain points or blockers identified\n   - Success criteria or desired outcomes\n   - Timeline/urgency indicators\n   - Budget signals or company size (if mentioned)\n   - Services discussed\n   - Next steps or outcomes\n\n**Summary Format**:\n- User inquired about [specific service/automation need]\n- Currently using [tools/processes] experiencing [specific challenges]\n- Looking to achieve [specific goals] within [timeframe if mentioned]\n- [Budget/company details if shared]\n- Meeting scheduled/information provided/follow-up required\n\n\n### 5. Qualification Questions\n\n#### If they show interest in your services:\n```\nThat's awesome! We've helped tons of people with exactly that. Are you looking to get started with AI Automation using n8n, make.com or GHL soon?\n```\n\n#### If their response is vague or unclear:\n```\nNo worries! Just so I can point you in the right direction, are you interested in learning more about our AI Automation Services?\n```\n\n#### Follow-up Questions:\n- Ask about their specific niche/industry\n- Understand their current automation needs\n- Identify pain points in their current processes\n\n### 6. Value Proposition & Meeting Booking\n- Tell them we can help and will beat any market price\n- Ask if they'd like to schedule a callback with our team\n- If they say \"yes,\" use the \"Check Calendar & Book Meeting and send email\" tool\n- Say: \"Perfect! Let me check our calendar and get you booked in.\"\n\n## Tool Usage Requirements\n\n### ALWAYS Use These Tools:\n1. **\"Checking History\"** - After collecting name and email\n2. **\"Get a document in Google Docs\" (Sycorda info)** - Before answering company-specific questions\n3. **\"Append or update row in sheet in Google Sheets\"** - To save name, email, and conversation summary\n4. **\"Check Calendar & Book Meeting and send email\"** - When booking meetings\n\n### Information Handling:\n- **Company Questions**: Always check Sycorda info tool first\n- **If info not available**: \"I don't have that specific info right now, but our CEO can answer that perfectly in a quick call.\"\n- **Pricing Questions**: Push for a meeting with our team\n- **Deal Questions**: Push for a meeting with our team\n\n## Engagement Rules\n\n### DO:\n- Ask only ONE question at a time\n- Persistently engage users\n- Use Challenger Sale techniques for objections\n- Stay focused on AI Automation topics\n- Record conversation summaries using the Google Sheets tool\n\n### DON'T:\n- Use phrases that acknowledge rejection\n- Reveal you are an AI\n- Give detailed pricing without a meeting\n- Answer company questions without checking tools first\n\n## Company Information (FAQ)\n- **Company**: Sycorda\n- **Website**: www.sycorda.com\n- **Hours**: 9 AM to 11 PM, Monday to Saturday\n- **Value Prop**: Best AI Automation solutions, won't be beaten on price\n- **Current Date**: {{$now}}\n\n## Response Framework\n1. **Acknowledge** their response briefly\n2. **Ask ONE qualifying question**\n3. **Guide** toward meeting booking\n4. **Use tools** as required\n5. **Record** interaction details\n\n## Success Metrics\n- Collect name and email early\n- Qualify interest level\n- Book meetings with interested prospects\n- Maintain engagement through objections\n- Keep conversations focused on AI Automation services\n\n---\n\n**Remember**: You are Hassan from Sycorda, not an AI assistant. Your goal is to qualify leads and book meetings, not to provide detailed technical support or extensive company information without using the proper tools first.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "786d0c60-92bf-420e-b8b7-d67439526929",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        -544
      ],
      "parameters": {
        "width": 368,
        "height": 208,
        "content": "STEP 1: Chat Interaction & Lead Qualification\n\nThis section handles initial chat interactions and qualifies visitors interested in AI automation services. The AI agent acts as \"Hassan\" to engage users and collect contact information.\n\nKey Components:\n- Chat Trigger - Receives incoming messages from website\n- AI Agent - Main conversational AI using GPT-4 with Hassan persona  \n- Memory Buffer - Maintains conversation context across messages\n- Google Docs Tool - Retrieves company information for accurate responses\n- Google Sheets Tool - Records visitor details and conversation summaries"
      },
      "typeVersion": 1
    },
    {
      "id": "740a0e83-a659-4754-b5e4-2b13f3097850",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        -32
      ],
      "parameters": {
        "width": 400,
        "height": 208,
        "content": "STEP 2: Calendar Management & Meeting Booking\n\nWhen users show interest, this section checks calendar availability and books meetings automatically. It uses a specialized AI agent for calendar operations and sends confirmation emails.\n\nKey Components:\n- Calendar Booking Agent - AI agent specialized for meeting scheduling\n- Get Calendar Events - Checks existing appointments for conflicts\n- Create Calendar Event - Books new meetings with attendees\n- Gmail Tool - Sends branded confirmation emails with meeting details\n- Memory Buffer - Tracks booking conversation context"
      },
      "typeVersion": 1
    },
    {
      "id": "607a3317-7117-453e-9b92-783285215e1c",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        -496
      ],
      "parameters": {
        "width": 352,
        "content": "STEP 3: Response Processing & Data Management\n\nThis final section processes the AI agent's output, formats responses for the website, and maintains data integrity across all customer interactions and bookings.\n\nKey Components:\n- Code Node - Extracts clean chat responses from complex AI output\n- History Checker - Reviews past interactions to avoid duplicates\n- Data Updates - Maintains Google Sheets with conversation summaries\n- Response Formatting - Ensures clean output for website display\n- Thread Management - Preserves conversation continuity"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad": {
      "main": [
        [
          {
            "node": "1528d55d-a7ff-47c6-98ba-d8cc1f0dba8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "38c89145-cd2e-4472-a9cd-d60a69ada983": {
      "ai_memory": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "26c50dd8-d049-4c30-8ce5-80fdfe4289fa": {
      "ai_memory": [
        [
          {
            "node": "be6600f6-6563-4326-9892-c760b99ad8ee",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "594ef008-5597-4d07-8768-b3c533b67197": {
      "ai_tool": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "b8aa95b2-280a-4892-b8be-7857fcfe4c50": {
      "ai_tool": [
        [
          {
            "node": "be6600f6-6563-4326-9892-c760b99ad8ee",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4c1d36e5-0662-45ff-b13a-5b01bed5c228": {
      "ai_languageModel": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "0e7ed2d1-eb66-4014-9286-42733580b762": {
      "ai_languageModel": [
        [
          {
            "node": "be6600f6-6563-4326-9892-c760b99ad8ee",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1aa9f367-02b7-40aa-8360-f0b4cf1540ac": {
      "ai_tool": [
        [
          {
            "node": "be6600f6-6563-4326-9892-c760b99ad8ee",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "aba936e6-d3b5-4561-ab4e-42357f690509": {
      "main": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2441f496-c35f-4a09-8493-bc6627e935a3": {
      "ai_tool": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "be6600f6-6563-4326-9892-c760b99ad8ee": {
      "ai_tool": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "46869f84-48b8-49ad-90ef-c3f204ac0d21": {
      "ai_tool": [
        [
          {
            "node": "be6600f6-6563-4326-9892-c760b99ad8ee",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "6daedf00-e0a1-4792-88d1-44677b7c4baa": {
      "ai_tool": [
        [
          {
            "node": "2fd5e8d4-fe42-4fbe-9a1d-22a1af775aad",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

上級 - コンテンツ作成, マルチモーダルAI

有料ですか?

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

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

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34