{
  "id": "4DBt7jIiVg1kuEgv",
  "name": "Qualify Insurance Leads using Vapi, GPT-4 Proposals and Airtable",
  "tags": [],
  "nodes": [
    {
      "id": "a02b2c97-e7d1-4315-afec-dd4228f8b15a",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1424,
        -704
      ],
      "parameters": {
        "options": {},
        "formTitle": "Harvex Insurance",
        "formFields": {
          "values": [
            {
              "fieldLabel": "name",
              "placeholder": "Type name"
            },
            {
              "fieldType": "email",
              "fieldLabel": "Email",
              "placeholder": "Type your Email"
            },
            {
              "fieldType": "number",
              "fieldLabel": "Phone Number",
              "placeholder": "Type your phone number"
            }
          ]
        },
        "formDescription": "Input your following details for an agent to get back to you !"
      },
      "typeVersion": 2.3
    },
    {
      "id": "9127768b-f7ae-469c-8437-971c58ecf614",
      "name": "Create a record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -1136,
        -704
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appLkiHBdG20uxDwJ",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ",
          "cachedResultName": "Leads"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCyRuAtVAL3Y7sx",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ/tblCyRuAtVAL3Y7sx",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "name": "={{ $json.name }}",
            "Email": "={{ $json.Email }}",
            "Phone number": "={{ $json[\"Phone Number\"].toString() }}"
          },
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Qualify",
                  "value": "Qualify"
                },
                {
                  "name": "Unqualified",
                  "value": "Unqualified"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Call summary",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Call summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "typecast": true
        },
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0e4ef931-ae4e-4647-868c-d0c6e3b46cd6",
      "name": "Vapi call",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -800,
        -704
      ],
      "parameters": {
        "url": "https://api.vapi.ai/call/phone",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"assistantId:\" \\\"ENTER_ASSISTANT_ID_HERE\\\",\n  \"phoneNumberId:\"\\\"ENTER_PHONE_NUMBER_ID_HERE\\\"\",\n  \"customer\": {\n    \"number\": \"{{ '+230' + $json.fields['Phone number']}}\",\n    \"name\": \"{{$json.fields.name }}\"\n  },\n  \"assistantOverrides\": {\n    \"variableValues\": {\n      \"name\": \"{{ $json.fields.name }}\",\n      \"email\": \"{{$json.fields.Email }}\"\n    },\n    \"server\": {\n      \"url\": \"\"\n    },\n    \"serverMessages\": [\n      \"end-of-call-report\"\n    ]\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization"
            }
          ]
        }
      },
      "credentials": {
        "httpBasicAuth": {
          "name": "<your credential>"
        },
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "1e838f66-e4fa-46e5-82b2-133aeb2da118",
      "name": "Post call",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1648,
        -192
      ],
      "parameters": {
        "path": "cf226daa-a404-4c24-a44a-33526891e5f2",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "12df5994-b37f-416d-9365-a2efef290d54",
      "name": "Is Qualified ?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1232,
        -192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "471f687c-6e2d-4449-9201-9ec639847886",
              "operator": {
                "type": "string",
                "operation": "regex"
              },
              "leftValue": "={{ $json.Success }}",
              "rightValue": "true"
            },
            {
              "id": "4be77afa-a65a-4173-8498-22c3c0857a38",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json['Type of Insurance'] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "455936e5-9174-4298-a101-eaea08aa27d0",
      "name": "Update record1",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -1024,
        -256
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appLkiHBdG20uxDwJ",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ",
          "cachedResultName": "Leads"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCyRuAtVAL3Y7sx",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ/tblCyRuAtVAL3Y7sx",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Email": "={{ $json.Email }}",
            "Status": "Qualify",
            "Call summary": "={{ $json['Call summary '] }}",
            "Type of Insurance": "={{ $json['Type of Insurance'] }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Phone number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Qualify",
                  "value": "Qualify"
                },
                {
                  "name": "Unqualified",
                  "value": "Unqualified"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Type of Insurance",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Type of Insurance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Call summary",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Call summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e230a822-80be-45e3-b129-8de107d43c85",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "onError": "continueErrorOutput",
      "position": [
        -464,
        -256
      ],
      "parameters": {
        "sendTo": "={{ $('Update record1').item.json.fields.Email }}",
        "message": "={{ $json.output[0].content[0].text }}",
        "options": {},
        "subject": "Your insurance blueprint",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.1
    },
    {
      "id": "d44d2932-c1c1-4abf-94b9-07e2c2ca34e2",
      "name": "Send a message1",
      "type": "n8n-nodes-base.slack",
      "position": [
        -656,
        112
      ],
      "parameters": {
        "text": "=*Unqualified Lead Alert*\n\n*Name:* {{ $('Clean data').item.json.Name}}\n*Phone:* {{ $('Clean data').item.json['phone number'] }}\n\n*Call Summary:*\n{{ $('Clean data').item.json['Call summary '] }}\n*Reason:* Lead did not meet qualification criteria.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0A2Z9HEKL7",
          "cachedResultName": "all-harvex"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "6602b532-0c3a-4cb1-bded-a341f9534f64",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1488,
        -848
      ],
      "parameters": {
        "color": 7,
        "width": 864,
        "height": 304,
        "content": "## Lead Ingestion & Voice Trigger\nCaptures the lead from the form submitted then logs the data  in Airtable  followed by  the  phone call via Vapi."
      },
      "typeVersion": 1
    },
    {
      "id": "3b3ad935-f422-4c66-aed9-f468cb7ac194",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 272,
        "content": "## Call Processing & Logic\nReceives the call summary and entity data from Vapi. It determines if the lead provided enough information to be considered as  \"Qualified.\""
      },
      "typeVersion": 1
    },
    {
      "id": "5c7fa027-2707-4da0-9fc4-5252e9ffc4d6",
      "name": "Prepare Blueprint",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -816,
        -256
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "responses": {
          "values": [
            {
              "role": "system",
              "content": "=You are Alex Mercer, a Senior Underwriter and Insurance Consultant at Harvex Insurance.\n\nYour task is to generate a professional \"Insurance Blueprint\" email for a prospective client based on the provided phone consultation summary.\nuse clients name {{ $json.fields.name }}     and type of insurance {{ $json.fields['Type of Insurance'] }}\nand personal details provided from call summary.{{ $json.fields['Call summary'] }}\n\n### GUIDELINES:\n1.  **Persona:** You are Alex Mercer. Your tone is professional, direct, and helpful. \n2.  **Formatting:** \n    - Use clean Markdown.\n    - **MANDATORY:** You must present the \"Proposed Coverage Plan\" inside a Markdown Table.\n    - **Style:** Avoid unnecessary punctuation (no exclamation marks, no excessive ellipses, no decorative symbols like '***'). Keep the text clean and orderly.\n    - Do not use fluff words. Be concise.\n\n### EMAIL STRUCTURE:\n\n1.  **Salutation:** Professional greeting.\n2.  **Executive Summary:** A concise 1-2 sentence overview of their current situation and needs based on the call.\n3.  **The Blueprint (Table):** \n    - Create a table with two columns: \"Coverage Feature\" and \"Description/Benefit\". \n    - Populate this based on the insurance type they requested (e.g., if Health, list Outpatient, Inpatient, Dental; if Auto, list Liability, Collision, etc.).\n4.  **Key Benefits:** A simple bulleted list of 3 distinct advantages of choosing XYZ Insurance for this specific plan.\n5.  **Next Steps:** Clear instruction on how to bind the coverage.\n6.  **Sign-off:** \n    Alex Mercer\n    Senior Consultant\n    Harvex Insurance\n\n### INPUT CONTEXT:\nUse the provided call summary and user details to generate this email. {{ $json.fields.name }}"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "bf44a008-0f2b-4b6b-8d82-eb965a6804ae",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2496,
        -880
      ],
      "parameters": {
        "width": 656,
        "height": 880,
        "content": "## Qualify Insurance Leads using Vapi, GPT-4 Proposals and Airtable\n## What this workflow does\n\nThis workflow automates the \"speed-to-lead\" process for insurance brokers. When a prospective client submits a form, the workflow immediately triggers an AI voice agent (Vapi) to call them to gather missing requirements and qualify their interest. After the conversation, the workflow will  generate a professional insurance proposal using OpenAI and email it to the client.  If the lead is unqualified a slack notification is sent to the team.\n\n### Prerequisites\n\nVapi Account: To handle the AI voice conversation.\nOpenAI Account: To analyze the call and generate the proposal blueprint.\nAirtable: To store lead data and track status.\nGmail: To send the generated blueprint to the client.\nSlack: To receive team notifications for unqualified leads or system errors to take actions.\n\n### How it works\nLead Capture: A lead submits a contact form (Name, Email, Phone). The workflow creates a record in Airtable and immediately triggers a Vapi outbound call to the lead.\nCall Analysis: Once the call ends, Vapi sends a transcript and analysis back to n8n via a Webhook.\nQualification Logic: The workflow checks if the AI successfully identified the \"Type of Insurance\" desired by the client.\nIf Qualified: The workflow updates Airtable, uses OpenAI (GPT-4) to write a detailed \"Insurance Blueprint\" proposal, and emails it directly to the client.\nIf Unqualified: The workflow updates Airtable and sends a notification to a Slack channel explaining why the lead didn't qualify.\nError Handling: If the proposal email fails to send, a fallback alert is sent to Slack containing the proposal text for manual follow-up.\n\n### How to use\n\nSet your Vapi account and  edit your system prompt\nSet up other accounts listed in prerequisites.\nConfigure the nodes in order.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0044ea00-671d-44ef-b7bc-948d5c43211f",
      "name": "Error Handling",
      "type": "n8n-nodes-base.slack",
      "position": [
        -160,
        -160
      ],
      "parameters": {
        "text": "=*CRITICAL ERROR: Email Failed* *Manual Action Required*  The user: {{ $('Is Qualified ?').item.json.Name }}* Email: {{ $('Is Qualified ?').item.json.Email }} is qualified and a blueprint was generated, but the Email Node failed to send it.\n*COPY THE BLUEPRINT BELOW TO SEND MANUALLY:* --- {{ $('Prepare Blueprint').item.json.output[0].content[0].text }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C0A2Z9HEKL7",
          "cachedResultName": "all-harvex"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "93786273-3ce2-4ed7-b60b-38a04219f3f7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        -384
      ],
      "parameters": {
        "color": 7,
        "width": 752,
        "height": 304,
        "content": "## Qualified Lead Actions \nIf the lead is  qualified,  the CRM is updated by qualifying the person and  GPT-4 is used to draft a custom insurance blueprint. This blueprint is sent to the qualified leads via email"
      },
      "typeVersion": 1
    },
    {
      "id": "2bfc95eb-8abc-4156-8686-447eeb4cc4e4",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 240,
        "content": "## Unqualified Lead Actions\nIf the lead is unqualified the CRM updates and alerts the team via Slack with the reason for disqualification."
      },
      "typeVersion": 1
    },
    {
      "id": "cf5c856f-2ab4-4282-93d4-f76317fc4474",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -16
      ],
      "parameters": {
        "color": 7,
        "width": 304,
        "height": 128,
        "content": "## Error Handling\nIf the email fails to send, this alerts the team via Slack with the generated proposal text so it can be sent manually."
      },
      "typeVersion": 1
    },
    {
      "id": "6e792749-4302-494f-979e-cea409a3f17a",
      "name": "Update record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -1008,
        112
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appLkiHBdG20uxDwJ",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ",
          "cachedResultName": "Leads"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblCyRuAtVAL3Y7sx",
          "cachedResultUrl": "https://airtable.com/appLkiHBdG20uxDwJ/tblCyRuAtVAL3Y7sx",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "name": "={{ $json.Name }}",
            "Email": "={{ $json.Email }}",
            "Status": "Unqualified",
            "Call summary": "={{ $json['Call summary '] }}",
            "Phone number": "={{ $json['phone number'] }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Phone number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Qualify",
                  "value": "Qualify"
                },
                {
                  "name": "Unqualified",
                  "value": "Unqualified"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Type of Insurance",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Type of Insurance",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Call summary",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Call summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "11fd4232-d010-4a82-8441-87d931a87a5c",
      "name": "Clean data",
      "type": "n8n-nodes-base.set",
      "position": [
        -1440,
        -192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3ef69e3f-d0f3-4a2b-9053-09ff0a29c8b7",
              "name": "Call summary ",
              "type": "string",
              "value": "={{ $json.body.message.analysis.summary }}"
            },
            {
              "id": "0fd7150d-dcab-45d2-a3d6-ea34cab8b3ad",
              "name": "Success",
              "type": "string",
              "value": "={{ $json.body.message.analysis.successEvaluation }}"
            },
            {
              "id": "6a36be18-d14d-464e-be73-77067506e986",
              "name": "date",
              "type": "string",
              "value": "={{ $json.body.message.artifact.variableValues.date }}"
            },
            {
              "id": "7cf9a270-032d-42ba-a54c-2bc547bdb4a1",
              "name": "Time",
              "type": "string",
              "value": "={{ $json.body.message.artifact.variableValues.time }}"
            },
            {
              "id": "1dc62117-15c7-45a8-8555-a308293dd932",
              "name": "Email",
              "type": "string",
              "value": "={{ $json.body.message.artifact.variableValues.email }}"
            },
            {
              "id": "e81fc088-42ac-4d98-90f1-a707817458e2",
              "name": "Name",
              "type": "string",
              "value": "={{ $json.body.message.assistant.variableValues.name }}"
            },
            {
              "id": "dba3ea41-4800-4cf0-9cdb-4bb99a139d05",
              "name": "phone number",
              "type": "string",
              "value": "={{ $json.body.message.call.customer.number }}"
            },
            {
              "id": "7538ac1c-c843-46d1-8110-99b24cc4b713",
              "name": "Type of Insurance",
              "type": "string",
              "value": "={{ $json.body.message.artifact.messages[4].message }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "active": false,
  "settings": {},
  "versionId": "c3e7e4ab-8c7f-443d-8e00-3ab2460fd07c",
  "connections": {
    "Post call": {
      "main": [
        [
          {
            "node": "Clean data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean data": {
      "main": [
        [
          {
            "node": "Is Qualified ?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update record": {
      "main": [
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Qualified ?": {
      "main": [
        [
          {
            "node": "Update record1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        [],
        [
          {
            "node": "Error Handling",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update record1": {
      "main": [
        [
          {
            "node": "Prepare Blueprint",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a record": {
      "main": [
        [
          {
            "node": "Vapi call",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Blueprint": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Create a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}