Workflow n8n

Automatisation LinkedIn avec n8n : recherche de profils via formulaire

Ce workflow n8n permet d'automatiser la recherche de profils LinkedIn en utilisant un formulaire. Lorsqu'un utilisateur remplit le formulaire, le workflow déclenche une série d'actions pour extraire des informations pertinentes à partir de Google et de LinkedIn. Cela est particulièrement utile pour les recruteurs ou les professionnels du marketing qui cherchent à identifier des candidats ou des contacts potentiels. En utilisant des outils comme Bright Data et GPT-4o-mini, ce processus devient rapide et efficace, éliminant le besoin de recherches manuelles fastidieuses.

  • Étape 1 : Le workflow commence par un déclencheur de formulaire qui active le processus lorsque l'utilisateur soumet ses informations.
  • Étape 2 : Les données du formulaire sont ensuite utilisées pour effectuer une recherche sur LinkedIn via Bright Data, permettant d'extraire les résultats pertinents.
  • Étape 3 : Les résultats sont analysés et filtrés pour ne conserver qu'un profil correspondant.
  • Étape 4 : Si un profil est trouvé, le workflow génère un suivi personnalisé pour la personne et l'entreprise concernée. Enfin, un email est envoyé pour notifier l'utilisateur des résultats de la recherche. Les bénéfices de cette automatisation n8n incluent une réduction significative du temps de recherche et une augmentation de la précision des résultats. Les utilisateurs peuvent ainsi se concentrer sur des tâches à plus forte valeur ajoutée, tout en s'assurant de ne manquer aucune opportunité de contact.
Tags clés :automatisationLinkedInrecherche de profilsBright Datan8n
Catégorie: Form Trigger · Tags: automatisation, LinkedIn, recherche de profils, Bright Data, n8n0

