Asistente de Ventas con IA (GPT-4 y Claude): Filtrado de Leads, Programación de Reuniones y Registro en Google

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 17 nodos.Utiliza principalmente nodos como Code, GmailTool, GoogleDocsTool, Agent, GoogleSheetsTool. Asistente de Ventas con IA (GPT-4 y Claude): Filtrado de Leads, Programación de Reuniones y Registro en Google

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Credenciales de API de Google Sheets
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "73e3c0fd395bfd0d194601f37f29fe40e0317103ab5899d92df39eaef2eb4c87",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "aba936e6-d3b5-4561-ab4e-42357f690509",
      "name": "Cuando se recibe un mensaje en el chat",
      "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": "Enviar un mensaje en 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": "Obtener un documento en 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": "Agregar o actualizar fila en hoja en 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": "Obtener citas reservadas de 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": "Verificar calendario y reservar reunión y enviar correo",
      "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": "Code",
      "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": "Checking History",
      "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": "Sticky Note",
      "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": "Sticky Note1",
      "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": "Sticky Note2",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Creación de contenido, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos17
Categoría2
Tipos de nodos11
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34