{
  "id": "o6QHC3fXUypkp711",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Lead Qualification Voice Agent",
  "tags": [],
  "nodes": [
    {
      "id": "36381180-1a71-435f-ba1d-8c2d64ec53a6",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -208,
        -144
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1245574619,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit#gid=1245574619",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit?usp=drivesdk",
          "cachedResultName": "Lead Qualification Voice Agent Demo v1 (Responses)"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "206d9715-ee90-4a40-8f1e-ddc5978674bf",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -192,
        224
      ],
      "parameters": {
        "path": "030f0967-0d16-43db-aa72-ad2d5909f945",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "8ca3c8e3-55a1-4785-8619-74e6cb1722ff",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        832,
        224
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={\n  \"type\": \"conversation_initiation_client_data\",\n  \"dynamic_variables\": {\n    \"voiceopener\": \"{{ $json.choices[0].message.content['Voice Opener'] }}\"\n  }\n}\n"
      },
      "typeVersion": 1.4
    },
    {
      "id": "f2d03e6c-a85f-4a11-9bf4-d1a57cfbccf8",
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -208,
        624
      ],
      "parameters": {
        "path": "37e8d818-8265-43e9-803e-00119da5f3cb",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "7ef04ab0-ee54-4ff7-b23b-178b1519a33e",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        16,
        624
      ],
      "parameters": {
        "jsCode": "// Get the webhook data from the input\nconst webhookData = $input.item.json;\n\n// Access the transcript array\nconst transcript = webhookData.body.data.transcript;\n\n// Format the transcript into a clean string\nconst formattedTranscript = transcript.map(entry => {\n  // Capitalize the role for better readability\n  const role = entry.role.charAt(0).toUpperCase() + entry.role.slice(1);\n  return `${role}: ${entry.message}`;\n}).join('\\n'); // Join each line with a newline\n\n// Return the formatted transcript\nreturn {\n  json: {\n    clean_transcript: formattedTranscript\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "7dde1ba5-34f2-44ec-b244-2c93aec36b57",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        240,
        624
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "={{ $json.clean_transcript }}"
            },
            {
              "role": "system",
              "content": "=You are an expert AI assistant specializing in analyzing sales call transcripts for \"ThinkSpire,\" a custom AI agency. You will be given the full transcript of a conversation between an AI agent named Sarah and a potential client.\n\nYour task is to carefully read the transcript and extract the key information. You MUST respond ONLY with a valid JSON object and nothing else. Do not include any introductory text, backticks, or explanations.\n\nThe JSON object must have the following structure:\n\n{\n  \"callSummary\": \"A concise, one-paragraph summary of the entire conversation, written in the third person.\",\n  \"leadStatus\": \"Analyze the conversation and classify the lead's status. Must be one of the following strings: 'Qualified', 'Not Qualified', 'Follow-up'. 'Qualified' means they explicitly agreed to a follow-up call. 'Not Qualified' means they explicitly said no or were a bad fit. 'Follow-up' means the call was inconclusive or they asked for more information via email first.\",\n  \"projectDetails\": \"Summarize the core requirements and features of the AI solution the client wants to build.\",\n  \"budget\": \"Extract the client's stated budget. Must be one of the following strings: '< INR 50k', 'INR 50k - INR 200k', 'INR 200k - INR 500k', 'INR 500k+', or 'Not Mentioned'.\",\n  \"timeline\": \"Extract the client's stated timeline. Must be one of the following strings: 'ASAP', '1-3 weeks', '3-6 weeks', '6+ weeks', or 'Not Mentioned'.\",\n  \"painPoints\": \"List the key business problems or pain points the client mentioned they are trying to solve.\"\n}"
            }
          ]
        },
        "simplify": false,
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f24c1e5f-8b7d-4d36-bead-5a24841bd1f1",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        592,
        768
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1526b36e-0225-48b5-9839-71b4f4a2e017",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.choices[0].message.content.leadStatus }}",
              "rightValue": "Qualified"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7e85f631-f7c9-48b1-a215-d1780d4a2628",
      "name": "Get row(s) in sheet1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1040,
        736
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $('Webhook1').item.json.body.data.conversation_initiation_client_data.dynamic_variables.system__called_number }}",
              "lookupColumn": "Phone Number (Please enter + country code)"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1245574619,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit#gid=1245574619",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit?usp=drivesdk",
          "cachedResultName": "Lead Qualification Voice Agent Demo v1 (Responses)"
        },
        "combineFilters": "OR"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "f03074cd-cb71-455e-a58e-93df49da4f84",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        592,
        528
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f90161bd-2afe-472c-bb45-22b2da435bb9",
              "name": "country_code",
              "type": "string",
              "value": "={{$('Webhook1').item.json.body.data.metadata.phone_call.external_number.match(/^\\+(\\d{1,2})/)[1]}}"
            },
            {
              "id": "fe128657-11d8-457f-b31e-27806ae3ab3f",
              "name": "phone_number",
              "type": "string",
              "value": "={{$('Webhook1').item.json.body.data.metadata.phone_call.external_number.replace(/^\\+\\d{1,2}/, '')}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ec82a8cd-ade2-4692-a04d-6e945e3d4d32",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        832,
        736
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "f6990d40-3847-4fbb-98ac-9226dbe93707",
      "name": "Message a model1",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        512,
        224
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Hi  {{ $json['First Name'] }}, your request: {{ $json['Service Request'] }}"
            },
            {
              "role": "system",
              "content": "=Your name is Anika. You work with Thinkspire AI. You are an expert in following up with potential leads.\n\nWrite a friendly, yet concise, outbound call opener using the lead\u2019s {{ $json['First Name'] }} and referencing their requested service: {{ $json['Service Request'] }} . Make sure the sentence is grammatically correct.\n\nLabel the output as \"Voice Opener\""
            }
          ]
        },
        "simplify": false,
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "3238a22e-782e-408a-b494-606177ff4652",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        128
      ],
      "parameters": {
        "width": 1296,
        "height": 288,
        "content": "## 2. Fetch Client Data ##"
      },
      "typeVersion": 1
    },
    {
      "id": "43db9c00-5e99-4648-ac9f-d00090ebc270",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        480
      ],
      "parameters": {
        "color": 4,
        "width": 1728,
        "height": 464,
        "content": "## 3. Outbound Call Processing ##"
      },
      "typeVersion": 1
    },
    {
      "id": "55b994a2-d9af-42c1-a1e8-ae65de7430bf",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        -224
      ],
      "parameters": {
        "color": 5,
        "width": 480,
        "height": 272,
        "content": "## 1. Initiate Call ##"
      },
      "typeVersion": 1
    },
    {
      "id": "6319684e-a732-4643-8840-21ff133caa29",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        48,
        224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e726c247-bf1a-451a-910c-49beee3fe548",
              "name": "country_code",
              "type": "string",
              "value": "={{$json.body.called_number.match(/^\\+(\\d{1,2})/)[1]}}"
            },
            {
              "id": "058cde1e-76ba-4dee-9da8-141e154f6a8c",
              "name": "phone_number",
              "type": "string",
              "value": "={{$json.body.called_number.replace(/^\\+\\d{1,2}/, '')}}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4,
      "alwaysOutputData": true
    },
    {
      "id": "757c530d-0864-4ad9-8b0d-44d8c9817fb2",
      "name": "Update Call Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        832,
        528
      ],
      "parameters": {
        "columns": {
          "value": {
            "Budget": "={{ $('Message a model').item.json.choices[0].message.content.budget }}",
            "Timeline": "={{ $('Message a model').item.json.choices[0].message.content.timeline }}",
            "Transcript": "={{ $('Webhook1').item.json.body.data.analysis.transcript_summary }}",
            "Lead status": "={{ $('Message a model').item.json.choices[0].message.content.leadStatus }}",
            "Call summary": "={{ $('Message a model').item.json.choices[0].message.content.callSummary }}",
            "Phone Number (Please enter + country code)": "={{ $('Webhook1').item.json.body.data.conversation_initiation_client_data.dynamic_variables.system__called_number }}"
          },
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "First Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "First Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone Number (Please enter + country code)",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Phone Number (Please enter + country code)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Service Request",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Service Request",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Budget",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Budget",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timeline",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timeline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Call summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Call summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Lead status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Lead status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Transcript",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Transcript",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Voice opener",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Voice opener",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Modified At",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Modified At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Phone Number (Please enter + country code)"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1245574619,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit#gid=1245574619",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit?usp=drivesdk",
          "cachedResultName": "Lead Qualification Voice Agent Demo v1 (Responses)"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "b7277703-20a6-4360-9499-dd09d6cc4bdb",
      "name": "Look up Customer Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        288,
        224
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.body.called_number }}",
              "lookupColumn": "Phone Number (Please enter + country code)"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1245574619,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit#gid=1245574619",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1VxAAFch57KhXmRpgClLpklDeB4naAqr8LrLoBd3SiWw/edit?usp=drivesdk",
          "cachedResultName": "Lead Qualification Voice Agent Demo v1 (Responses)"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "81bc117a-acfb-485d-9ebe-2fd4b6e60361",
      "name": "Send Schedule Request",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1264,
        736
      ],
      "parameters": {
        "sendTo": "={{ $json.Email }}",
        "message": "=Hi {{ $json['First Name']}},\n\nIt was great talking to you, below is our meeting calendar - https://calendar.app.google/Zs7VjMjbwWeaPvAH7 \n\nJust click the link, pick a time that works best for you, and we will see you in the meeting!\n",
        "options": {
          "appendAttribution": false
        },
        "subject": "Thinkspire Meeting",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "832bf94b-659e-4c74-8367-aba68c34a167",
      "name": "Outbound Call",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        16,
        -144
      ],
      "parameters": {
        "url": "https://api.elevenlabs.io/v1/convai/twilio/outbound-call",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "agent_id",
              "value": "agent_0501k5kszqfxe65byc7m2ebkg498"
            },
            {
              "name": "agent_phone_number_id",
              "value": "phnum_1201k5ksx9cmehgah78rf8es27jf"
            },
            {
              "name": "to_number",
              "value": "={{ $json[\"Phone Number (Please enter + country code)\"] }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "twilioApi": {
          "name": "<your credential>"
        },
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6c4960da-78fc-4119-b281-7bed1c16f9b4",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -432
      ],
      "parameters": {
        "color": 3,
        "width": 832,
        "height": 1760,
        "content": "## What is this?\n\n### This workflow is a Lead Qualification Voice Agent automation template built in n8n. It automates the process of qualifying leads by initiating outbound calls, analyzing call transcripts, updating lead data, and sending follow-up emails. The workflow integrates Google Sheets, OpenAI, and Twilio (via ElevenLabs API) to streamline lead management for sales or customer success teams.\n\n## 1. Initiate Call\n### Purpose: This step starts the lead qualification process by detecting new leads and preparing to contact them.\n### How it works:\n- The workflow is triggered when a new lead is added to your data source (such as a new row in Google Sheets, using the \u201cGoogle Sheets Trigger\u201d node).\n- The trigger node captures essential lead information (e.g., name, phone number, service of interest) from the new entry.\n- The workflow then prepares a personalized call script or opener, often using an AI node (like OpenAI) to generate a friendly and relevant introduction based on the lead\u2019s details.\n- An outbound call is initiated to the lead\u2019s phone number using a telephony integration node (such as HTTP Request to ElevenLabs or Twilio).\n### Note:\n- Ensure your trigger node is correctly set up to monitor the right data source and columns.\n- Configure the telephony node with valid API credentials and the correct phone number field.\n- Optionally, customize the AI prompt to tailor the call opener to your business context.\n\n## 2. Fetch Client Data\n### Purpose: This step retrieves detailed information about the lead from your data source (such as a CRM, database, or Google Sheets).\n### How it works:\n- The workflow uses a data retrieval node (such as Google Sheets, HTTP Request, or a database node) to fetch client details based on a unique identifier (like phone number or email) captured in the trigger step.\n- The node is configured to query the data source for all relevant fields, such as the lead\u2019s name, company, previous interactions, and any custom attributes important for your qualification process.\n- The fetched data is then made available to subsequent nodes, allowing for dynamic personalization of the call script and follow-up actions.\n### Note:\n- Ensure your data source is up-to-date and contains all necessary fields for lead qualification.\n\n## 3. Outbound Call Processing\n### Purpose: To manage the workflow after the outbound call is initiated, including handling call results, analyzing transcripts, and updating lead status.\n### How it works:\n- After the call is placed (using a telephony integration node), the workflow waits for the call to complete. This can be achieved using a webhook node (if your provider supports callbacks) or a polling node to check call status.\n- Once the call is finished, the workflow retrieves the call outcome (e.g., answered, voicemail, failed) and, if available, the call transcript.\n- The transcript can be sent to an AI node (like OpenAI) for analysis\u2014such as extracting intent, sentiment, or key information discussed during the call.\n- Based on the analysis, the workflow updates the lead\u2019s status in your data source (e.g., marking as \u201cQualified,\u201d \u201cNeeds Follow-up,\u201d or \u201cUnreachable\u201d).\n- Optionally, the workflow can trigger additional actions, such as sending a follow-up email, notifying a sales rep, or logging the interaction in your CRM.\n\n### Note:\n- Use webhook nodes for real-time call result processing if your telephony provider supports it.\n- Log all call results and analysis for future reference and reporting.\n\n## Prerequisities\n- OpenAI\n- Google Sheets\n- Twilio\n- Elevenlabs: \n  - Import the twilio number into Elevenlabs\n  - Set up an agent in Elevenlabs\n  - Set up prompt into Elevenlabs\n  - Set up webhooks for fetch client initiation data and post call data\n\n\n## Customization\n- Change Data Source: Swap the Google Sheets node for another data source (e.g., Airtable, MySQL) as needed.\n- Modify Call Script: Edit the OpenAI prompt to generate different call openers or scripts based on your use case.\n- Adjust Call Logic: Modify the outbound call node to use a different telephony provider or to handle call scheduling.\n- Notification Options: Integrate with email, chat, or notification services to alert your team of qualified leads.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "53e78dbd-0186-4da5-9db1-28782b50b717",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook1": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Update Call Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Look up Customer Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          },
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message a model1": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet1": {
      "main": [
        [
          {
            "node": "Send Schedule Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Outbound Call",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Look up Customer Data": {
      "main": [
        [
          {
            "node": "Message a model1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}