E-Mail-Extraktion von Domains mit Apollo API

Fortgeschritten

Dies ist ein Sales-Bereich Automatisierungsworkflow mit 9 Nodes. Hauptsächlich werden Code, HttpRequest, GoogleSheets, ManualTrigger, SplitInBatches und andere Nodes verwendet. E-Mail-Extraktion von Domänen über Apollo API

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "E4K85OV19sy8Jrly",
  "meta": {
    "instanceId": "f46651348590f9c7e3e7fe91218ed49590c553ab737d5cc247951397ff85fa93",
    "templateCredsSetupCompleted": true
  },
  "name": "Domain -> Email Extraction using Apollo API copy",
  "tags": [],
  "nodes": [
    {
      "id": "02646c75-dad3-4b21-8203-e86732374a2c",
      "name": "Bei Klick auf 'Workflow testen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -400,
        -60
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "69175622-b2fb-4a56-83bf-a55290f1c725",
      "name": "Ziele durchlaufen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        40,
        -60
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "5e6af8ff-2bc1-44b4-9523-3e55a785ee4d",
      "name": "Ziel-Domains abrufen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -180,
        -60
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o/edit#gid=0",
          "cachedResultName": "Target Domains"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o/edit?usp=drivesdk",
          "cachedResultName": "Apollo Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "eJnhBFCXl43MdWvb",
          "name": "JKM Sheets"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "884b3766-8d4b-43a3-8a14-e3eee1a3d678",
      "name": "Personen nach Domain abfragen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        -60
      ],
      "parameters": {
        "url": "https://api.apollo.io/v1/mixed_people/search",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"q_organization_domains_list\": [\"{{ $json['Domain To Enrich'] }}\"],\n  \"per_page\": 10,\n  \"page\": 1\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "Your  API KEY "
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "df77689b-ccd3-4638-a981-4cf13fbf8a70",
      "name": "Ergebnisse bereinigen",
      "type": "n8n-nodes-base.code",
      "position": [
        480,
        -60
      ],
      "parameters": {
        "jsCode": "// Function node code\nconsole.log('Initial data:', JSON.stringify(items, null, 2));\n\n// Get the first item since n8n usually wraps data in an array\nconst data = items[0].json;\nconsole.log('Data structure:', JSON.stringify(data, null, 2));\n\n// Now process the people data\nconst people = data.people || [];\n\ntry {\n  return people.map(person => {\n    console.log('Processing person:', JSON.stringify(person, null, 2));\n    return {\n      json: {\n        firstName: person.first_name || '',\n        lastName: person.last_name || '',\n        email: person.email || '',\n        websiteUrl: person.website_url || '',\n        linkedinUrl: person.linkedin_url || '',\n        twitterUrl: person.twitter_url || '',\n        facebookUrl: person.facebook_url || '',\n        phone: person.primary_phone?.number || '',\n        company: {\n          name: person.company_name || '',\n          domain: person.primary_domain || '',\n          foundedYear: person.founded_year || '',\n          logo: person.logo_url || ''\n        },\n        professional: {\n          departments: person.departments || [],\n          seniority: person.seniority || '',\n          functions: person.functions || []\n        }\n      }\n    };\n  });\n} catch (error) {\n  console.log('Error occurred. Full items:', JSON.stringify(items, null, 2));\n  throw new Error(`Error processing data: ${error.message}`);\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "bc0f01b0-3225-4023-9e21-0bcebab00808",
      "name": "Ergebnisse durchlaufen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        680,
        -60
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "65533eb2-a738-4cf3-9cbc-480a911e4fb2",
      "name": "Personeninformationen abrufen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        920,
        -60
      ],
      "parameters": {
        "url": "=https://api.apollo.io/api/v1/people/match?first_name={{ $json.firstName }}&last_name={{ $json.lastName }}&domain={{ $('Get People By Domain').item.json.breadcrumbs[0].value[0] }}&reveal_personal_emails=false&reveal_phone_number=false ",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "Your API Key"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4c369c7e-e79b-4bf1-97d4-25abac4256db",
      "name": "Bereinigung",
      "type": "n8n-nodes-base.code",
      "position": [
        1140,
        -60
      ],
      "parameters": {
        "jsCode": "// Function node to extract specific fields from Apollo response\ntry {\n    const results = items.map(item => {\n        const person = item.json.person; // Access the person object directly\n        \n        return {\n            json: {\n                firstName: person.first_name || '',\n                lastName: person.last_name || '',\n                email: person.email || '',\n                linkedinUrl: person.linkedin_url || '',\n                title: person.title || '',\n                twitter: person.twitter_url || '',\n                facebook: person.facebook_url || '',\n                organizationName: person.employment_history?.[0]?.organization_name || '', // Get current organization from employment history\n                headline: person.headline || '',\n                photoUrl: person.photo_url || ''\n            }\n        };\n    });\n\n    console.log(`Successfully processed ${results.length} records`);\n    return results;\n\n} catch (error) {\n    console.error('Error processing data:', error);\n    throw new Error(`Failed to process data: ${error.message}`);\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "f0eaa1e7-299f-4ec8-ae26-90bbe1483a1e",
      "name": "Ergebnisse in Ergebnistabelle übertragen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1340,
        -60
      ],
      "parameters": {
        "columns": {
          "value": {
            "Email": "={{ $json.email }}",
            "Title": "={{ $json.title }}",
            "Company": "={{ $('Loop Targets').item.json['Domain To Enrich'] }}",
            "Last Name": "={{ $json.lastName }}",
            "Linkedin ": "={{ $json.linkedinUrl }}",
            "First Name": "={{ $json.firstName }}"
          },
          "schema": [
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company",
              "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": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Linkedin ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Linkedin ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 308352805,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o/edit#gid=308352805",
          "cachedResultName": "Results"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1qSlCPA-FqrQZUS7DIqYaZbhdhxZDxIM3xYrswJKEZ-o/edit?usp=drivesdk",
          "cachedResultName": "Apollo Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "eJnhBFCXl43MdWvb",
          "name": "JKM Sheets"
        }
      },
      "typeVersion": 4.5
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3fe93ef2-9ba0-474e-9b44-dbb9f9fa4fd8",
  "connections": {
    "4c369c7e-e79b-4bf1-97d4-25abac4256db": {
      "main": [
        [
          {
            "node": "f0eaa1e7-299f-4ec8-ae26-90bbe1483a1e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "69175622-b2fb-4a56-83bf-a55290f1c725": {
      "main": [
        [],
        [
          {
            "node": "884b3766-8d4b-43a3-8a14-e3eee1a3d678",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "65533eb2-a738-4cf3-9cbc-480a911e4fb2": {
      "main": [
        [
          {
            "node": "4c369c7e-e79b-4bf1-97d4-25abac4256db",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "df77689b-ccd3-4638-a981-4cf13fbf8a70": {
      "main": [
        [
          {
            "node": "bc0f01b0-3225-4023-9e21-0bcebab00808",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bc0f01b0-3225-4023-9e21-0bcebab00808": {
      "main": [
        [
          {
            "node": "69175622-b2fb-4a56-83bf-a55290f1c725",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "65533eb2-a738-4cf3-9cbc-480a911e4fb2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e6af8ff-2bc1-44b4-9523-3e55a785ee4d": {
      "main": [
        [
          {
            "node": "69175622-b2fb-4a56-83bf-a55290f1c725",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "884b3766-8d4b-43a3-8a14-e3eee1a3d678": {
      "main": [
        [
          {
            "node": "df77689b-ccd3-4638-a981-4cf13fbf8a70",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0eaa1e7-299f-4ec8-ae26-90bbe1483a1e": {
      "main": [
        [
          {
            "node": "bc0f01b0-3225-4023-9e21-0bcebab00808",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "02646c75-dad3-4b21-8203-e86732374a2c": {
      "main": [
        [
          {
            "node": "5e6af8ff-2bc1-44b4-9523-3e55a785ee4d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Vertrieb

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes9
Kategorie1
Node-Typen5
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Hueston

Hueston

@hueston

Hueston is a website design and marketing agency passionate about automation. We craft engaging digital experiences while implementing smart marketing strategies that deliver results. Our team specializes in leveraging automation tools to streamline workflows and boost efficiency for our clients. Let us help your business grow through technology-driven solutions.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34