Génération de séries d'e-mails dynamiques en utilisant le contexte d'exécution et des données externes
Ceci est unLead Nurturing, Multimodal AIworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme Webhook, Octave, HttpRequest, Agent, LmChatAnthropic. Utiliser Octave, LLM et des données externes pour générer des séries d'e-mails personnalisés
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API Anthropic
Nœuds utilisés (11)
Catégorie
{
"name": "Generate dynamic email sequences with runtime context and external data",
"tags": [],
"nodes": [
{
"id": "sticky-note-main",
"name": "Note adhésive - Aperçu principal",
"type": "n8n-nodes-base.stickyNote",
"position": [
450,
-700
],
"parameters": {
"color": 1,
"width": 450,
"height": 500,
"content": "🎯 DYNAMIC EMAIL SEQUENCES WITH RUNTIME CONTEXT\n\nFOR: Growth teams, SDRs, outbound marketers who\nwant to reference real-time prospect information.\n\nSOLVES: Static sequences that can't reference what's\nactually happening at prospect companies right now.\nYou know they're hiring/launched/got funding but\ncan't dynamically reference these timely events.\n\nWORKS:\n1. Webhook gets lead data\n2. External source finds timely context\n3. LLM processes context data\n4. Octave generates sequences with context\n5. Sequences sent to email platform\n\nSETUP: External data source + LLM + Octave\nsequence agent + email platform credentials\n\nCUSTOMIZE: Replace AI agent with your data source\n(jobs, news, enrichment). Configure runtime context\n(WHAT data is) and instructions (HOW to use it).\nCan apply to individual emails or all emails."
},
"typeVersion": 1
},
{
"id": "sticky-note-webhook",
"name": "Note adhésive - Configuration Webhook",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
-150
],
"parameters": {
"color": 2,
"width": 190,
"height": 100,
"content": "🚀 START HERE\nReplace webhook path.\nConfigure lead source."
},
"typeVersion": 1
},
{
"id": "sticky-note-research",
"name": "Note adhésive - Recherche de contexte",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-150
],
"parameters": {
"color": 4,
"width": 190,
"height": 100,
"content": "🔍 CONTEXT RESEARCH\nReplace with your data source.\nJob boards, news, enrichment."
},
"typeVersion": 1
},
{
"id": "sticky-note-llm",
"name": "Note adhésive - Traitement LLM",
"type": "n8n-nodes-base.stickyNote",
"position": [
140,
-300
],
"parameters": {
"color": 5,
"width": 190,
"height": 100,
"content": "🧠 LLM PROCESSING\nAdd your LLM credentials.\nCustomize context extraction."
},
"typeVersion": 1
},
{
"id": "sticky-note-octave",
"name": "Note adhésive - Runtime Octave",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
-150
],
"parameters": {
"color": 3,
"width": 190,
"height": 100,
"content": "⚡ RUNTIME CONTEXT\nOctave + external data.\nConfigure context & instructions."
},
"typeVersion": 1
},
{
"id": "sticky-note-email",
"name": "Note adhésive - Plateforme d'e-mail",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-150
],
"parameters": {
"color": 6,
"width": 190,
"height": 100,
"content": "📧 EMAIL PLATFORM\nDynamic sequences to campaign.\nUpdate platform & variables."
},
"typeVersion": 1
},
{
"id": "07920827-9d73-4099-8b6f-d599be97b929",
"name": "Données prospects Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
120,
0
],
"webhookId": "your-webhook-id-here",
"parameters": {
"path": "your-webhook-path-here",
"options": {}
},
"typeVersion": 2
},
{
"id": "4dc666e8-89dd-4647-8aeb-3880fd4aa59e",
"name": "Recherche contexte entreprise",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
320,
0
],
"parameters": {
"text": "=Output the name of an open role that {{ $json.body.companyDomain }} is hiring for. If you can't find a role they are hiring for, make up a basic one that would make sense for them to hire for. Normalize the job title to something that would be used in an internal email (i.e \"software engineer\" instead of \"Sr. Software Engineer II\"). Output just the name of the role and nothing else, with no pretext or posttext. Do NOT make any justification if you can't find a role, just give a dummy role and nothing else. No \"I wasn't able to find...\" BS.",
"options": {},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "45c0b9e7-a035-4469-8a61-7e919502e715",
"name": "Modèle LLM",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
220,
200
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "your-llm-model",
"cachedResultName": "Your LLM Model"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "Your LLM API Credentials"
}
},
"typeVersion": 1.3
},
{
"id": "5a08a3b4-4a19-4112-b97c-b100db4eefd8",
"name": "Générer séquence avec contexte d'exécution",
"type": "n8n-nodes-octavehq.octave",
"position": [
820,
0
],
"parameters": {
"agentOId": "your-octave-sequence-agent-id",
"jobTitle": "={{ $('Lead Data Webhook').item.json.body.jobTitle }}",
"firstName": "={{ $('Lead Data Webhook').item.json.body.firstName }}",
"operation": "runSequence",
"companyName": "={{ $('Lead Data Webhook').item.json.body.companyName }}",
"companyDomain": "={{ $('Lead Data Webhook').item.json.body.companyDomain }}",
"linkedInProfile": "={{ $('Lead Data Webhook').item.json.body.profileURL }}",
"runtimeContextStep1": "=they are hiring a {{ $json.output }}",
"runtimeInstructionsStep1": "mention the role they're hiring for and that's why you reached out"
},
"credentials": {
"octaveApi": {
"name": "Octave API Credentials"
}
},
"typeVersion": 1
},
{
"id": "4ae4986a-547e-4d67-9d68-0774c1dc9ab7",
"name": "Ajouter prospect à la campagne e-mail",
"type": "n8n-nodes-base.httpRequest",
"position": [
1120,
0
],
"parameters": {
"url": "https://api.instantly.ai/api/v2/leads",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "campaign",
"value": "your-campaign-id-here"
},
{
"name": "email",
"value": "={{ $('Lead Data Webhook').item.json.body.email }}"
},
{
"name": "first_name",
"value": "={{ $('Lead Data Webhook').item.json.body.firstName }}"
},
{
"name": "last_name",
"value": "={{ $('Lead Data Webhook').item.json.body.lastName }}"
},
{
"name": "company_name",
"value": "={{ $('Lead Data Webhook').item.json.body.companyName }}"
},
{
"name": "custom_variables",
"value": "={{ { \"email1\": $json.emails[0].email || \"\", \"subject1\": $json.emails[0].subject || \"\", \"email2\": $json.emails[1].email || \"\", \"subject2\": $json.emails[1].subject || \"\", \"email3\": $json.emails[2].email || \"\", \"subject3\": $json.emails[2].subject || \"\" } }}"
}
]
},
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"name": "Email Platform API Key"
}
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"45c0b9e7-a035-4469-8a61-7e919502e715": {
"ai_languageModel": [
[
{
"node": "4dc666e8-89dd-4647-8aeb-3880fd4aa59e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"07920827-9d73-4099-8b6f-d599be97b929": {
"main": [
[
{
"node": "4dc666e8-89dd-4647-8aeb-3880fd4aa59e",
"type": "main",
"index": 0
}
]
]
},
"4dc666e8-89dd-4647-8aeb-3880fd4aa59e": {
"main": [
[
{
"node": "5a08a3b4-4a19-4112-b97c-b100db4eefd8",
"type": "main",
"index": 0
}
]
]
},
"5a08a3b4-4a19-4112-b97c-b100db4eefd8": {
"main": [
[
{
"node": "4ae4986a-547e-4d67-9d68-0774c1dc9ab7",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Nurturing de leads, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Nalin
@nalinkrishnanPartager ce workflow