Workflow n8n LinkedIn, recherche de profils, Bright Data : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n LinkedIn, recherche de profils, Bright Data : détail des nœuds

  • Extract Body and Title from Website

    Ce noeud extrait le corps et le titre d'un site web spécifié.

  • When User Completes Form

    Ce noeud déclenche le workflow lorsque l'utilisateur complète un formulaire.

  • Get LinkedIn Entry on Google

    Ce noeud récupère une entrée LinkedIn à partir de Google en utilisant des paramètres spécifiés.

  • Parse Google Results

    Ce noeud analyse les résultats de recherche Google pour en extraire des informations pertinentes.

  • Form Not Found

    Ce noeud gère la réponse lorsque le formulaire n'est pas trouvé.

  • Get only Matching Profiles

    Ce noeud filtre les profils pour ne garder que ceux qui correspondent aux critères spécifiés.

  • Limit to 1 Profile

    Ce noeud limite le résultat à un seul profil.

  • Extract Parsed Results

    Ce noeud extrait les résultats analysés en fonction des options fournies.

  • LinkedIn Profile is Found?

    Ce noeud vérifie si un profil LinkedIn a été trouvé en fonction des conditions spécifiées.

  • Edit Url LinkedIn

    Ce noeud modifie l'URL du profil LinkedIn selon les affectations définies.

  • Edit Company Search

    Ce noeud modifie la recherche d'entreprise selon les affectations spécifiées.

  • Extract Body and Title from Website1

    Ce noeud extrait le corps et le titre d'un site web spécifié, similaire au premier noeud.

  • Get Company on Google

    Ce noeud récupère des informations sur une entreprise à partir de Google en utilisant des paramètres spécifiés.

  • Parse Google Results for Company

    Ce noeud analyse les résultats de recherche Google pour une entreprise afin d'en extraire des informations pertinentes.

  • Split Out

    Ce noeud divise les résultats en fonction des options fournies.

  • Create a Followup for Company and Person

    Ce noeud crée un suivi pour une entreprise et une personne en utilisant des messages spécifiés.

  • Merge

    Ce noeud fusionne plusieurs ensembles de données selon les options définies.

  • Send Email

    Ce noeud envoie un email avec les paramètres spécifiés, y compris le sujet et le contenu HTML.

  • Form Email Sent

    Ce noeud gère la réponse après l'envoi d'un email de formulaire, avec un titre et un message de confirmation.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "nmVATBvrztDxZX6z",
  "meta": {
    "instanceId": "b1f85eae352fde76d801a1a612661df6824cc2e68bfd6741e31305160a737e6e",
    "templateCredsSetupCompleted": true
  },
  "name": "LinkedIn Profile Finder via Form using Bright Data & GPT-4o-mini",
  "tags": [],
  "nodes": [
    {
      "id": "ff6d4985-8b42-46d8-95c8-e80ff102440c",
      "name": "Extract Body and Title from Website",
      "type": "n8n-nodes-base.html",
      "position": [
        1600,
        -1120
      ],
      "parameters": {
        "options": {
          "trimValues": true
        },
        "operation": "extractHtmlContent",
        "dataPropertyName": "body",
        "extractionValues": {
          "values": [
            {
              "key": "title",
              "cssSelector": "title"
            },
            {
              "key": "body",
              "cssSelector": "body"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4da21d9c-59d2-4151-a1ca-5e7a85cf0316",
      "name": "When User Completes Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        580,
        -1120
      ],
      "webhookId": "41d0bffa-f5ca-4df7-b757-ca5a1e472b8a",
      "parameters": {
        "options": {
          "path": "search-user",
          "ignoreBots": true,
          "buttonLabel": "Get References"
        },
        "formTitle": "Sales prospecting",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Person Fullname",
              "placeholder": "Complete the fullname",
              "requiredField": true
            },
            {
              "fieldLabel": "Person's company",
              "placeholder": "Complete the company",
              "requiredField": true
            }
          ]
        },
        "responseMode": "lastNode",
        "formDescription": "Complete the data of the prospect you want to analyze.\n\nA personalized follow-up email with insights and suggested outreach steps will be sent to you:"
      },
      "typeVersion": 2.2
    },
    {
      "id": "644fab8f-66c6-4ae5-984b-7e1e66c265a2",
      "name": "Get LinkedIn Entry on Google",
      "type": "n8n-nodes-brightdata.brightData",
      "position": [
        1280,
        -1120
      ],
      "parameters": {
        "url": "={{ $json.google_search }}",
        "zone": {
          "__rl": true,
          "mode": "list",
          "value": "web_unlocker1",
          "cachedResultName": "web_unlocker1"
        },
        "format": "json",
        "country": {
          "__rl": true,
          "mode": "list",
          "value": "us",
          "cachedResultName": "us"
        },
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "jk945kIuAFAo9bcg",
          "name": "BrightData account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e226ea33-a643-4396-9cbf-53901eeef89f",
      "name": "Parse Google Results",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1920,
        -1120
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=Extract Linkedin profiles from google results (link, fullname, position, company if possible). \n\nReturn a results property with all the parsed results including a property \"match\" if user matches the data entry values \"{{ $('When User Completes Form').item.json[\"Person Fullname\"].trim() }} {{ $('When User Completes Form').item.json[\"Person Position\"].trim() }} {{ $('When User Completes Form').item.json[\"Person's company\"].trim() }}\""
            },
            {
              "content": "=The input text is:\n{{ $json.body }}"
            },
            {
              "content": "=Categories to filter: {{ $('When User Completes Form').item.json.Category.join(',') }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "oKzfvOwieOm4upQ2",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "8018f6c1-037b-4577-ae4c-d2129fe2ecf4",
      "name": "Form Not Found",
      "type": "n8n-nodes-base.form",
      "position": [
        2280,
        -800
      ],
      "webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8",
      "parameters": {
        "operation": "completion",
        "respondWith": "showText",
        "responseText": "=We didn't found a person for \"{{ $('When User Completes Form').item.json[\"Person Fullname\"] }} {{ $('When User Completes Form').item.json[\"Person Fullname\"] }} {{ $('When User Completes Form').item.json[\"Person's company\"] }}\""
      },
      "typeVersion": 1
    },
    {
      "id": "3de33b35-63b5-419d-9719-b217c92767c6",
      "name": "Get only Matching Profiles",
      "type": "n8n-nodes-base.filter",
      "position": [
        1460,
        -820
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "51a15ff2-457c-4a96-bfad-fe6d29a8cd9f",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.match }}",
              "rightValue": "true"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "b7e925b1-3b67-4b17-bcc1-10111ed41c32",
      "name": "Limit to 1 Profile",
      "type": "n8n-nodes-base.limit",
      "position": [
        1740,
        -820
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d4a6a867-6e9b-48d3-9ba2-0d9d2e803e67",
      "name": "Extract Parsed Results",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2340,
        -1120
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "message.content.results"
      },
      "typeVersion": 1
    },
    {
      "id": "daf17e0e-0fc9-45e4-9393-8ba3a60f868e",
      "name": "LinkedIn Profile is Found?",
      "type": "n8n-nodes-base.if",
      "position": [
        1960,
        -820
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "645d85d3-c5cc-4e51-a989-075c0a851449",
              "operator": {
                "type": "object",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json }}",
              "rightValue": 1
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "300da9f8-6c24-4081-af96-ae09a1b513f8",
      "name": "Edit Url LinkedIn",
      "type": "n8n-nodes-base.set",
      "position": [
        940,
        -1120
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6b95685b-3286-4643-bfa1-6335d3f8cb39",
              "name": "google_search",
              "type": "string",
              "value": "=https://www.google.com/search?q=site%3Alinkedin.com%2Fin+{{ encodeURIComponent($json[\"Person Fullname\"].trim() + \" \" + $json[\"Person's company\"].trim()) }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3ffaef02-ee98-4663-9a64-37907943427d",
      "name": "Edit Company Search",
      "type": "n8n-nodes-base.set",
      "position": [
        300,
        -860
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6b95685b-3286-4643-bfa1-6335d3f8cb39",
              "name": "google_search",
              "type": "string",
              "value": "=https://www.google.com/search?q={{ encodeURIComponent($json[\"Person's company\"].trim()) }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "29294eaa-4692-4c1b-806a-11bd32428fdd",
      "name": "Extract Body and Title from Website1",
      "type": "n8n-nodes-base.html",
      "position": [
        860,
        -860
      ],
      "parameters": {
        "options": {
          "trimValues": true
        },
        "operation": "extractHtmlContent",
        "dataPropertyName": "body",
        "extractionValues": {
          "values": [
            {
              "key": "title",
              "cssSelector": "title"
            },
            {
              "key": "body",
              "cssSelector": "body"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e5232b69-eefe-4875-b339-54f7d2787863",
      "name": "Get Company on Google",
      "type": "n8n-nodes-brightdata.brightData",
      "position": [
        540,
        -860
      ],
      "parameters": {
        "url": "={{ $json.google_search }}",
        "zone": {
          "__rl": true,
          "mode": "list",
          "value": "web_unlocker1",
          "cachedResultName": "web_unlocker1"
        },
        "format": "json",
        "country": {
          "__rl": true,
          "mode": "list",
          "value": "us",
          "cachedResultName": "us"
        },
        "requestOptions": {}
      },
      "credentials": {
        "brightdataApi": {
          "id": "jk945kIuAFAo9bcg",
          "name": "BrightData account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a8696ab3-76f0-4b58-93d6-1b73f4c1d83a",
      "name": "Parse Google Results for Company",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        720,
        -420
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=Get first entry matching company {{ $('When User Completes Form').item.json[\"Person's company\"] }}\n\nOutput first entry data in a content property"
            },
            {
              "content": "=The input text is:\n{{ $json.body }}"
            },
            {
              "content": "=Categories to filter: {{ $('When User Completes Form').item.json.Category.join(',') }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "oKzfvOwieOm4upQ2",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "4b4a6ef2-92ae-4dee-aac1-081fb1a2dbd9",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1080,
        -420
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "message.content"
      },
      "typeVersion": 1
    },
    {
      "id": "cbf625d0-097d-47e7-8ab0-fb2da9dc3f7c",
      "name": "Create a Followup for Company and Person",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1500,
        -440
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=Use data to analyze as a buyer persona. Find the best approach to connect for future champion in his company. Give recommendations and a concrete outreach steps.\n\nOutput report as raw html in a propety called content. Use tailwind for styles."
            },
            {
              "content": "=The input text is:\n{{ JSON.stringify($json)}}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "oKzfvOwieOm4upQ2",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "6347e20c-b3f0-42ff-bc31-ddf4d13a4398",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1320,
        -440
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.1
    },
    {
      "id": "4df0fb38-dad4-4eda-876c-591111e98807",
      "name": "Send Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1880,
        -440
      ],
      "webhookId": "1e6e9588-2bc6-4f05-8531-2d7ca8348d0c",
      "parameters": {
        "html": "={{ $json.message.content.content }}",
        "options": {},
        "subject": "Next followup",
        "toEmail": "miquel@n8nhackers.com",
        "fromEmail": "miquel@n8nhackers.com"
      },
      "credentials": {
        "smtp": {
          "id": "z3kiLWNZTH4wQaGy",
          "name": "SMTP account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "5d28cc94-3193-48e6-9bad-f15baf403645",
      "name": "Form Email Sent",
      "type": "n8n-nodes-base.form",
      "position": [
        2120,
        -440
      ],
      "webhookId": "a509f577-231f-435f-b3c2-0fed718f0cc8",
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "Thank you!",
        "completionMessage": "We have sent you an email"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "ea9dab20-4b74-45d0-9bf9-b0c1a884fe81",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Create a Followup for Company and Person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Send Email": {
      "main": [
        [
          {
            "node": "Form Email Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Url LinkedIn": {
      "main": [
        [
          {
            "node": "Get LinkedIn Entry on Google",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit to 1 Profile": {
      "main": [
        [
          {
            "node": "LinkedIn Profile is Found?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Company Search": {
      "main": [
        [
          {
            "node": "Get Company on Google",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Google Results": {
      "main": [
        [
          {
            "node": "Extract Parsed Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Company on Google": {
      "main": [
        [
          {
            "node": "Extract Body and Title from Website1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Parsed Results": {
      "main": [
        [
          {
            "node": "Get only Matching Profiles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When User Completes Form": {
      "main": [
        [
          {
            "node": "Edit Url LinkedIn",
            "type": "main",
            "index": 0
          },
          {
            "node": "Edit Company Search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get only Matching Profiles": {
      "main": [
        [
          {
            "node": "Limit to 1 Profile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn Profile is Found?": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Form Not Found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get LinkedIn Entry on Google": {
      "main": [
        [
          {
            "node": "Extract Body and Title from Website",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Google Results for Company": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Body and Title from Website": {
      "main": [
        [
          {
            "node": "Parse Google Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Body and Title from Website1": {
      "main": [
        [
          {
            "node": "Parse Google Results for Company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a Followup for Company and Person": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n LinkedIn, recherche de profils, Bright Data : pour qui est ce workflow ?

Ce workflow s'adresse aux recruteurs, aux équipes de ressources humaines et aux professionnels du marketing qui cherchent à optimiser leur processus de recherche de profils LinkedIn. Il est adapté aux entreprises de taille moyenne à grande, ainsi qu'aux utilisateurs ayant une connaissance technique intermédiaire des outils d'automatisation.

Workflow n8n LinkedIn, recherche de profils, Bright Data : problème résolu

Ce workflow résout le problème de la recherche manuelle de profils LinkedIn, qui peut être chronophage et inefficace. En automatisant ce processus, les utilisateurs gagnent du temps et réduisent le risque d'erreurs humaines. Après la mise en place de ce workflow, les utilisateurs bénéficient d'une recherche de profils plus rapide et plus précise, leur permettant d'identifier facilement des candidats ou des contacts pertinents.

Workflow n8n LinkedIn, recherche de profils, Bright Data : étapes du workflow

Étape 1 : Lorsque l'utilisateur complète le formulaire, le workflow est déclenché.

  • Étape 1 : Les données du formulaire sont extraites et utilisées pour rechercher des entrées LinkedIn via Bright Data.
  • Étape 2 : Les résultats de la recherche sont analysés et filtrés pour ne garder que les profils correspondants.
  • Étape 3 : Si un profil est trouvé, le workflow crée un suivi pour la personne et l'entreprise.
  • Étape 4 : Un email est envoyé à l'utilisateur pour l'informer des résultats obtenus.

Workflow n8n LinkedIn, recherche de profils, Bright Data : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du formulaire, tels que les champs requis ou la description. Il est également possible d'ajuster les critères de recherche dans les noeuds liés à Bright Data pour cibler des profils spécifiques. Pensez à sécuriser le flux en configurant des options de validation des données et en surveillant les performances du workflow. En outre, vous pouvez intégrer d'autres outils d'automatisation ou de communication selon vos besoins.