Automatisation Gmail avec n8n : gestion d'espionnage efficace
Ce workflow n8n est conçu pour automatiser la gestion d'espionnage via Gmail, facilitant ainsi la collecte et l'analyse d'informations. Dans un contexte où la veille concurrentielle est cruciale, ce processus permet aux entreprises de recevoir des mises à jour pertinentes directement dans leur boîte mail. Grâce à l'automatisation n8n, les utilisateurs peuvent configurer des assignations d'espionnage et recevoir des notifications par email, ce qui leur permet de rester informés sans effort supplémentaire.
- Étape 1 : Le workflow débute avec un déclencheur de formulaire qui permet de créer une nouvelle mission d'espionnage.
- Étape 2 : Les données de la mission sont ensuite traitées par le modèle de chat OpenAI pour générer des instructions pertinentes.
- Étape 3 : Le contenu est ensuite converti en une URL de site web via une requête HTTP, permettant un accès facile aux informations.
- Étape 4 : Deux pages sont ensuite scrappées pour extraire des données précises.
- Étape 5 : Après une attente d'un jour, le workflow évalue si un email doit être envoyé, et si oui, il utilise le service Gmail pour notifier l'utilisateur. Ce processus réduit considérablement le temps consacré à la veille et améliore la réactivité face aux informations critiques, offrant ainsi un avantage concurrentiel significatif.
Workflow n8n Gmail, veille concurrentielle, scraping : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Gmail, veille concurrentielle, scraping : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "aOP0D1cAqzGv7Xa8",
"meta": {
"instanceId": "0a5638e14e0c728ef975d18d109cfb41edae575e3d911724f4f1eccde06a729f"
},
"name": "spy tool",
"tags": [],
"nodes": [
{
"id": "5690844d-5322-4c62-8c83-eb4d4dc9c481",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1400,
340
],
"parameters": {
"model": "gpt-4o",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "ZOKbogCxHnP2W0H5",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "3b1c034f-501b-423c-844f-9cb607fa91e6",
"name": "Gmail",
"type": "n8n-nodes-base.gmailTool",
"position": [
1580,
340
],
"webhookId": "6a510528-22e0-4140-b987-770bb7a138de",
"parameters": {
"sendTo": "tom@sleak.chat",
"message": "={{ $fromAI(\"change\", \"What relevant part has changed on the website?\") }}",
"options": {
"appendAttribution": false
},
"subject": "=Relevant changes on {{ $('parse results').item.json.website_url }}",
"emailType": "text",
"descriptionType": "manual",
"toolDescription": "=Use this tool if you need to send an email, but only if the terms in the instructions mentioned explicitly state so\n"
},
"credentials": {
"gmailOAuth2": {
"id": "jtANm6k92Kl6ent1",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "4d448a02-4569-451e-8be5-59bfc48f36d8",
"name": "parse results",
"type": "n8n-nodes-base.code",
"position": [
1180,
-160
],
"parameters": {
"jsCode": "const parsedObject = JSON.parse($('convert message to website url & instruction').first().json.choices[0].message.content);\n\nreturn parsedObject"
},
"typeVersion": 2
},
{
"id": "238298c4-5bba-4ac1-b3cc-ab5a28888560",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
-120
],
"parameters": {
"width": 260,
"height": 180,
"content": "## Note: almost never works right away\nAdjust the prompts in the 'Tools agent' and 'Gmail' node as desired to steer the agent's behavior in the right direction"
},
"typeVersion": 1
},
{
"id": "0d519c06-aa30-4a33-895f-9185936d27cf",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
100
],
"parameters": {
"width": 150,
"height": 80,
"content": "Connect your Firecrawl account"
},
"typeVersion": 1
},
{
"id": "9e327bbe-0096-4a4d-aec2-2e4cae7d91bd",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
80
],
"parameters": {
"width": 150,
"height": 80,
"content": "Connect your own OpenAI account\n"
},
"typeVersion": 1
},
{
"id": "30ce0e22-f536-462f-8f94-f3fd92ae036f",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1660,
300
],
"parameters": {
"width": 150,
"height": 80,
"content": "Connect your own Gmail account\n"
},
"typeVersion": 1
},
{
"id": "bc003781-3d91-49b6-b6bb-b2970b39256a",
"name": "convert message to website url & instruction",
"type": "n8n-nodes-base.httpRequest",
"position": [
940,
-160
],
"parameters": {
"url": "https://api.openai.com/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"gpt-4o-2024-08-06\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"convert the following message to a website url (just the plain text url, NOT formatted or in markdown) and prompt to AI. Make the prompt as verbose as possible. Message: {{ $('New espionage assignment').first().json.assignment_instructions }}\"\n }\n ],\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"name\": \"variable_extraction\",\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"website_url\": { \"type\": \"string\" },\n \"prompt\": { \"type\": \"string\" }\n },\n \"required\": [\"website_url\", \"prompt\"],\n \"additionalProperties\": false\n },\n \"strict\": true\n }\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "ZOKbogCxHnP2W0H5",
"name": "OpenAi account"
}
},
"typeVersion": 4.2
},
{
"id": "6a8c172d-ac39-4cb0-b601-39fc770695ed",
"name": "New espionage assignment",
"type": "n8n-nodes-base.formTrigger",
"position": [
700,
-160
],
"webhookId": "7470334f-93e1-47af-9521-d3a232c38b13",
"parameters": {
"options": {},
"formTitle": "New espionage assignment",
"formFields": {
"values": [
{
"fieldLabel": "assignment_instructions"
}
]
}
},
"notesInFlow": false,
"typeVersion": 2.2
},
{
"id": "c5c64e5c-88de-45e3-bb9b-4096e74a6e83",
"name": "wait 1 day",
"type": "n8n-nodes-base.wait",
"position": [
940,
80
],
"webhookId": "22e689e4-b93d-4c59-81e5-43c070833454",
"parameters": {
"unit": "days",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "62a278ff-ed00-4e54-a608-001237551113",
"name": "scrape page - 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
700,
80
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/scrape",
"method": "POST",
"options": {},
"jsonBody": "={\n \"url\": \"{{ $('parse results').item.json.website_url }}\",\n \"formats\": [\n \"markdown\"\n ],\n \"onlyMainContent\": true,\n \"waitFor\": 5000\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "h2XRcXzLcEfvDVKb",
"name": "Unnamed credential"
},
"httpHeaderAuth": {
"id": "FoyIka0WgFG4FPxA",
"name": "Header Auth account 2"
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "89c15d8f-7f8e-4391-b24a-07579964ca5c",
"name": "scrape page - 2",
"type": "n8n-nodes-base.httpRequest",
"position": [
1180,
80
],
"parameters": {
"url": "https://api.firecrawl.dev/v1/scrape",
"method": "POST",
"options": {},
"jsonBody": "={\n \"url\": \"{{ $('parse results').item.json.website_url }}\",\n \"formats\": [\n \"markdown\"\n ],\n \"onlyMainContent\": true,\n \"waitFor\": 5000\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "FoyIka0WgFG4FPxA",
"name": "Header Auth account 2"
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "7b148c5b-d4ae-498a-b7ef-2ed4ecc0a665",
"name": "send e-mail?",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1420,
80
],
"parameters": {
"text": "={{ $('parse results').item.json.prompt }}\n\nNOTE: ONLY send an email if the situation meets the above condition. Otherwise, do NOT use the tool\n\nNOTE: this concerns differences between the \"old version page\" (scrape from yesterday) and \"new version page\" (scrape from now)",
"options": {
"systemMessage": "=old version page: \\n\\n {{ JSON.stringify($('scrape page - 1').item.json[\"data\"][\"markdown\"]) }} \\n\\n /// \\n\\n new version page: \\n\\n {{ JSON.stringify($('scrape page - 1').item.json[\"data\"][\"markdown\"]) }}"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "7897d707-2c27-43bf-9ea0-90ab7996bf4a",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
920,
-260
],
"parameters": {
"width": 150,
"height": 80,
"content": "Connect your own OpenAI account\n"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "dec23eea-1590-4418-ab2b-1cb4a6ccfdc6",
"connections": {
"Gmail": {
"ai_tool": [
[
{
"node": "send e-mail?",
"type": "ai_tool",
"index": 0
}
]
]
},
"wait 1 day": {
"main": [
[
{
"node": "scrape page - 2",
"type": "main",
"index": 0
}
]
]
},
"send e-mail?": {
"main": [
[
{
"node": "scrape page - 1",
"type": "main",
"index": 0
}
]
]
},
"parse results": {
"main": [
[
{
"node": "scrape page - 1",
"type": "main",
"index": 0
}
]
]
},
"scrape page - 1": {
"main": [
[
{
"node": "wait 1 day",
"type": "main",
"index": 0
}
]
]
},
"scrape page - 2": {
"main": [
[
{
"node": "send e-mail?",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "send e-mail?",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"New espionage assignment": {
"main": [
[
{
"node": "convert message to website url & instruction",
"type": "main",
"index": 0
}
]
]
},
"convert message to website url & instruction": {
"main": [
[
{
"node": "parse results",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Gmail, veille concurrentielle, scraping : pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises de toutes tailles souhaitant optimiser leur veille concurrentielle. Il est particulièrement utile pour les équipes marketing et commerciales qui cherchent à automatiser la collecte d'informations et à améliorer leur efficacité. Un niveau technique de base est recommandé pour la personnalisation.
Workflow n8n Gmail, veille concurrentielle, scraping : problème résolu
Ce workflow résout le problème de la gestion manuelle des missions d'espionnage, qui peut être chronophage et sujette à des erreurs. En automatisant le processus, les utilisateurs éliminent les frustrations liées à la recherche d'informations et à la gestion des notifications. Le résultat est une veille concurrentielle plus efficace, permettant aux entreprises de réagir rapidement aux changements du marché.
Workflow n8n Gmail, veille concurrentielle, scraping : étapes du workflow
Étape 1 : Le workflow commence par un déclencheur de formulaire pour créer une nouvelle mission d'espionnage.
- Étape 1 : Les informations sont envoyées au modèle de chat OpenAI pour générer des instructions.
- Étape 2 : Ces instructions sont converties en une URL de site web via une requête HTTP.
- Étape 3 : Deux pages sont scrappées pour extraire des données pertinentes.
- Étape 4 : Après une attente d'un jour, le système vérifie si un email doit être envoyé.
- Étape 5 : Si nécessaire, un email est envoyé via Gmail pour notifier l'utilisateur des résultats.
Workflow n8n Gmail, veille concurrentielle, scraping : guide de personnalisation
Pour personnaliser ce workflow, commencez par ajuster le déclencheur de formulaire en fonction de vos besoins spécifiques. Modifiez les paramètres du modèle OpenAI pour affiner les instructions générées. Vous pouvez également changer les URLs dans les noeuds de scraping pour cibler d'autres sites web. Assurez-vous que les paramètres de l'email dans le noeud Gmail correspondent à votre configuration. Enfin, vous pouvez ajouter des conditions supplémentaires pour affiner l'envoi des notifications.