Agente mensajero de IA

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 34 nodos.Utiliza principalmente nodos como Set, Code, Switch, Webhook, Function. Bot de Facebook Messenger usando GPT-4, con procesamiento de texto, imágenes y voz

Requisitos previos
  • 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
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "bBJOoh6tRVSg50K5",
  "meta": {
    "instanceId": "4373d1c98d837a02928f24e76c24879728ab83407616320d7d7808e429ea0a4e",
    "templateCredsSetupCompleted": true
  },
  "name": "Agent IA Messenger",
  "tags": [],
  "nodes": [
    {
      "id": "2ccd1577-6b09-4dba-a008-382833689fab",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2016,
        704
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "jl5FyiQarFxAvt8F",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d588ba3b-d9db-481a-bfdb-dea8a0d0f275",
      "name": "Memoria Simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        2192,
        704
      ],
      "parameters": {
        "sessionKey": "={{ $('Webhook1').item.json.body.entry[0].messaging[0].sender.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "e97f4fe7-b9fd-465b-8229-9a117ce46b81",
      "name": "Calculadora",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        2352,
        704
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6a045e89-c2c1-4bef-b8bd-35eb6d524ee1",
      "name": "Wikipedia",
      "type": "@n8n/n8n-nodes-langchain.toolWikipedia",
      "position": [
        2512,
        704
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d7cb9060-af1b-4006-814f-d13d00406bd6",
      "name": "Descargar Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        448
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "facebookGraphApi"
      },
      "credentials": {
        "facebookGraphApi": {
          "id": "WIGwSMnkKuDXE3cY",
          "name": "Facebook Graph account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "43dc357f-2e94-4ca4-87dd-bc26c5ca516c",
      "name": "Transcriptor de Audio",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1248,
        448
      ],
      "parameters": {
        "options": {},
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "id": "jl5FyiQarFxAvt8F",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "e891d603-5258-47b5-a4de-834a21145aef",
      "name": "Identificar y Redirigir Tipos de Mensaje",
      "type": "n8n-nodes-base.switch",
      "position": [
        368,
        432
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "=Image Message",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "b12ff3af-0aae-4874-9c16-37f0337bf214",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type === \"image\" }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Audio Message",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "584171c6-5842-41a4-ae70-b901457d1b43",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type === \"audio\" }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Text Message",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "c1d29099-8a6f-4944-ad5c-a60926aabbd1",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.type === \"text\" }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "18493f65-52e0-4438-afba-daaac6f8fabe",
      "name": "Descargar Imagen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        112
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "facebookGraphApi"
      },
      "credentials": {
        "facebookGraphApi": {
          "id": "WIGwSMnkKuDXE3cY",
          "name": "Facebook Graph account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "908a01ea-04ba-4711-8aeb-0326abb7b512",
      "name": "Identificar Tipo de Mensaje",
      "type": "n8n-nodes-base.function",
      "position": [
        0,
        448
      ],
      "parameters": {
        "functionCode": "// ─── 0. Récupère la racine utile (body si présent) ─────────────────────\nconst root = $json.body ?? $json;   // ← marche avec ou sans \"body\"\n\n// ─── 1. Cherche l'objet \"message\", quel que soit le chemin ─────────────\nlet msg;\n\nif (root.message) {\n  // cas où un Set/Split l’a déjà extrait\n  msg = root.message;\n} else if (root.entry?.[0]?.messaging?.[0]?.message) {\n  // structure brute Facebook\n  msg = root.entry[0].messaging[0].message;\n} else {\n  throw new Error('Impossible de localiser le champ \"message\"');\n}\n\n// ─── 2. Prépare la sortie standardisée ─────────────────────────────────\nlet result;\n\nif (msg.attachments?.[0]) {\n  const att = msg.attachments[0];\n  if (att.type === 'image') {\n    result = { type: 'image', url: att.payload?.url };\n  } else if (att.type === 'audio') {\n    result = { type: 'audio', url: att.payload?.url };\n  } else {\n    result = { type: att.type || 'attachment', url: att.payload?.url };\n  }\n} else if (msg.text) {\n  result = { type: 'text', text: msg.text };\n} else {\n  result = { type: 'unknown' };\n}\n\n// ─── 3. Retourne l'objet pour les nœuds suivants ───────────────────────\nreturn [ result ];"
      },
      "typeVersion": 1
    },
    {
      "id": "4c783fcc-48ab-4381-ba12-d730d7837c30",
      "name": "Editar Campos1",
      "type": "n8n-nodes-base.set",
      "position": [
        1248,
        784
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5a5d4ec5-61d5-471c-bab7-135528008e6c",
              "name": "user_prompt",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "752e4920-7677-4e78-bef9-1ee55478b33a",
      "name": "Editar Campos2",
      "type": "n8n-nodes-base.set",
      "position": [
        1632,
        448
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5a5d4ec5-61d5-471c-bab7-135528008e6c",
              "name": "user_prompt",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "391e29fb-4b60-407e-a1f1-db0740fddf14",
      "name": "Editar Campos3",
      "type": "n8n-nodes-base.set",
      "position": [
        1632,
        112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5a5d4ec5-61d5-471c-bab7-135528008e6c",
              "name": "user_prompt",
              "type": "string",
              "value": "={{ $json.content }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "66394ce4-5a3d-45a8-8929-a5fe5d8399be",
      "name": "Código1",
      "type": "n8n-nodes-base.code",
      "position": [
        3152,
        448
      ],
      "parameters": {
        "jsCode": "// -------- Build Messenger Payload ----------\n// 1) Récupère le PSID directement depuis ton webhook “Webhook1”\nconst psid = ($node[\"Webhook1\"].json.body?.entry ?? $node[\"Webhook1\"].json.entry)[0]\n               .messaging[0].sender.id;   // ID du client\n\nconst reply = $json.output || 'Réponse vide';   // texte déjà nettoyé par le 1er Code\n\nreturn [{\n  json: {\n    messaging_type: 'RESPONSE',\n    recipient: { id: String(psid) },      //  ← chaîne obligatoire\n    message:   { text: reply }\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "5536e5a6-5b84-4a37-bdd4-a4fa01dc4e2c",
      "name": "Código",
      "type": "n8n-nodes-base.code",
      "position": [
        2784,
        448
      ],
      "parameters": {
        "jsCode": "/**\n * n8n – Code node\n * Mode : Run Once for All Items\n * Objectif :\n *   1. Repère **gras** ou *gras*\n *   2. Convertit le contenu en lettres \"Unicode Bold\"\n *   3. Supprime tous les astérisques\n */\n\nconst FIELD = 'output'; // ← mets ici le nom exact du champ texte\n\n// --- petite fonction de conversion ASCII → Unicode gras\nfunction toUnicodeBold(str) {\n  const upperOffset = 0x1D400 - 0x41;      // A → 𝐀\n  const lowerOffset = 0x1D41A - 0x61;      // a → 𝐚\n  const digitOffset = 0x1D7CE - 0x30;      // 0 → 𝟎\n\n  return str.split('').map(ch => {\n    const code = ch.charCodeAt(0);\n    if (code >= 0x41 && code <= 0x5A) return String.fromCodePoint(code + upperOffset); // A-Z\n    if (code >= 0x61 && code <= 0x7A) return String.fromCodePoint(code + lowerOffset); // a-z\n    if (code >= 0x30 && code <= 0x39) return String.fromCodePoint(code + digitOffset); // 0-9\n    return ch; // ponctuation, espaces…\n  }).join('');\n}\n\nfor (const item of $input.all()) {\n  if (item.json[FIELD]) {\n    item.json[FIELD] = item.json[FIELD]\n      // ► 1. **…**  ou *…*  → conversion + suppression d’astérisques\n      .replace(/\\*{1,2}([^*]+?)\\*{1,2}/gs, (_, txt) => toUnicodeBold(txt))\n\n      // ► 2. S’il reste des astérisques isolés → on les retire\n      .replace(/\\*/g, '');\n  }\n}\n\nreturn $input.all();"
      },
      "typeVersion": 2
    },
    {
      "id": "8e37259a-0d7f-40e6-87a5-d7eafe6c4913",
      "name": "Enviar Respuesta",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3520,
        448
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v17.0/me/messages?access_token=",
        "body": "={{ JSON.stringify($json, null, 0) }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "sendHeaders": true,
        "rawContentType": "application/json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "85bc2e7b-83d3-4481-948b-4e0444d52246",
      "name": "Mensajero de Agente de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2160,
        448
      ],
      "parameters": {
        "text": "={{ $json.user_prompt }}",
        "options": {
          "systemMessage": "Tu es un assistant spécialisé.\n- Si la demande nécessite uniquement des calculs mathématiques, financiers ou statistiques : utilise toujours l’outil Calculatrice.\n- Si la demande nécessite une recherche d’information externe (histoire, biographie, faits généraux) : utilise l’outil Wikipédia.\n- Ne mélange pas les deux outils sauf si c’est absolument nécessaire.\n- Lorsque la question contient un montant, un pourcentage, un taux ou une durée : c’est un calcul → utilise uniquement l’outil Calculatrice."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "a09429dd-8e6c-4c85-94c3-c73c8385a6c0",
      "name": "Analizar imagen",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1248,
        112
      ],
      "parameters": {
        "text": "Describe this image.",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "GPT-4O"
        },
        "options": {},
        "resource": "image",
        "inputType": "base64",
        "operation": "analyze"
      },
      "credentials": {
        "openAiApi": {
          "id": "jl5FyiQarFxAvt8F",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "b838533f-1f70-45a1-9785-ea28aacc0822",
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -368,
        448
      ],
      "webhookId": "50f8576e-a334-40ae-af63-0cc4fecff1d0",
      "parameters": {
        "path": "Messenger",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "bd67326b-ef8e-48fc-a9da-4c917ad88594",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        256
      ],
      "parameters": {
        "width": 336,
        "height": 384,
        "content": "## Webhook1 (Messenger Entry)\n\nReceives Messenger events and starts the processing. Reply “Immediately” to acknowledge fast, then let the flow continue."
      },
      "typeVersion": 1
    },
    {
      "id": "5fd271ca-be10-4830-bc24-7994b9cb74a8",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        256
      ],
      "parameters": {
        "width": 336,
        "height": 384,
        "content": "## Identify Message Type (Code)\n\nConverts the Messenger payload into a simple shape: text, image, audio, or unknown. This makes the rest of the flow predictable."
      },
      "typeVersion": 1
    },
    {
      "id": "a44151ae-4d95-47bb-8f9d-2ba746cfd1dd",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        256
      ],
      "parameters": {
        "width": 368,
        "height": 384,
        "content": "## Identify and ReRoute Message Types  (Router / Rules)\n\nSends each message down the right lane (image/audio/text). Add a default route for unsupported formats."
      },
      "typeVersion": 1
    },
    {
      "id": "0b132eb3-09ff-4fcf-a11b-4655128298a9",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        -48
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 320,
        "content": "## Download Image\n\nDownloads the image from the provided URL. If Facebook blocks it, add the Page Token as query or Bearer header."
      },
      "typeVersion": 1
    },
    {
      "id": "3ed9947b-4940-4d4e-a51e-826d4cdb3041",
      "name": "Nota Adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        -48
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 320,
        "content": "## Analyze image  (Vision)\n\nUses a vision model to describe the image and produce useful text. "
      },
      "typeVersion": 1
    },
    {
      "id": "8521e4c9-92ac-4e9f-beb0-150a84301a72",
      "name": "Nota Adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -48
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 320,
        "content": "## Edit Fields3  (image → prompt)\n\nCopies the image description into user_prompt. Make sure other fields stay available if you need them."
      },
      "typeVersion": 1
    },
    {
      "id": "ef459985-d05b-41ed-b540-166ddfd8320c",
      "name": "Nota Adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        304
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 304,
        "content": "## Download Audio\n\nDownloads the audio file from the URL. As with images, add the Page Token if needed."
      },
      "typeVersion": 1
    },
    {
      "id": "b9482f90-0981-46b9-b07f-a95569ee6399",
      "name": "Nota Adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        304
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 304,
        "content": "## Audio Transcriber\n\nTranscribes the voice note into clean text. Let auto language detection work when possible."
      },
      "typeVersion": 1
    },
    {
      "id": "59be867f-e5f4-4252-a251-7f20c0654003",
      "name": "Nota Adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        304
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 304,
        "content": "## Edit Fields2  (audio → prompt)\n\nPuts the audio transcript into user_prompt. You can also trim extra whitespace here."
      },
      "typeVersion": 1
    },
    {
      "id": "26565c46-d336-4a12-a83d-fd06461edacb",
      "name": "Nota Adhesiva10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        640
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 304,
        "content": "## Edit Fields1  (text → prompt)\n\nMaps the user’s text into user_prompt. Optional: truncate overly long messages."
      },
      "typeVersion": 1
    },
    {
      "id": "338acd3a-73e1-479f-85a6-809daa4bca01",
      "name": "Nota Adhesiva11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2672,
        240
      ],
      "parameters": {
        "width": 336,
        "height": 368,
        "content": "## Code  (post-process bold)\n\nConverts ** … **/ * … * to Unicode bold in output and strips leftover asterisks. Use bold only for headings or key points to keep the message readable."
      },
      "typeVersion": 1
    },
    {
      "id": "4aa7b210-b885-407a-93cc-3c8ec9c1a150",
      "name": "Nota Adhesiva12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3040,
        240
      ],
      "parameters": {
        "width": 336,
        "height": 368,
        "content": "## Code1  (build Messenger payload)\n\nBuilds the Graph object with recipient.id = <PSID> and message.text = output (messaging_type: \"RESPONSE\"). Ensure the ID is a string and gracefully truncate if the text is too long."
      },
      "typeVersion": 1
    },
    {
      "id": "4d639833-bb9d-447a-9331-f44d20446864",
      "name": "Nota Adhesiva13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3408,
        240
      ],
      "parameters": {
        "color": 4,
        "width": 352,
        "height": 368,
        "content": "## Send Response  (HTTP → Graph API)\n\nPosts the JSON to /v17.0/me/messages?access_token=PAGE_TOKEN with Content-Type: application/json. On errors (401/403/429), check token/permissions and inspect the node logs."
      },
      "typeVersion": 1
    },
    {
      "id": "5a7944b5-13d4-4fc5-9c68-2430516912dd",
      "name": "Nota Adhesiva14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1952,
        240
      ],
      "parameters": {
        "color": 3,
        "width": 688,
        "height": 624,
        "content": "## AI Agent + Chat Model + Memory + Tools\n\nThe agent reads user_prompt, applies your System Message, queries the chat model (pick the model and tune temperature / max tokens), and optionally calls Calculator/Wikipedia to produce output. Enable per-user memory (PSID) with sessionId = sender.id to keep context across turns."
      },
      "typeVersion": 1
    },
    {
      "id": "38a8016e-1df7-4337-a8a0-5db52b8e144d",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -976,
        -96
      ],
      "parameters": {
        "width": 416,
        "height": 1008,
        "content": "# Automate Messenger in 6 Steps ✨\n\nBuild your first Messenger AI agent !\nIt reads text, photos, and voice notes, then answers like a pro.\n\n### 1) Connect credentials\nAdd your OpenAI API key and Facebook Page Access Token in n8n Credentials (keep them secret).\n\n### 2) Plug the webhook\nCopy the Webhook1 Test URL (POST /messenger) → paste it in Meta › Messenger › Webhooks, verify, and subscribe to messages. Send a test message to your Page.\n\n### 3) Personalize the agent\nIn the AI Agent, write a clear System Message (tone & guardrails), pick the chat model, and tune temperature / max tokens.\n\n### 4) Keep context & add tools\nEnable per-user memory using the PSID so chats persist, and switch on tools like Calculator or Wikipedia if needed.\n\n### 5) Style the replies\nUse asterisks for bold (the post-processor formats it). Keep answers crisp; if media won’t download, ensure the request includes your Page token.\n\n### 6) Ship it\nTest text, photo, and voice note; switch to the Production URL and watch logs/permissions.\n\n## Need help customizing?\n\n👉 [Get in touch](https://www.linkedin.com/in/st%C3%A9phane-bordas-3439b4179/)\n### Launch your first AI agent on Messenger today ! 🚀"
      },
      "typeVersion": 1
    },
    {
      "id": "778d262f-5dfe-4986-9eb0-a94a46a3f771",
      "name": "Nota Adhesiva15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3136,
        -192
      ],
      "parameters": {
        "width": 608,
        "height": 384,
        "content": "## [Video Tutorial](https://youtu.be/yHNPBDNgk88)  \n@[youtube](yHNPBDNgk88)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5b201e08-f698-418e-ad26-df60f327cd8a",
  "connections": {
    "5536e5a6-5b84-4a37-bdd4-a4fa01dc4e2c": {
      "main": [
        [
          {
            "node": "66394ce4-5a3d-45a8-8929-a5fe5d8399be",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "66394ce4-5a3d-45a8-8929-a5fe5d8399be": {
      "main": [
        [
          {
            "node": "8e37259a-0d7f-40e6-87a5-d7eafe6c4913",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b838533f-1f70-45a1-9785-ea28aacc0822": {
      "main": [
        [
          {
            "node": "908a01ea-04ba-4711-8aeb-0326abb7b512",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6a045e89-c2c1-4bef-b8bd-35eb6d524ee1": {
      "ai_tool": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "e97f4fe7-b9fd-465b-8229-9a117ce46b81": {
      "ai_tool": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4c783fcc-48ab-4381-ba12-d730d7837c30": {
      "main": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "752e4920-7677-4e78-bef9-1ee55478b33a": {
      "main": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "391e29fb-4b60-407e-a1f1-db0740fddf14": {
      "main": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a09429dd-8e6c-4c85-94c3-c73c8385a6c0": {
      "main": [
        [
          {
            "node": "391e29fb-4b60-407e-a1f1-db0740fddf14",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d588ba3b-d9db-481a-bfdb-dea8a0d0f275": {
      "ai_memory": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "d7cb9060-af1b-4006-814f-d13d00406bd6": {
      "main": [
        [
          {
            "node": "43dc357f-2e94-4ca4-87dd-bc26c5ca516c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "18493f65-52e0-4438-afba-daaac6f8fabe": {
      "main": [
        [
          {
            "node": "a09429dd-8e6c-4c85-94c3-c73c8385a6c0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "43dc357f-2e94-4ca4-87dd-bc26c5ca516c": {
      "main": [
        [
          {
            "node": "752e4920-7677-4e78-bef9-1ee55478b33a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2ccd1577-6b09-4dba-a008-382833689fab": {
      "ai_languageModel": [
        [
          {
            "node": "85bc2e7b-83d3-4481-948b-4e0444d52246",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "85bc2e7b-83d3-4481-948b-4e0444d52246": {
      "main": [
        [
          {
            "node": "5536e5a6-5b84-4a37-bdd4-a4fa01dc4e2c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "908a01ea-04ba-4711-8aeb-0326abb7b512": {
      "main": [
        [
          {
            "node": "e891d603-5258-47b5-a4de-834a21145aef",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e891d603-5258-47b5-a4de-834a21145aef": {
      "main": [
        [
          {
            "node": "18493f65-52e0-4438-afba-daaac6f8fabe",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "d7cb9060-af1b-4006-814f-d13d00406bd6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "4c783fcc-48ab-4381-ba12-d730d7837c30",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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 - Creación de contenido, IA Multimodal

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos34
Categoría2
Tipos de nodos13
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34