AutomationFlowsAI & RAG › Telegram AI Content Agent

Telegram AI Content Agent

Original n8n title: Content AI Agent

Content Ai Agent. Uses agent, telegramTrigger, memoryBufferWindow, telegram. Event-driven trigger; 28 nodes.

Event trigger★★★★☆ complexityAI-powered28 nodesAgentTelegram TriggerMemory Buffer WindowTelegramOpenAI ChatTool Http RequestGoogle SheetsOpenAI
AI & RAG Trigger: Event Nodes: 28 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "My workflow",
  "nodes": [
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "=Tu funci\u00f3n como Agente de IA es ayudarme con la creaci\u00f3n de contenido viralizable. Ofrecerme scripts ya sea directos para usar en un teleprompter en caso de que sean scripts para un v\u00eddeo (como en Instagram) o directos para publicar en plataformas de contenido de texto como LinkedIn.\n\nTienes varias funciones a nivel conversacional:\n- \"Crear variaciones\": cuando mencione algo sobre crear una variaci\u00f3n o un nuevo script a partir de uno anterior, intentas aplicar parafraseo, cambios de estructuras y otros recursos para modificar un script previo en un nuevo script con potencial de viralizaci\u00f3n.\n\n- \"Adaptar a LinkedIn\": cuando mencione algo sobre convertir, adaptar, proponer... alg\u00fan script para LinkedIn. Adaptas el script al que yo haga referencia para una publicaci\u00f3n de LinkedIn, es decir, haci\u00e9ndolo para una publicaci\u00f3n en la que solo haya texto y con muchos dobles saltos de l\u00ednea, para que sea f\u00e1cil de consumir y se de la informaci\u00f3n poco a poco.\n\n\nDispones de varias herramientas:\n\n- \"Get Content\": Usas esta herramienta si en mi mensaje menciono algo de que quiero ideas para contenido. Esta herramienta devuelve informaci\u00f3n sobre varios v\u00eddeos de cierta cuenta de Instagram. Tu tarea entonces es decirme toda la informaci\u00f3n sobre cada uno y adjuntar siempre el link tal cual te lo devuelve la herramienta para que yo pueda copiarlo y pegarlo directamente.\n\nCuando me devuelvas el mensaje con ideas devuelveme la url completa (no hagas embeddings, que pueda luego copiar y pegarla)\n\n- \"Get transcript\": Usas esta herramienta cuando mencione algo sobre devolver, dar, hacer o recuperar el transcript de un v\u00eddeo. Algo que implique que me des el transcript no que uses el transcript para algo. Mi mensaje har\u00e1 referencia a un v\u00eddeo anteriormente mencionado por ti. Tienes que introducir la video_url al completo sin errores de escritura, escribela exactamente igual que cuando la enviaste en tu anterior mensaje.\n\n- \"Update Base de datos\": Usas esta herramienta si digo algo como actualiza la base de datos con una nueva idea o un nuevo video, un nuevo transcript algo as\u00ed. Rellenas el parametro query mi solicitud al completo, sin a\u00f1adir nada m\u00e1s que yo no mencione."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        200,
        300
      ],
      "id": "4a6cc0d6-0aa9-47a2-b66f-06293103cf30",
      "name": "AI Agent"
    },
    {
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1.1,
      "position": [
        20,
        300
      ],
      "id": "e294b468-affc-481c-8ddd-528e4d8f9c29",
      "name": "Telegram Trigger",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $json.message.chat.id }}"
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        120,
        460
      ],
      "id": "7234886e-6ad3-4186-89a2-812dbc9595b8",
      "name": "Window Buffer Memory"
    },
    {
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "text": "={{ $json.output }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        520,
        300
      ],
      "id": "0c876ab1-238d-478a-a341-0d41fc963d57",
      "name": "Telegram",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4o",
          "mode": "list",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        20,
        460
      ],
      "id": "4053b0ff-11e8-4953-b188-82fc2d749120",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "toolDescription": "=Usas esta herramienta para hacer llamadas a otro proceso cuando quiero a\u00f1adir algo a una base de datos. Rellenas en el body que env\u00edas en el parametro query mi solicitud al completo, sin a\u00f1adir nada m\u00e1s que yo no mencione.",
        "method": "POST",
        "url": "[LINK_WEBHOOK_UPDATEDATABASE]",
        "sendBody": true,
        "parametersBody": {
          "values": [
            {
              "name": "query"
            }
          ]
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1.1,
      "position": [
        360,
        460
      ],
      "id": "6f566da7-dc27-47c2-9aeb-70075a5647fc",
      "name": "Update Base de Datos"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "2afb751c-6cb8-4628-a76f-c85e77e40ca4",
              "name": "response",
              "value": "completado",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1280,
        380
      ],
      "id": "326655db-ae0e-4bff-a38a-8cb3d597ad42",
      "name": "response"
    },
    {
      "parameters": {
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "value": "1OllwK8eMKvU47aiLQseZg6o8WZnvNZd5-dWE-640TXc",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Sheet1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OllwK8eMKvU47aiLQseZg6o8WZnvNZd5-dWE-640TXc/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Titulo": "={{ $json.message.content.titulo }}",
            "Descripci\u00f3n": "={{ $json.message.content.descripcion }}",
            "Plataforma": "={{ $json.message.content.plataforma }}"
          },
          "matchingColumns": [
            "Titulo"
          ],
          "schema": [
            {
              "id": "Titulo",
              "displayName": "Titulo",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Descripci\u00f3n",
              "displayName": "Descripci\u00f3n",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "Plataforma",
              "displayName": "Plataforma",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        1140,
        380
      ],
      "id": "b30235b4-f2c5-4770-897a-f047f47957d0",
      "name": "Actualiza el Sheets",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4o",
          "mode": "list",
          "cachedResultName": "GPT-4O"
        },
        "messages": {
          "values": [
            {
              "content": "=Tienes que analizar un mensaje y dividirlo en tres variables:\n\n- titulo: un t\u00edtulo para la idea de publicaci\u00f3n que se quiere hacer\n- descripcion: una descripci\u00f3n de la publicaci\u00f3n que se quiere hacer (casi literal a como te la env\u00edo, incluye toda la info posible)\n- plataforma (\u00fanicamente la plataforma prara la que se quiere crear: instagram, linkedin, tiktok, youtube...)\n\nNo creas nuevo texto, te limitas a usar la query para completar las variables que te he mencionado.",
              "role": "system"
            },
            {
              "content": "=Query: {{ $json.body.query }}"
            }
          ]
        },
        "jsonOutput": true,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        860,
        380
      ],
      "id": "65a8bf4a-57e1-4adb-8a43-22bceba88b5e",
      "name": "Divide la query",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "update-base-de-datos",
        "responseMode": "lastNode",
        "responseData": "allEntries",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        700,
        380
      ],
      "id": "16711e32-7dbd-4406-b112-39554ff3906a",
      "name": "Update Base de datos1"
    },
    {
      "parameters": {
        "content": "## UPDATE BASE DE DATOS",
        "height": 280,
        "width": 760,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        660,
        300
      ],
      "id": "9b2e333e-9217-480e-97e6-a93cfedef9be",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "url": "={{ $json.body.query }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        180,
        680
      ],
      "id": "fd3f9b08-6faf-484e-b642-dad35f11ca0b",
      "name": "Descarga Video"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.message.content }}",
                    "rightValue": "ing",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "id": "b5d0e575-be28-4be2-9df6-9ca18c69cdc2"
                  }
                ],
                "combinator": "and"
              }
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "b34da1aa-4db3-4f79-9c1f-a2b43fb1dc7b",
                    "leftValue": "={{ $json.message.content }}",
                    "rightValue": "esp",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              }
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        780,
        680
      ],
      "id": "db4f932a-9b2a-47ca-97e6-a80f807b540f",
      "name": "Switch"
    },
    {
      "parameters": {
        "toolDescription": "=Usas esta herramienta para hacer llamadas a otro proceso cuando quiero recuperar un transcript. Rellenas en el body que env\u00edas en el parametro query \u00fanicamente la URL al completo sin errores de escritura, escribela exactamente igual que la recibes.",
        "method": "POST",
        "url": "[LINK_WEBHOOK_GETTRANSCRIPT]",
        "sendBody": true,
        "parametersBody": {
          "values": [
            {
              "name": "query"
            }
          ]
        }
      },
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1.1,
      "position": [
        240,
        460
      ],
      "id": "fd66f213-62cc-4f54-9ccb-b1927442bcb9",
      "name": "Get Transcript"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "235581b7-5d91-459c-95c3-98c8b0dc60c8",
              "name": "response",
              "value": "={{ $('transcription').item.json.text ?? $('traduce ing a esp').item.json.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1160,
        680
      ],
      "id": "d2e6c555-a781-4985-a261-19b3e74bdbdb",
      "name": "response1"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4o",
          "mode": "list",
          "cachedResultName": "GPT-4O"
        },
        "messages": {
          "values": [
            {
              "content": "Eres un especialista traduciendo de ingl\u00e9s a espa\u00f1ol. Eres biling\u00fce nativo en ambos idiomas, no traduces literalmente si no teniendo el contexto de ambos idiomas en cuenta",
              "role": "system"
            },
            {
              "content": "=Traduce esto al espa\u00f1ol:  {{ $('transcription').item.json.text }}"
            }
          ]
        },
        "simplify": false,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        880,
        840
      ],
      "id": "0662196e-8696-48d3-9a28-fa0a73930f4d",
      "name": "traduce ing a esp",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4o",
          "mode": "list",
          "cachedResultName": "GPT-4O"
        },
        "messages": {
          "values": [
            {
              "content": "=Identifica si este texto est\u00e1 en ingl\u00e9s o en espa\u00f1ol:\n{{ $json.text }}\n\nSi est\u00e1 en ingl\u00e9s devuelves \u00fanicamente ing, si est\u00e1 en espa\u00f1ol devuelves \u00fanicamente esp\n\nEn caso de no estar en ninguno de estos dos idiomas devuelves \u00fanicamente esp\n\nNunca devuelves nada diferente, ni nada m\u00e1s a parte de esp o ing\n"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        460,
        680
      ],
      "id": "0a8308a5-2045-4a25-8a9e-1b7fcd6ee567",
      "name": "decide ing o esp",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "audio",
        "operation": "transcribe",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        320,
        680
      ],
      "id": "208c7f11-0432-4596-bf16-959238d304e2",
      "name": "transcription",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "get-transcript",
        "responseMode": "lastNode",
        "responseData": "allEntries",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        40,
        680
      ],
      "id": "905370ae-84ff-43fa-a0e6-3220eaedfbda",
      "name": "Get Transcript1"
    },
    {
      "parameters": {
        "content": "## GET TRANSCRIPT",
        "height": 420,
        "width": 1380,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        620
      ],
      "id": "cee0b27e-08c3-4793-9cc1-463973ad4fda",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "toolDescription": "=Usas esta herramienta para hacer llamadas a otro proceso cuando quiero recuperar contenido o recibir ideas de contenido. Rellenas en el body que env\u00edas en el parametro query mi solicitud al completo, sin a\u00f1adir nada m\u00e1s que yo no mencione.",
        "method": "POST",
        "url": "[LINK_WEBHOOK_GETCONTENT]"
      },
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "typeVersion": 1.1,
      "position": [
        480,
        460
      ],
      "id": "59e01af8-9e18-458e-a7a0-e8c823dab9a0",
      "name": "Get Content"
    },
    {
      "parameters": {
        "url": "https://api.apify.com/v2/acts/apify~instagram-post-scraper/run-sync-get-dataset-items?token=[APIFY_API_KEY]",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n    \"resultsLimit\": 10,\n    \"skipPinnedPosts\": false,\n    \"username\": [\n        \"openai\"\n    ]\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        180,
        80
      ],
      "id": "bd466d1b-9573-4479-adcf-1cf4e94b3be8",
      "name": "Apify - Instagram Post Scraper"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "get-content",
        "responseMode": "lastNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        40,
        80
      ],
      "id": "78915b42-fcc9-4db5-9db2-f3ba723ea398",
      "name": "Get Content1"
    },
    {
      "parameters": {
        "modelId": {
          "__rl": true,
          "value": "gpt-4.1",
          "mode": "list",
          "cachedResultName": "GPT-4.1"
        },
        "messages": {
          "values": [
            {
              "content": "=Tu funci\u00f3n es analizar una variable llamada visitas y devolver dos variables que se asocian a ellas, llamadas \"link\" y \"captions\"\n\nTe env\u00edo toda la informaci\u00f3n en 3 arrays, los cuales contienen 1. \"las visitas de cada publicaci\u00f3n\" ; 2. \"los captions de cada publicaci\u00f3n\" ; 3. \"los links de cada publicaci\u00f3n\"\n\nCada posici\u00f3n de los 3 arrays est\u00e1 asociada a el mismo v\u00eddeo. Por ejemplo la posici\u00f3n 3 del array de visitas corresponde al mismo v\u00eddeo que la posici\u00f3n 3 del array de links y que la posici\u00f3n 3 del array de captions.\n\nTu funci\u00f3n es analizar el array de visitas y escoger las 3 posiciones que m\u00e1s visitas tienen para luego devolverme cada dato de visitas, link y caption de cada v\u00eddeo acumulados. Con este formato:\n\nVIDEO 1:\n\nVISITAS\n\nCAPTION\n\nLINK\n\n-----\n\nVIDEO 2:\n\nVISITAS\n\nCAPTION\n\nLINK\n\n-----\n\nVIDEO 3:\n\nVISITAS\n\nCAPTION\n\nLINK",
              "role": "system"
            },
            {
              "content": "=Visitas: {{ $json.videoPlayCount }}\n\nCaptions: {{ $json.caption }}\n\nLink: {{ $json.videoUrl }}"
            }
          ]
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        600,
        80
      ],
      "id": "fce91cc4-fa07-4a12-ad75-80da5f9623fd",
      "name": "Escoge los 3 ocn mas visitas",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "videoPlayCount"
            },
            {
              "fieldToAggregate": "caption"
            },
            {
              "fieldToAggregate": "videoUrl"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        460,
        80
      ],
      "id": "9627f7e1-3c96-406c-aeac-356d157dcceb",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "768c8d20-f5fd-46b7-ab45-6408c85a6e79",
              "leftValue": "={{ $json.type }}",
              "rightValue": "Video",
              "operator": {
                "type": "string",
                "operation": "equals",
                "name": "filter.operator.equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        320,
        80
      ],
      "id": "e2e172c8-92ac-4f61-a4f4-5b063225eb3f",
      "name": "Filter"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "1d7985f2-caa8-49ae-a199-35750ccf40dc",
              "name": "response",
              "value": "={{ $json.message.content }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        900,
        80
      ],
      "id": "cba89769-14ef-4375-aeaa-f7be268b882e",
      "name": "response2"
    },
    {
      "parameters": {
        "content": "## GET CONTENT\n",
        "height": 260,
        "width": 1100,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        0
      ],
      "id": "40b44cb4-ce4a-489e-9cab-425d4ffb94fc",
      "name": "Sticky Note2"
    }
  ],
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Window Buffer Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Update Base de Datos": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Actualiza el Sheets": {
      "main": [
        [
          {
            "node": "response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Divide la query": {
      "main": [
        [
          {
            "node": "Actualiza el Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Base de datos1": {
      "main": [
        [
          {
            "node": "Divide la query",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Descarga Video": {
      "main": [
        [
          {
            "node": "transcription",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "traduce ing a esp",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Transcript": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "traduce ing a esp": {
      "main": [
        [
          {
            "node": "response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "decide ing o esp": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "transcription": {
      "main": [
        [
          {
            "node": "decide ing o esp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Transcript1": {
      "main": [
        [
          {
            "node": "Descarga Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Content": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Content1": {
      "main": [
        [
          {
            "node": "Apify - Instagram Post Scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apify - Instagram Post Scraper": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Escoge los 3 ocn mas visitas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Escoge los 3 ocn mas visitas": {
      "main": [
        [
          {
            "node": "response2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "ae16c9b3-c177-4b0d-a4ad-c663a8b229db",
  "id": "7gQCMus6ZiHKIYgZ",
  "tags": [
    {
      "createdAt": "2025-04-15T10:25:34.592Z",
      "updatedAt": "2025-04-15T10:25:34.592Z",
      "id": "bqzshOIh7F9FNeW0",
      "name": "GRABADO"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Content Ai Agent. Uses agent, telegramTrigger, memoryBufferWindow, telegram. Event-driven trigger; 28 nodes.

Source: https://github.com/houseofichigo/json/blob/d73f6e7ccf65d535b168f46a7a2cdcb0a0f929ef/Content_AI_Agent.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +9
AI & RAG

Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon

OpenAI, HTTP Request, OpenAI Chat +7
AI & RAG

Transform your salon/service business with this streamlined Telegram automation system featuring Claude integration, zero-setup database management, and intelligent conversation handling. Claude MCP I

Redis, Agent Tool, Google Calendar +10
AI & RAG

Jarvis is a powerful multi-agent productivity assistant built in n8n. It works directly from Telegram and can understand both text messages and voice notes.

Telegram Trigger, Telegram, OpenAI +10
AI & RAG

This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste

Telegram, Telegram Trigger, Google Drive +8