{
  "id": "tD7hMNAA1AEsTKaW",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Full Contact Enrichment Workflow",
  "tags": [
    {
      "id": "hAedgKcLY27GKG4G",
      "name": "Video 1",
      "createdAt": "2025-09-18T19:21:14.139Z",
      "updatedAt": "2025-09-18T19:21:14.139Z"
    }
  ],
  "nodes": [
    {
      "id": "c5dcda10-f5f4-4d37-90d6-b837954730c7",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -400,
        256
      ],
      "parameters": {
        "options": {},
        "formTitle": "Linkedin",
        "formFields": {
          "values": [
            {
              "fieldType": "dropdown",
              "fieldLabel": "What Are You Searching For?",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Find Email"
                  },
                  {
                    "option": "Find Phone"
                  },
                  {
                    "option": "Find Linkedin"
                  },
                  {
                    "option": "Find All"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Full Name"
            },
            {
              "fieldLabel": "Company Name"
            },
            {
              "fieldLabel": "Email"
            },
            {
              "fieldLabel": "Phone"
            },
            {
              "fieldLabel": "Linkedin"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "260a38cb-6e6a-40b3-857b-41130407d70d",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -176,
        224
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Find Email",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "dad0017d-6f10-46ea-8331-6e1b28eecdf6",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['What Are You Searching For?'] }}",
                    "rightValue": "=Find Email"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Find Phone",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "329df518-6700-4d66-8bee-a36fdc599a23",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['What Are You Searching For?'] }}",
                    "rightValue": "=Find Phone"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Find Linkedin",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "3569aa72-74c8-49ce-9dad-4fd55536d807",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['What Are You Searching For?'] }}",
                    "rightValue": "=Find Linkedin"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Find All",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8831e967-4f79-4e4e-a26c-c10739dc6a1f",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json['What Are You Searching For?'] }}",
                    "rightValue": "=Find All"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "5d70a53a-0d0b-4983-9696-6c9356593ef6",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        272,
        336
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "30e260a2-c643-449a-a0ba-b478fc871629",
      "name": "Switch1",
      "type": "n8n-nodes-base.switch",
      "position": [
        496,
        352
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Failed",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "5aec486c-48bd-408a-8309-b59acaa32ef7",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "=failed"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Finished",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "82f7bbbf-2bd5-439a-844d-b071eefbcf49",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "=finished"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "106cdb8f-223c-4783-aecf-627a0bb76434",
      "name": "Email Finder",
      "type": "@wizaco/n8n-nodes-wiza.wiza",
      "position": [
        48,
        160
      ],
      "parameters": {
        "additionalFields": {}
      },
      "credentials": {
        "wizaApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "10e8b880-1591-4b0f-b819-8fb07b24a49e",
      "name": "Phone Finder",
      "type": "@wizaco/n8n-nodes-wiza.wiza",
      "position": [
        48,
        352
      ],
      "parameters": {
        "operation": "phoneFinder",
        "additionalFields": {}
      },
      "credentials": {
        "wizaApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "383c252b-e565-4b21-8edb-cd55a45342bf",
      "name": "Linkedin Finder",
      "type": "@wizaco/n8n-nodes-wiza.wiza",
      "position": [
        48,
        544
      ],
      "parameters": {
        "operation": "linkedinFinder",
        "additionalFields": {}
      },
      "credentials": {
        "wizaApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4549186a-7149-43f1-a458-16ab19a61ef7",
      "name": "Failed To Find Enrichment",
      "type": "n8n-nodes-base.form",
      "position": [
        720,
        160
      ],
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "Failed To Find Enrichment Data",
        "completionMessage": "The Wiza Back-End Could Not Find any Enrichment Data from the provided information"
      },
      "typeVersion": 2.3
    },
    {
      "id": "51a3f99b-e8e0-440b-9721-b4fb53fae59a",
      "name": "Success Message Form",
      "type": "n8n-nodes-base.form",
      "position": [
        1168,
        544
      ],
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "Success!",
        "completionMessage": "Your new lead has been successfully added to your CRM"
      },
      "typeVersion": 2.3
    },
    {
      "id": "c9f5a42b-6c19-4c1b-8deb-ce4e5d912ef1",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        944,
        544
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "first_name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "first_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "last_name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "last_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "phone_number",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "phone_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company_name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "company_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "website",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "job_title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "job_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedin_profile",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "linkedin_profile",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company_url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "company_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 307447212,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UjUtEho9_Lg5ByZOr-HBco7nrYgZvqksNBuQhU_HndE/edit#gid=307447212",
          "cachedResultName": "Leads 2025-09-30"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1UjUtEho9_Lg5ByZOr-HBco7nrYgZvqksNBuQhU_HndE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UjUtEho9_Lg5ByZOr-HBco7nrYgZvqksNBuQhU_HndE/edit?usp=drivesdk",
          "cachedResultName": "Leads List"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "78552061-9ad8-4dd4-8a33-197784392e71",
      "name": "Clean Up",
      "type": "n8n-nodes-base.code",
      "position": [
        720,
        352
      ],
      "parameters": {
        "jsCode": "// n8n Function node\n// Input: array of enrichment results (email, phone, none)\n// Output: single normalized lead object\n\nreturn [\n  {\n    json: (() => {\n      // Merge all records into one object\n      const all = items.map(i => i.json);\n\n      const base = all[0]; // take the first as default since all share same name/company\n\n      // Find best email (from enrichment_level=email or from emails array)\n      const emailRecord = all.find(r => r.email) || {};\n      const email = emailRecord.email || (emailRecord.emails?.[0]?.email) || null;\n\n      // Find best phone\n      const phoneRecord = all.find(r => r.phone_number) || {};\n      const phone = phoneRecord.phone_number || (phoneRecord.phones?.[0]?.number) || null;\n\n      return {\n        first_name: base.name?.split(\" \")[0] || null,\n        last_name: base.name?.split(\" \").slice(1).join(\" \") || null,\n        email: email,\n        phone_number: phone,\n        company_name: base.company || null,\n        website: base.company_domain || null,\n        location: base.location || null,\n        job_title: base.title || null,\n        linkedin_profile: base.linkedin_profile_url || null,\n        company_url: base.company_domain || null\n      };\n    })()\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "a8a70914-8bba-43b5-9c16-f3226fb78103",
      "name": "Create or update a contact",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        944,
        352
      ],
      "parameters": {
        "email": "={{ $json.email }}",
        "options": {},
        "authentication": "appToken",
        "additionalFields": {
          "city": "={{ $json.location }}",
          "jobTitle": "={{ $json.job_title }}",
          "lastName": "={{ $json.last_name }}",
          "firstName": "={{ $json.first_name }}",
          "companyName": "={{ $json.company_name }}",
          "linkedinUrl": "={{ $json.linkedin_profile }}",
          "phoneNumber": "={{ $json.phone_number }}"
        }
      },
      "credentials": {
        "hubspotAppToken": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "92cee164-88e6-479e-af30-94ff4933b201",
      "name": "Insert row",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        944,
        160
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "title",
              "defaultMatch": false
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "location",
              "defaultMatch": false
            },
            {
              "id": "linkedin_profile_url",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "linkedin_profile_url",
              "defaultMatch": false
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "email",
              "defaultMatch": false
            },
            {
              "id": "phone",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "phone",
              "defaultMatch": false
            },
            {
              "id": "company_name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_name",
              "defaultMatch": false
            },
            {
              "id": "company_size",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_size",
              "defaultMatch": false
            },
            {
              "id": "company_type",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_type",
              "defaultMatch": false
            },
            {
              "id": "company_industry",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_industry",
              "defaultMatch": false
            },
            {
              "id": "company_revenue_range",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_revenue_range",
              "defaultMatch": false
            },
            {
              "id": "company_linkedin",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_linkedin",
              "defaultMatch": false
            },
            {
              "id": "company_location",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_location",
              "defaultMatch": false
            },
            {
              "id": "company_domain",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "company_domain",
              "defaultMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "dataTableId": {
          "__rl": true,
          "mode": "list",
          "value": "esfg4aP7UBYpkcGt",
          "cachedResultUrl": "/projects/yzH6t1qmVzBSVjA7/datatables/esfg4aP7UBYpkcGt",
          "cachedResultName": "Leads"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ac0d9a95-d977-4258-91a7-bfc4240dcc53",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        16
      ],
      "parameters": {
        "color": 6,
        "width": 576,
        "height": 1232,
        "content": "## Email Outreach Automation\n\n@[youtube](1o4oREHQgLw)\n\n### Workflow Set-Up\n\n**APIs:**\n- Wiza\n- OpenAI\n- Perplexity\n- Gmail\n\n## Full Documentation\n\nFind all downloadable resources including detailed set up information and database template csv in the [Full Notion Documentation](https://freemezie.notion.site/Email-Outreach-Automation-2d4c8a2a63e080dfa4e8e0fe6ea27894?source=copy_link)\n\n## Workflow Overview\n\nA 100% automated system that enriches LinkedIn leads, researches their companies with AI, and writes personalized cold emails that actually get replies.\n\n ### **1\ufe0f\u20e3 Enrich Leads & Verify Emails**\n- **Wiza Integration:** Submit a LinkedIn URL and Wiza finds verified email, job title, and company data.\n- **Smart Routing:** Failed enrichments are flagged automatically so you never send to bad addresses.\n\n ### **2\ufe0f\u20e3 Research Each Prospect with AI**\n- **Deep Research:** Perplexity AI searches the web for recent news, funding signals, and growth indicators about each lead.\n- **Auto-Context:** All research is passed directly to the email writer for hyper-personalization.\n\n ### **3\ufe0f\u20e3 Generate & Stage Personalized Emails**\n- **Custom Writing:** GPT writes a unique icebreaker email for every person using real research and your case studies.\n- **Draft Ready:** All personalized emails are pushed to Gmail as drafts, ready for review and send."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c8b72ac0-bb78-428a-a105-a5d371e93ab9",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Email Finder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Phone Finder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Linkedin Finder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Email Finder",
            "type": "main",
            "index": 0
          },
          {
            "node": "Phone Finder",
            "type": "main",
            "index": 0
          },
          {
            "node": "Linkedin Finder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "Failed To Find Enrichment",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Clean Up",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean Up": {
      "main": [
        [
          {
            "node": "Create or update a contact",
            "type": "main",
            "index": 0
          },
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Insert row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Finder": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Phone Finder": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Linkedin Finder": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Success Message Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}