{
  "id": "U8EOTtZvmZPMYc6m",
  "meta": {
    "instanceId": "workflow-a278e4d5",
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:56.925673",
    "updatedAt": "2025-09-29T07:07:56.925729",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "name": "Agentic Telegram AI bot with LangChain nodes and new tools",
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "nodes": [
    {
      "id": "13b3488e-af72-4d89-bef4-e9b895e3bf76",
      "name": "OpenAI Chat Model",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1640,
        580
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {
          "temperature": 0.7,
          "frequencyPenalty": 0.2
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "rveqdSfp7pCRON1T",
          "name": "Ted's Tech Talks OpenAi"
        }
      },
      "typeVersion": 1,
      "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow."
    },
    {
      "id": "864937a1-43f6-4055-bdea-61ab07db9903",
      "name": "Window Buffer Memory",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1760,
        580
      ],
      "parameters": {
        "sessionKey": "YOUR_CREDENTIAL_HERE",
        "contextWindowLength": 10
      },
      "typeVersion": 1,
      "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow."
    },
    {
      "id": "4ef838d4-feaa-4bd3-b2c7-ccd938be4373",
      "name": "Listen for incoming events",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        1580,
        360
      ],
      "webhookId": "322dce18-f93e-4f86-b9b1-3305519b7834",
      "parameters": {
        "updates": [
          "*"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "9dexJXnlVPA6wt8K",
          "name": "Chat & Sound"
        }
      },
      "typeVersion": 1,
      "notes": "This telegramTrigger node performs automated tasks as part of the workflow."
    },
    {
      "id": "fed51c41-2846-4a1a-a5f5-ce121ee7fe88",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1460,
        180
      ],
      "parameters": {
        "color": 7,
        "width": 926.3188190787038,
        "height": 553.452795998601,
        "content": "## Generate an image with Dall-E-3 and send it via Telegram"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "1c7a204b-3ed7-47bd-a434-202b05272d18",
      "name": "Send final reply",
      "type": "n8n-nodes-base.telegram",
      "onError": "continueErrorOutput",
      "position": [
        2140,
        360
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Listen for incoming events').first().json.message.from.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "9dexJXnlVPA6wt8K",
          "name": "Chat & Sound"
        }
      },
      "typeVersion": 1.1,
      "notes": "This telegram node performs automated tasks as part of the workflow."
    },
    {
      "id": "bebbe9d4-47ba-4c13-9e1e-d36bfe6e472e",
      "name": "Send back an image",
      "type": "n8n-nodes-base.telegramTool",
      "position": [
        2020,
        580
      ],
      "parameters": {
        "file": "={{ $fromAI(\"url\", \"a valid url of an image\", \"string\", \" \") }}",
        "chatId": "={{ $('Listen for incoming events').first().json.message.from.id }}",
        "operation": "sendDocument",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "9dexJXnlVPA6wt8K",
          "name": "Chat & Sound"
        }
      },
      "typeVersion": 1.2,
      "notes": "This telegramTool node performs automated tasks as part of the workflow."
    },
    {
      "id": "38f2410d-bd55-4ddf-8aaa-4e28919de78f",
      "name": "Generate image in Dalle",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1880,
        580
      ],
      "parameters": {
        "url": "{{ $env.API_BASE_URL }}",
        "method": "POST",
        "sendBody": true,
        "authentication": "{{ $credentials.predefinedCredentialType }}",
        "parametersBody": {
          "values": [
            {
              "name": "model",
              "value": "dall-e-3",
              "valueProvider": "fieldValue"
            },
            {
              "name": "prompt"
            }
          ]
        },
        "toolDescription": "Call this tool to request a Dall-E-3 model, when the user asks to draw something. If you gеt a response from this tool, forward it to the Telegram tool.",
        "nodeCredentialType": "YOUR_CREDENTIAL_HERE"
      },
      "credentials": {
        "openAiApi": {
          "id": "rveqdSfp7pCRON1T",
          "name": "Ted's Tech Talks OpenAi"
        }
      },
      "typeVersion": 1.1,
      "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "34265eab-9f37-475a-a2ae-a6c37c69c595",
      "name": "AI Agent",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1780,
        360
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "=You are a helpful assistant. You are communicating with a user named {{ $json.message.from.first_name }}. Address the user by name every time. If the user asks for an image, always send the link to the image in the final reply."
        },
        "promptType": "define"
      },
      "typeVersion": 1.7,
      "notes": "This agent node performs automated tasks as part of the workflow."
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": null,
    "timezone": "UTC",
    "executionTimeout": 3600,
    "maxExecutions": 1000,
    "retryOnFail": true,
    "retryCount": 3,
    "retryDelay": 1000
  },
  "versionId": "b36989c5-295a-4df6-84e9-776815509bc9",
  "connections": {
    "38f2410d-bd55-4ddf-8aaa-4e28919de78f": {
      "main": [
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-394adbe6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-e6c02b6f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-1c40ce67",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-01d6a854",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-ddfc89ef",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-08911b3f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-01fa6128",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-38f2410d-bd55-4ddf-8aaa-4e28919de78f-83f714cd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "13b3488e-af72-4d89-bef4-e9b895e3bf76": {
      "main": [
        [
          {
            "node": "error-handler-13b3488e-af72-4d89-bef4-e9b895e3bf76-2fa7202a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4ef838d4-feaa-4bd3-b2c7-ccd938be4373": {
      "main": [
        [
          {
            "node": "error-handler-4ef838d4-feaa-4bd3-b2c7-ccd938be4373-b58ee16b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1c7a204b-3ed7-47bd-a434-202b05272d18": {
      "main": [
        [
          {
            "node": "error-handler-1c7a204b-3ed7-47bd-a434-202b05272d18-ad3d160c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bebbe9d4-47ba-4c13-9e1e-d36bfe6e472e": {
      "main": [
        [
          {
            "node": "error-handler-bebbe9d4-47ba-4c13-9e1e-d36bfe6e472e-853fe860",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "description": "Automated workflow: Agentic Telegram AI bot with LangChain nodes and new tools. This workflow integrates 9 different services: telegramTrigger, stickyNote, telegram, toolHttpRequest, telegramTool. It contains 14 nodes and follows best practices for error handling and security.",
  "notes": "Excellent quality workflow: Agentic Telegram AI bot with LangChain nodes and new tools. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}