Enrutamiento y respuesta automática de mensajes de LinkedIn (con detección de solicitudes)
Este es unSupport, AIflujo de automatización del dominio deautomatización que contiene 52 nodos.Utiliza principalmente nodos como If, Set, Slack, Notion, Switch, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Enrutamiento y respuesta automática de mensajes de LinkedIn con detección de solicitudes
- •Bot Token de Slack o URL de Webhook
- •Clave de API de Notion
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
Nodos utilizados (52)
Categoría
{
"meta": {
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5f71a0e6-d5ec-4712-9feb-2b10a1b0a3ea",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
0,
0
],
"webhookId": "12a0b328-1d39-44b4-b29d-9ac465cf134b",
"parameters": {
"path": "12a0b328-1d39-44b4-b29d-9ac465cf134b",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "bd66537c-6fe5-4877-9127-3b78af08c499",
"name": "Verificar si es de mí",
"type": "n8n-nodes-base.if",
"position": [
440,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "711303bb-aef2-4cff-b4c7-c2a898e454ac",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.sender_id }}",
"rightValue": "OzJlgZHDXWi0PmxVdqnPOQ"
},
{
"id": "d115500d-8e14-4b8e-b0ed-4e26a895bb37",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sender_id }}",
"rightValue": "9va5ul-NUYejvzb7ADJzuw"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e14aedab-47e9-4811-b991-ee0d00290c39",
"name": "Respuesta, Sin acción",
"type": "n8n-nodes-base.noOp",
"position": [
700,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8adbb07e-4897-4421-b581-c963b754aa2b",
"name": "Nuevo Mensaje",
"type": "n8n-nodes-base.noOp",
"position": [
680,
-140
],
"parameters": {},
"typeVersion": 1
},
{
"id": "39865ae2-a266-47ba-a6fd-c9b1f5d5a931",
"name": "Variables Globales",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5483f235-49d0-404d-82dd-fd5688671044",
"name": "type",
"type": "string",
"value": "={{ $json.body.account_info.type }}"
},
{
"id": "d737da4a-cc6f-4dc5-a8b7-0fd60f6a45b5",
"name": "message",
"type": "string",
"value": "={{ $json.body.message }}"
},
{
"id": "924bd124-4ef1-4f41-8a3d-819d97f053e2",
"name": "message_id",
"type": "string",
"value": "={{ $json.body.message_id }}"
},
{
"id": "c05786b0-b2af-4d87-a111-aae969ce50e9",
"name": "chat_id",
"type": "string",
"value": "={{ $json.body.chat_id }}"
},
{
"id": "342fd20c-81be-42c7-aa85-a525fa9760fb",
"name": "sender",
"type": "string",
"value": "={{ $json.body.sender.attendee_name }}"
},
{
"id": "b40f55d7-928e-436f-90b7-b4048cd80423",
"name": "sender_profile",
"type": "string",
"value": "={{ $json.body.sender.attendee_profile_url }}"
},
{
"id": "efb12c87-42f5-4087-82b8-8dbda5aaf465",
"name": "sender_id",
"type": "string",
"value": "={{ $json.body.sender.attendee_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "3c58401c-cb83-4d71-9469-7563d6ce9c16",
"name": "Botón Slack Presionado",
"type": "n8n-nodes-base.webhook",
"position": [
0,
800
],
"webhookId": "e3182811-630a-4959-b91c-71d8c8093e1c",
"parameters": {
"path": "e3182811-630a-4959-b91c-71d8c8093e1c",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "b87d4806-423b-4656-bbd6-9d0808242cc4",
"name": "Analizar Webhook",
"type": "n8n-nodes-base.set",
"position": [
480,
800
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "94e30709-cf7a-4131-bc89-dbe56f8f3b16",
"name": "body.payload",
"type": "object",
"value": "={{ $json.body.payload }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ee147347-1a88-4e96-9580-d08285e901c0",
"name": "Verificar Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
240,
800
],
"parameters": {
"options": {
"responseCode": 200,
"responseHeaders": {
"entries": [
{
"name": "Content-type",
"value": "application/json"
}
]
}
},
"respondWith": "json",
"responseBody": "={\"challenge\":\"{{ $json.body.challenge }}\"}"
},
"typeVersion": 1
},
{
"id": "ac2cb5e1-394a-4a5c-a999-a56d315bc3ff",
"name": "Verificar si está aprobado",
"type": "n8n-nodes-base.if",
"position": [
1140,
580
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cf275c3e-347d-4028-8209-682f52d540e3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.payload.actions[0].value.action }}",
"rightValue": "approve"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3812b521-2e15-4c24-9883-79ef04fc6cb3",
"name": "Enviar Mensaje de Usuario",
"type": "n8n-nodes-base.slack",
"position": [
4080,
-100
],
"webhookId": "e3624af3-3604-4d6a-b776-e3860b51b24e",
"parameters": {
"text": "=New LinkedIn Message from {{ $('Webhook').item.json.body.sender.attendee_name }}",
"user": {
"__rl": true,
"mode": "id",
"value": "U07G1JBR76W"
},
"select": "user",
"blocksUi": "={\n \"blocks\": [\n {\n \"type\": \"section\",\n \"block_id\": \"profile_card\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"👤*<{{ $('Webhook').item.json.body.sender.attendee_profile_url }}|{{ $('Webhook').item.json.body.sender.attendee_name }}>*\\n\\n💼 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].headline }}\\n\\n📍 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].location }}\\n👥 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].follower_count }} followers | 🔗 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].connections_count }} connections\"\n },\n \"accessory\": {\n \"type\": \"image\",\n \"image_url\": \"{{ $('Set all potential Inputs').item.json.linkedinprofile[0].profile_picture_url }}\",\n \"alt_text\": \"LinkedIn Profile Picture\"\n }\n },\n {\n \"type\": \"section\",\n \"block_id\": \"incoming_message\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"*📩 <https://www.linkedin.com/messaging/thread/{{ $('Webhook').item.json.body.provider_chat_id }}/|New LinkedIn Message>:*\\n> {{ $('Global Variables').item.json.message.replace(/\\n/g, '\\\\n').replace(/\\\"/g, '\\\\\"') }}\"\n }\n },\n {\n \"type\": \"input\",\n \"block_id\": \"ai_response\",\n \"element\": {\n \"type\": \"plain_text_input\",\n \"action_id\": \"response_input\",\n \"multiline\": true,\n \"initial_value\": \"{{ $('AI Agent').item.json.output.output.replace(/\\n/g, '\\\\n').replace(/\\\"/g, '\\\\\"') }}\",\n \"placeholder\": {\n \"type\": \"plain_text\",\n \"text\": \"Edit the AI-generated response before approving...\"\n }\n },\n \"label\": {\n \"type\": \"plain_text\",\n \"text\": \"🤖 Suggested Reply\"\n }\n },\n {\n \"type\": \"actions\",\n \"block_id\": \"actions_block\",\n \"elements\": [\n {\n \"type\": \"button\",\n \"action_id\": \"approve_response\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"✅ Approve\"\n },\n \"style\": \"primary\",\n \"value\": \"{\\\"action\\\":\\\"approve\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n },\n {\n \"type\": \"button\",\n \"action_id\": \"archive_message\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"🗃️ Archive\"\n },\n \"style\": \"danger\",\n \"value\": \"{\\\"action\\\":\\\"archive\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n }\n ]\n }\n ]\n}\n",
"messageType": "block",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "6xKmxBfKWNPnre2E",
"name": "Request Router"
}
},
"typeVersion": 2.3
},
{
"id": "7470b927-8a4d-4421-b6d3-cc55623d77dd",
"name": "Enviar Mensaje de Organización",
"type": "n8n-nodes-base.slack",
"position": [
4080,
60
],
"webhookId": "9a621f5a-854e-4725-81c4-3ce075d87d96",
"parameters": {
"text": "=New LinkedIn Message from {{ $('Webhook').item.json.body.sender.attendee_name }}",
"user": {
"__rl": true,
"mode": "id",
"value": "U07G1JBR76W"
},
"select": "user",
"blocksUi": "={\n \"blocks\": [\n {\n \"type\": \"section\",\n \"block_id\": \"profile_card_org\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"🏢*<{{ $('Webhook').item.json.body.sender.attendee_profile_url }}|{{ $('Webhook').item.json.body.sender.attendee_name }}>*\\n\\n💼 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].headline }}\\n\\n📍 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].location }}\\n👥 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].follower_count }} followers | 🧑💼 {{ $('Set all potential Inputs').item.json.linkedinprofile[0].employee_count }} employees\"\n },\n \"accessory\": {\n \"type\": \"image\",\n \"image_url\": \"{{ $('Set all potential Inputs').item.json.linkedinprofile[0].profile_picture_url }}\",\n \"alt_text\": \"Organization Profile Picture\"\n }\n },\n {\n \"type\": \"section\",\n \"block_id\": \"incoming_message\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"*📩 New LinkedIn Message:*\\n> {{ $('Global Variables').item.json.message.replace(/\\n/g, '\\\\n').replace(/\\\"/g, '\\\\\"') }}\"\n }\n },\n {\n \"type\": \"input\",\n \"block_id\": \"ai_response\",\n \"element\": {\n \"type\": \"plain_text_input\",\n \"action_id\": \"response_input\",\n \"multiline\": true,\n \"initial_value\": \"{{ $('AI Agent').item.json.output.output.replace(/\\n/g, '\\\\n').replace(/\\\"/g, '\\\\\"') }}\",\n \"placeholder\": {\n \"type\": \"plain_text\",\n \"text\": \"Edit the AI-generated response before approving...\"\n }\n },\n \"label\": {\n \"type\": \"plain_text\",\n \"text\": \"🤖 Suggested Reply\"\n }\n },\n {\n \"type\": \"actions\",\n \"block_id\": \"actions_block\",\n \"elements\": [\n {\n \"type\": \"button\",\n \"action_id\": \"approve_response\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"✅ Approve\"\n },\n \"style\": \"primary\",\n \"value\": \"{\\\"action\\\":\\\"approve\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n },\n {\n \"type\": \"button\",\n \"action_id\": \"archive_message\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"🗃️ Archive\"\n },\n \"style\": \"danger\",\n \"value\": \"{\\\"action\\\":\\\"archive\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n }\n ]\n }\n ]\n}\n",
"messageType": "block",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "6xKmxBfKWNPnre2E",
"name": "Request Router"
}
},
"typeVersion": 2.3
},
{
"id": "0c63c0e7-752d-4bd7-ab78-23a1ff4d70ae",
"name": "Enviar Mensaje de No Encontrado",
"type": "n8n-nodes-base.slack",
"position": [
4080,
220
],
"webhookId": "64dddbb2-1bf6-4a5a-884b-057b82596ef1",
"parameters": {
"user": {
"__rl": true,
"mode": "id",
"value": "U07G1JBR76W"
},
"select": "user",
"blocksUi": "={\n \"blocks\": [\n {\n \"type\": \"section\",\n \"block_id\": \"incoming_message\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"*New LinkedIn Message:*\\n> {{ $('Global Variables').item.json.message.replace(/\\n/g, '\\\\n').replace(/\"/g, '\\\\\"') }}\"\n }\n },\n {\n \"type\": \"input\",\n \"block_id\": \"ai_response\",\n \"element\": {\n \"type\": \"plain_text_input\",\n \"action_id\": \"response_input\",\n \"multiline\": true,\n \"initial_value\": \"{{ $json.output.output.replace(/\\n/g, '\\\\n').replace(/\"/g, '\\\\\"') }}\",\n \"placeholder\": {\n \"type\": \"plain_text\",\n \"text\": \"Edit the AI-generated response before approving...\"\n }\n },\n \"label\": {\n \"type\": \"plain_text\",\n \"text\": \"Suggested Reply\"\n }\n },\n {\n \"type\": \"actions\",\n \"block_id\": \"actions_block\",\n \"elements\": [\n {\n \"type\": \"button\",\n \"action_id\": \"approve_response\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"✅ Approve\"\n },\n \"style\": \"primary\",\n \"value\": \"{\\\"action\\\":\\\"approve\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n },\n {\n \"type\": \"button\",\n \"action_id\": \"archive_message\",\n \"text\": {\n \"type\": \"plain_text\",\n \"text\": \"🗃️ Archive\"\n },\n \"style\": \"danger\",\n \"value\": \"{\\\"action\\\":\\\"archive\\\",\\\"message_id\\\":\\\"{{ $('Global Variables').item.json.message_id }}\\\",\\\"channel_id\\\":\\\"{{ $('Global Variables').item.json.chat_id }}\\\"}\"\n }\n ]\n }\n ]\n}\n",
"messageType": "block",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "6xKmxBfKWNPnre2E",
"name": "Request Router"
}
},
"typeVersion": 2.3
},
{
"id": "fb29432d-7603-4b42-902f-7784459dd40d",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-420
],
"parameters": {
"color": 7,
"width": 980,
"height": 720,
"content": "\n## LinkedIn Message Processing\nReceives the LinkedIn message via Unipile api webhook."
},
"typeVersion": 1
},
{
"id": "388d621c-7339-4d74-a2c4-4da9c41a441f",
"name": "Nota Adhesiva11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
320
],
"parameters": {
"color": 7,
"width": 2097,
"height": 693,
"content": "\n## Slack Bot Button Press\nThis workflow gets the button presses from the Slack interface and passes it along to Unipile for processing."
},
"typeVersion": 1
},
{
"id": "13ed0034-df98-46a8-931c-4e87667e624c",
"name": "Decidir Tipo de Mensaje",
"type": "n8n-nodes-base.switch",
"position": [
3760,
-80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "User",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4670af46-5774-4fec-8b12-a608aefa3d89",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Set all potential Inputs').item.json.linkedinprofile[0].type }}",
"rightValue": "user"
}
]
},
"renameOutput": true
},
{
"outputKey": "Organization",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0a484630-343d-4b9a-9bf0-6ef5bd9b1b4b",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Set all potential Inputs').item.json.linkedinprofile[0].type }}",
"rightValue": "organization"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "e4c36cc2-9ad1-4ceb-8698-05079c9c6509",
"name": "Selector de Usuario",
"type": "n8n-nodes-base.switch",
"position": [
680,
800
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "angel",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "27c0a3cc-b768-4aba-bab0-19971fb2d38d",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.payload.user.id }}",
"rightValue": "U07G1JBR76W"
}
]
},
"renameOutput": true
},
{
"outputKey": "max",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b16b07b2-c77b-439f-9acb-e7799dceaa6b",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.payload.user.id }}",
"rightValue": "U035CE97JGM"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "f84186be-8ded-47c5-8bdb-9366c8be59fa",
"name": "Aislar Mensaje y Carga Útil",
"type": "n8n-nodes-base.set",
"position": [
920,
580
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2a9278cb-3f2a-4f90-852a-3ca16b404c58",
"name": "message",
"type": "string",
"value": "={{ $json.body.payload.state.values.ai_response.response_input.value }}"
},
{
"id": "3c16c98d-a7db-42e9-aacd-9ede379b1f49",
"name": "body.payload.actions[0].value",
"type": "object",
"value": "={{ $json.body.payload.actions[0].value }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7dc03482-8c14-4494-a475-3f958a1fd445",
"name": "Aislar Carga Útil",
"type": "n8n-nodes-base.set",
"position": [
920,
820
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f334a7f4-4c85-466c-8278-3da5dd5a2486",
"name": "body",
"type": "object",
"value": "={{ $('Slack Button Press').item.json.body.payload }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "425b2b79-447d-4736-9edf-0033969d64b4",
"name": "Enviar webhook al Flujo de Trabajo del Colega",
"type": "n8n-nodes-base.httpRequest",
"position": [
1140,
820
],
"parameters": {
"url": "https://n8n.cloud/webhook/89659f10-574e-s42c-530d-e7dd9158d177",
"method": "POST",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "4c36fc5c-75a5-4279-9555-13fdfa033510",
"name": "Enviar Mensaje a LinkedIn via Unipile",
"type": "n8n-nodes-base.httpRequest",
"position": [
1380,
520
],
"parameters": {
"url": "=https://api9.unipile.com:13976/api/v1/chats/{{ $json.body.payload.actions[0].value.channel_id }}/messages",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "text",
"value": "={{ $('Isolate Message and Payload').item.json.message }}"
}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "VfYHlcsosNuUS2YD",
"name": "unipile angel"
}
},
"typeVersion": 4.2
},
{
"id": "bed8608b-b474-4472-87ad-1e3454799a81",
"name": "Eliminar Mensaje Aprobado de Slack",
"type": "n8n-nodes-base.slack",
"position": [
1680,
520
],
"webhookId": "08e7c073-569a-4400-aa60-80c7cddf8b03",
"parameters": {
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('User Switcher').item.json.body.payload.channel.id }}"
},
"operation": "delete",
"timestamp": "={{ $('User Switcher').item.json.body.payload.container.message_ts }}"
},
"credentials": {
"slackApi": {
"id": "6xKmxBfKWNPnre2E",
"name": "Request Router"
}
},
"typeVersion": 2.3
},
{
"id": "b79429a6-3b46-4898-a933-3b6ec77a1f97",
"name": "Eliminar Mensaje Denegado de Slack",
"type": "n8n-nodes-base.slack",
"position": [
1680,
720
],
"webhookId": "70630dad-c2a5-4c40-aef3-070994ce4b83",
"parameters": {
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('User Switcher').item.json.body.payload.channel.id }}"
},
"operation": "delete",
"timestamp": "={{ $('User Switcher').item.json.body.payload.container.message_ts }}"
},
"credentials": {
"slackApi": {
"id": "6xKmxBfKWNPnre2E",
"name": "Request Router"
}
},
"typeVersion": 2.3
},
{
"id": "9a475e01-a250-44f2-8cc6-4ef60aedaa36",
"name": "Agente de IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3220,
-80
],
"parameters": {
"text": "=Sender Name: {{ $('Isolate parent workflow data for AI').item.json.sender }}\nSender Message: {{ $('Isolate parent workflow data for AI').item.json.message }}\nMy Name: Your Name\n\nIf found, the linkedin profile will be below, pay close attention to the number of followers and connections: \n{{ $('Set all potential Inputs').item.json.linkedinprofile.toJsonString() }}",
"options": {
"systemMessage": "=You are an expert professional assistant designed to help generate smart, personalized responses to LinkedIn messages.\n\nYou will be provided with:\n1. The **incoming message** and name from a LinkedIn user.\n2. A **database of past requests and responses**. These are known message types and the preferred replies.\n3. Context about the assistant's voice and tone.\n\n### Your Objective:\n- First, scan the database for any message that closely matches the incoming LinkedIn message. If a match is found, use the **corresponding response** as a base — you may slightly tailor it if needed (e.g., change names or dates).\n- If no close match is found, generate a **new, thoughtful reply** based on the message content, tone guidelines, and best practices in business networking. If you do not have a direct link or URL to provide from the Request Database, do not reference a website or URL. Instead say a variation of let me get back to you on that and see what I can find. \n\n### Tone Guidelines:\n- Friendly, confident, and professional — but never robotic.\n- Lightly personalized. Use the sender’s name if available.\n- Avoid sounding like a sales pitch.\n- Keep replies concise and natural, like something you'd actually send on LinkedIn.\n\n### When generating a new message:\n- Acknowledge the sender’s message.\n- Add a relevant, helpful comment or question to continue the conversation.\n- Keep the tone warm and open-ended.\n\n### Output format:\nOnly output the message text that should be sent to the user. Do not explain your reasoning. If you do not have a direct link to provide, do not reference a website or URL. Instead say let me get back to you on that and see what I can find. \n\nLet’s begin.\nRequest Database:\n\n{{ $json.dbObject.join('\\n\\n----\\n\\n') }}\n\nWhen responding, use the following format:\n{\n\t\"output\": \"message response\",\n\t\"found\": true\n}\nFor output output the message response, for found output a boolean, true if an example is found in the Request Database, false if a response is not found. The output is going to slack so ensure you escape your outputs like new lines. "
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "53011c4c-b9aa-4b47-84c8-060e4b7a2db9",
"name": "Memoria Simple",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
3340,
160
],
"parameters": {
"sessionKey": "={{ $('Isolate parent workflow data for AI').item.json.chatid }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "b5eb7520-c887-4a72-89d0-d616c24fdfca",
"name": "Modelo de Chat OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3120,
180
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "QpFZ2EiM3WGl6Zr3",
"name": "Marketing OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "b405f410-4d76-43f9-b21c-b6cb363daa43",
"name": "Analizador de Salida Estructurada",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3500,
160
],
"parameters": {
"jsonSchemaExample": "{\n\t\"output\": \"message response\",\n\t\"found\": true\n}"
},
"typeVersion": 1.2
},
{
"id": "8ad9d20b-07a4-46f2-9dbb-5d3d8d502641",
"name": "Nota Adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
3020,
-400
],
"parameters": {
"color": 7,
"width": 668,
"height": 718,
"content": "\n## Generate Automated response\nThe AI bot receives not only the message from LinkedIn, but also LinkedIn user context, such as the number of followers and connections, allowing for tailored responses. For example if a user asks to meet, but they don't meet a certain number of followers threshold, they are politely declined. However if an influencer reaches out, they are automatically given a booking link to ensure that high priority requests are immediately followed up on. "
},
"typeVersion": 1
},
{
"id": "8d593035-111a-45dc-93ea-950aad7b0ebb",
"name": "Aislar datos del flujo de trabajo principal para IA",
"type": "n8n-nodes-base.set",
"position": [
2260,
20
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "91a1191e-bac0-4b8b-b263-a03c63435470",
"name": "sender",
"type": "string",
"value": "={{ $('Global Variables').item.json.sender }}"
},
{
"id": "0f8c17c8-d598-4840-8b89-8dbdcd529231",
"name": "message",
"type": "string",
"value": "={{ $('Global Variables').item.json.message }}"
},
{
"id": "c9132b69-5e0e-4ccf-86bb-0e4cfa734860",
"name": "chatid",
"type": "string",
"value": "={{ $('Global Variables').item.json.chat_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d267a541-a739-49b8-a2f6-b8afbb6cc837",
"name": "Obtener Base de Datos del Directorio del Enrutador de Solicitudes",
"type": "n8n-nodes-base.notion",
"position": [
2460,
20
],
"parameters": {
"options": {},
"resource": "databasePage",
"operation": "getAll",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "1da5b6e0-c94f-8086-80b6-eab8e340d60e",
"cachedResultUrl": "https://www.notion.so/1da5b6e0c94f808680b6eab8e340d60e",
"cachedResultName": "RequestRouterDB"
}
},
"credentials": {
"notionApi": {
"id": "2B3YIiD4FMsF9Rjn",
"name": "Angelbot Notion"
}
},
"typeVersion": 2.2
},
{
"id": "af762a13-5774-4608-a221-7860dce3f27c",
"name": "Formatear datos de BD para Contexto de IA",
"type": "n8n-nodes-base.set",
"position": [
2660,
20
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c4ac8c33-a220-4c07-bc0d-dc7ba7cc068e",
"name": "dbObject",
"type": "string",
"value": "=Request Example: {{ $json.name }}\n--\nRequest Description: {{ $json.property_request_description }}\n--\nRequest Action: {{ $json.property_request_action }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "88da9528-2a4c-426a-bd27-8caa47bed3f5",
"name": "Agregar objetos de BD en un elemento",
"type": "n8n-nodes-base.aggregate",
"position": [
2860,
20
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "dbObject"
}
]
}
},
"typeVersion": 1
},
{
"id": "204ce89b-9443-4ece-8385-cb3b59bd5a0b",
"name": "Nota Adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2180,
-400
],
"parameters": {
"color": 7,
"width": 826,
"height": 700,
"content": "\n## Get routing Database data\nAn AI bot that does not get smarter over time is not a useful bot. That is why this bot references a shared internal database where requests routing can be updated without having to touch the n8n workflows. When a request comes in that does not have a standardized process, the AI will generate a response based on its model training. You can use this as a starting point, but when this becomes a pattern, simply updating the notion database instantly upgrades the AI bot. Not only that, but others can update the database, not only giving the AI context, but also creating a centralized location for standardized processes for handling different request types. This can be adapted for any platform, not just linkedIn, such as shared email inboxes, shared social media pages, and even for support requests. "
},
"typeVersion": 1
},
{
"id": "d4a894d6-334b-4abe-9d1a-0e449da46b6f",
"name": "Nota Adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
920,
-540
],
"parameters": {
"color": 7,
"width": 1246,
"height": 840,
"content": ")\n## Enrich LinkedIn Data with User or Org Data from Unipile\nLinkedIn messages arrive from one of two object types, users or organizations. This workflow extracts the user data and passes it along. If the user is not found, then the Organization endpoint is searched instead. If it's found, it send that, otherwise it sends a not found object. "
},
"typeVersion": 1
},
{
"id": "ec186db1-e7e8-480e-a94a-d4c1de5ee420",
"name": "Obtener Datos de Usuario Linkedin de Unipile",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
980,
-140
],
"parameters": {
"url": "=https://api9.unipile.com:13976/api/v1/users/{{ $('Webhook').item.json.body.sender.attendee_provider_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "account_id",
"value": "-oWmWRkASjKGUZadYcjcyg"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "VfYHlcsosNuUS2YD",
"name": "unipile angel"
}
},
"typeVersion": 4.2
},
{
"id": "d3fb953a-f3cf-4005-934c-b091bb784d84",
"name": "Establecer Datos de Usuario desde Unipile",
"type": "n8n-nodes-base.set",
"position": [
1240,
-280
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "aee91408-b68d-472e-8c3e-89260dd38c1c",
"name": "first_name",
"type": "string",
"value": "={{ $json.first_name }}"
},
{
"id": "57b3be6f-ba76-48c3-8f2e-1d9bb03d0dd5",
"name": "last_name",
"type": "string",
"value": "={{ $json.last_name }}"
},
{
"id": "75167f30-96d6-4442-9542-9d1b8e17fcb6",
"name": "headline",
"type": "string",
"value": "={{ $json.headline }}"
},
{
"id": "3e8bccc1-04a9-49f6-8053-eba22fe8d2f4",
"name": "websites",
"type": "array",
"value": "={{ $json.websites }}"
},
{
"id": "2e3dd2fe-5f71-4d19-bee8-085dd9bfc18c",
"name": "follower_count",
"type": "number",
"value": "={{ $json.follower_count }}"
},
{
"id": "ac5cc567-3c4f-481c-b229-9dc1e48d39fb",
"name": "connections_count",
"type": "number",
"value": "={{ $json.connections_count }}"
},
{
"id": "6bad07a6-4641-48cb-b436-fb735319865f",
"name": "location",
"type": "string",
"value": "={{ $json.location }}"
},
{
"id": "029fa351-f49f-4388-a59e-5719fcf8a506",
"name": "profile_picture_url",
"type": "string",
"value": "={{ $json.profile_picture_url }}"
},
{
"id": "2f96dca6-acee-41c0-83b5-00cd406d3301",
"name": "is_influencer",
"type": "boolean",
"value": "={{ $json.is_influencer }}"
},
{
"id": "4278e070-ce56-4993-b637-57ac60e83a49",
"name": "is_premium",
"type": "boolean",
"value": "={{ $json.is_premium }}"
},
{
"id": "b92c38f1-1423-4b7e-a807-320d13e0a944",
"name": "shared_connections_count",
"type": "number",
"value": "={{ $json.shared_connections_count }}"
},
{
"id": "96b24500-e6a4-444a-806c-0b61a1f00407",
"name": "type",
"type": "string",
"value": "user"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c6077ddb-362d-45f4-a497-2529348148ab",
"name": "Agrupar en un objeto - Usuario",
"type": "n8n-nodes-base.aggregate",
"position": [
1420,
-280
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "linkedinprofile"
},
"typeVersion": 1
},
{
"id": "1eb09bf7-fb93-4c19-bc41-86330c7b33e6",
"name": "Obtener Datos de Org Linkedin de Unipile",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
1240,
80
],
"parameters": {
"url": "=https://api9.unipile.com:13976/api/v1/linkedin/company/{{ $('Webhook').item.json.body.sender.attendee_provider_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "account_id",
"value": "-oWmWRkASjKGUZadYcjcyg"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "VfYHlcsosNuUS2YD",
"name": "unipile angel"
}
},
"typeVersion": 4.2
},
{
"id": "38f5ed6f-9302-4979-b964-c1d231a344b6",
"name": "Establecer Datos de Org Linkedin desde Unipile",
"type": "n8n-nodes-base.set",
"position": [
1520,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "aee91408-b68d-472e-8c3e-89260dd38c1c",
"name": "first_name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "57b3be6f-ba76-48c3-8f2e-1d9bb03d0dd5",
"name": "last_name",
"type": "string",
"value": "="
},
{
"id": "75167f30-96d6-4442-9542-9d1b8e17fcb6",
"name": "headline",
"type": "string",
"value": "={{ $json.description }}"
},
{
"id": "3e8bccc1-04a9-49f6-8053-eba22fe8d2f4",
"name": "websites",
"type": "string",
"value": "={{ $json.website }}"
},
{
"id": "2e3dd2fe-5f71-4d19-bee8-085dd9bfc18c",
"name": "follower_count",
"type": "number",
"value": "={{ $json.followers_count }}"
},
{
"id": "ac5cc567-3c4f-481c-b229-9dc1e48d39fb",
"name": "employee_count",
"type": "number",
"value": "={{ $json.employee_count_range.from }}"
},
{
"id": "6bad07a6-4641-48cb-b436-fb735319865f",
"name": "location",
"type": "string",
"value": "={{ $json.locations[0].street.join(' ') }}, {{ $json.locations[0].city }} {{ $json.locations[0].area }}, {{ $json.locations[0].postalCode }} {{ $json.locations[0].country }}."
},
{
"id": "89035aa7-e7bb-46eb-9f4b-633e2c17478a",
"name": "hashtags",
"type": "array",
"value": "={{ $json.hashtags }}"
},
{
"id": "25b0abe6-aef7-4d6f-88ea-5fcbd3472089",
"name": "profile_picture_url",
"type": "string",
"value": "={{ $json.logo }}"
},
{
"id": "decf44b7-520e-4977-9df5-276c5117d8e4",
"name": "type",
"type": "string",
"value": "organization"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "45bd4b50-01e6-468b-815a-58073c137693",
"name": "Agrupar en un objeto - Org",
"type": "n8n-nodes-base.aggregate",
"position": [
1720,
-80
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "linkedinprofile"
},
"typeVersion": 1
},
{
"id": "c97c50b6-b491-43cd-8eb6-e48b368c862e",
"name": "Establecer objeto de datos no encontrados",
"type": "n8n-nodes-base.set",
"position": [
1640,
120
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "438518ca-d55a-45d5-9210-0c53de7ae108",
"name": "linkedinprofile",
"type": "string",
"value": "Unable to find LinkedIn Data"
},
{
"id": "2d0595aa-bdd4-46e3-9f4d-e13e69c5a7a9",
"name": "type",
"type": "string",
"value": "none"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b42b967a-b127-458c-94b6-7a81052e6ba1",
"name": "Nota Adhesiva12",
"type": "n8n-nodes-base.stickyNote",
"position": [
3700,
-400
],
"parameters": {
"color": 7,
"width": 857,
"height": 813,
"content": "\n## Slack Bot Button Press\nThis workflow gets the button presses from the Slack interface and passes it along to Unipile for processing."
},
"typeVersion": 1
},
{
"id": "48da88b3-beac-4c52-bf0c-460bc4d525fb",
"name": "Establecer todas las Entradas Potenciales",
"type": "n8n-nodes-base.set",
"position": [
2020,
-80
],
"parameters": {
"options": {},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "7e091689-7905-4101-8dc9-0609b4f80233",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-180
],
"parameters": {
"color": 3,
"height": 360,
"content": "#### Add me to Unipile Webhook Dashboard\nEnsure that you have created a webhook in the Unipile dashboard that links to this node. [Link to Webhook Dashboard](https://dashboard.unipile.com/webhooks)"
},
"typeVersion": 1
},
{
"id": "97da9488-0e37-42c0-8dbf-912731fc5091",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
540
],
"parameters": {
"color": 3,
"height": 420,
"content": "#### Add me to your Slack App Interactivity and Shortcuts\nTo receive button presses in this webhook, ensure that you've created a slack app and then set the webhook URL in the Interactivity & Shortcuts tab to this production URL. Use our App Manifest template to quickly deploy the app with the correct scopes. [Link to template with App Manifest](https://dashboard.unipile.com/webhooks)"
},
"typeVersion": 1
},
{
"id": "c9be1dca-da24-4f18-b2a4-36f89b7520a1",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-300
],
"parameters": {
"width": 180,
"height": 320,
"content": "#### Update Credentials\nEnsure to use generic header auth. The name for the header is X-API-KEY. [Link to access token page on Unipile Site](https://dashboard.unipile.com/access-tokens)"
},
"typeVersion": 1
},
{
"id": "6e81a9bf-1c50-4366-9bae-be6241fc7875",
"name": "Nota Adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1200,
-80
],
"parameters": {
"width": 180,
"height": 320,
"content": "#### Update Credentials\nEnsure to use generic header auth. The name for the header is X-API-KEY. [Link to access token page on Unipile Site](https://dashboard.unipile.com/access-tokens)"
},
"typeVersion": 1
},
{
"id": "d8d5d5d1-6fe4-4f03-95cb-4d3cb6182f59",
"name": "Nota Adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2400,
-80
],
"parameters": {
"width": 220,
"height": 280,
"content": "#### Update Credentials\nDoes not have to be notion, can be any database type node like Google sheets. "
},
"typeVersion": 1
},
{
"id": "6a8202e9-e3c0-48db-b894-a009d801bddd",
"name": "Nota Adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
380,
-180
],
"parameters": {
"width": 220,
"height": 340,
"content": "#### Update with your Unipile UserID\nEasiest way to do this is to send a message to someone so it triggers this workflow and then copy the senderID that shows in this node"
},
"typeVersion": 1
},
{
"id": "36b271d3-53f6-4548-bf3f-8dea39e05b05",
"name": "Nota Adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
3060,
60
],
"parameters": {
"width": 220,
"height": 240,
"content": "#### Update Credentials"
},
"typeVersion": 1
},
{
"id": "2391f630-e071-4720-81c8-7937452e0523",
"name": "Nota Adhesiva13",
"type": "n8n-nodes-base.stickyNote",
"position": [
4020,
-160
],
"parameters": {
"width": 220,
"height": 560,
"content": "#### Update Credentials"
},
"typeVersion": 1
},
{
"id": "c533f8ea-1391-4b2f-81ba-2caa8a919e3b",
"name": "Nota Adhesiva14",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
360
],
"parameters": {
"width": 220,
"height": 340,
"content": "#### Update Credentials\nEnsure to use generic header auth. The name for the header is X-API-KEY. [Link to access token page on Unipile Site](https://dashboard.unipile.com/access-tokens)"
},
"typeVersion": 1
},
{
"id": "6f0ef5cc-ef53-4a02-bdd9-5931c9ba8a0e",
"name": "Nota Adhesiva15",
"type": "n8n-nodes-base.stickyNote",
"position": [
1620,
460
],
"parameters": {
"width": 220,
"height": 460,
"content": "#### Update Credentials"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"5f71a0e6-d5ec-4712-9feb-2b10a1b0a3ea": {
"main": [
[
{
"node": "39865ae2-a266-47ba-a6fd-c9b1f5d5a931",
"type": "main",
"index": 0
}
]
]
},
"9a475e01-a250-44f2-8cc6-4ef60aedaa36": {
"main": [
[
{
"node": "13ed0034-df98-46a8-931c-4e87667e624c",
"type": "main",
"index": 0
}
]
]
},
"8adbb07e-4897-4421-b581-c963b754aa2b": {
"main": [
[
{
"node": "ec186db1-e7e8-480e-a94a-d4c1de5ee420",
"type": "main",
"index": 0
}
]
]
},
"b87d4806-423b-4656-bbd6-9d0808242cc4": {
"main": [
[
{
"node": "e4c36cc2-9ad1-4ceb-8698-05079c9c6509",
"type": "main",
"index": 0
}
]
]
},
"53011c4c-b9aa-4b47-84c8-060e4b7a2db9": {
"ai_memory": [
[
{
"node": "9a475e01-a250-44f2-8cc6-4ef60aedaa36",
"type": "ai_memory",
"index": 0
}
]
]
},
"e4c36cc2-9ad1-4ceb-8698-05079c9c6509": {
"main": [
[
{
"node": "f84186be-8ded-47c5-8bdb-9366c8be59fa",
"type": "main",
"index": 0
}
],
[
{
"node": "7dc03482-8c14-4494-a475-3f958a1fd445",
"type": "main",
"index": 0
}
]
]
},
"ee147347-1a88-4e96-9580-d08285e901c0": {
"main": [
[
{
"node": "b87d4806-423b-4656-bbd6-9d0808242cc4",
"type": "main",
"index": 0
}
]
]
},
"7dc03482-8c14-4494-a475-3f958a1fd445": {
"main": [
[
{
"node": "425b2b79-447d-4736-9edf-0033969d64b4",
"type": "main",
"index": 0
}
]
]
},
"bd66537c-6fe5-4877-9127-3b78af08c499": {
"main": [
[
{
"node": "8adbb07e-4897-4421-b581-c963b754aa2b",
"type": "main",
"index": 0
}
],
[
{
"node": "e14aedab-47e9-4811-b991-ee0d00290c39",
"type": "main",
"index": 0
}
]
]
},
"39865ae2-a266-47ba-a6fd-c9b1f5d5a931": {
"main": [
[
{
"node": "bd66537c-6fe5-4877-9127-3b78af08c499",
"type": "main",
"index": 0
}
]
]
},
"ac2cb5e1-394a-4a5c-a999-a56d315bc3ff": {
"main": [
[
{
"node": "4c36fc5c-75a5-4279-9555-13fdfa033510",
"type": "main",
"index": 0
}
],
[
{
"node": "b79429a6-3b46-4898-a933-3b6ec77a1f97",
"type": "main",
"index": 0
}
]
]
},
"b5eb7520-c887-4a72-89d0-d616c24fdfca": {
"ai_languageModel": [
[
{
"node": "9a475e01-a250-44f2-8cc6-4ef60aedaa36",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"3c58401c-cb83-4d71-9469-7563d6ce9c16": {
"main": [
[
{
"node": "ee147347-1a88-4e96-9580-d08285e901c0",
"type": "main",
"index": 0
}
]
]
},
"13ed0034-df98-46a8-931c-4e87667e624c": {
"main": [
[
{
"node": "3812b521-2e15-4c24-9883-79ef04fc6cb3",
"type": "main",
"index": 0
}
],
[
{
"node": "7470b927-8a4d-4421-b6d3-cc55623d77dd",
"type": "main",
"index": 0
}
],
[
{
"node": "0c63c0e7-752d-4bd7-ab78-23a1ff4d70ae",
"type": "main",
"index": 0
}
]
]
},
"48da88b3-beac-4c52-bf0c-460bc4d525fb": {
"main": [
[
{
"node": "8d593035-111a-45dc-93ea-950aad7b0ebb",
"type": "main",
"index": 0
}
]
]
},
"b405f410-4d76-43f9-b21c-b6cb363daa43": {
"ai_outputParser": [
[
{
"node": "9a475e01-a250-44f2-8cc6-4ef60aedaa36",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"45bd4b50-01e6-468b-815a-58073c137693": {
"main": [
[
{
"node": "48da88b3-beac-4c52-bf0c-460bc4d525fb",
"type": "main",
"index": 0
}
]
]
},
"c6077ddb-362d-45f4-a497-2529348148ab": {
"main": [
[
{
"node": "48da88b3-beac-4c52-bf0c-460bc4d525fb",
"type": "main",
"index": 0
}
]
]
},
"d3fb953a-f3cf-4005-934c-b091bb784d84": {
"main": [
[
{
"node": "c6077ddb-362d-45f4-a497-2529348148ab",
"type": "main",
"index": 0
}
]
]
},
"f84186be-8ded-47c5-8bdb-9366c8be59fa": {
"main": [
[
{
"node": "ac2cb5e1-394a-4a5c-a999-a56d315bc3ff",
"type": "main",
"index": 0
}
]
]
},
"af762a13-5774-4608-a221-7860dce3f27c": {
"main": [
[
{
"node": "88da9528-2a4c-426a-bd27-8caa47bed3f5",
"type": "main",
"index": 0
}
]
]
},
"c97c50b6-b491-43cd-8eb6-e48b368c862e": {
"main": [
[
{
"node": "48da88b3-beac-4c52-bf0c-460bc4d525fb",
"type": "main",
"index": 0
}
]
]
},
"88da9528-2a4c-426a-bd27-8caa47bed3f5": {
"main": [
[
{
"node": "9a475e01-a250-44f2-8cc6-4ef60aedaa36",
"type": "main",
"index": 0
}
]
]
},
"1eb09bf7-fb93-4c19-bc41-86330c7b33e6": {
"main": [
[
{
"node": "38f5ed6f-9302-4979-b964-c1d231a344b6",
"type": "main",
"index": 0
}
],
[
{
"node": "c97c50b6-b491-43cd-8eb6-e48b368c862e",
"type": "main",
"index": 0
}
]
]
},
"38f5ed6f-9302-4979-b964-c1d231a344b6": {
"main": [
[
{
"node": "45bd4b50-01e6-468b-815a-58073c137693",
"type": "main",
"index": 0
}
]
]
},
"ec186db1-e7e8-480e-a94a-d4c1de5ee420": {
"main": [
[
{
"node": "d3fb953a-f3cf-4005-934c-b091bb784d84",
"type": "main",
"index": 0
}
],
[
{
"node": "1eb09bf7-fb93-4c19-bc41-86330c7b33e6",
"type": "main",
"index": 0
}
]
]
},
"8d593035-111a-45dc-93ea-950aad7b0ebb": {
"main": [
[
{
"node": "d267a541-a739-49b8-a2f6-b8afbb6cc837",
"type": "main",
"index": 0
}
]
]
},
"4c36fc5c-75a5-4279-9555-13fdfa033510": {
"main": [
[
{
"node": "bed8608b-b474-4472-87ad-1e3454799a81",
"type": "main",
"index": 0
}
]
]
},
"d267a541-a739-49b8-a2f6-b8afbb6cc837": {
"main": [
[
{
"node": "af762a13-5774-4608-a221-7860dce3f27c",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Soporte, Inteligencia Artificial
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Angel Menendez
@djangelicAngel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.
Compartir este flujo de trabajo