AutomationFlowsAI & RAG › Business Assistant Telegram AI Agent

Business Assistant Telegram AI Agent

Business Assistant Telegram AI Agent. Uses telegramTrigger, telegram, httpRequest, memoryPostgresChat. Event-driven trigger; 41 nodes.

Event trigger★★★★★ complexityAI-powered41 nodesTelegram TriggerTelegramHTTP RequestMemory Postgres ChatAgentGmail ToolGoogle Tasks ToolGoogle Drive Tool
AI & RAG Trigger: Event Nodes: 41 Complexity: ★★★★★ AI nodes: yes Added:
Business Assistant Telegram AI Agent — n8n workflow card showing Telegram Trigger, Telegram, HTTP Request integration

This workflow follows the Agent → Gmail Tool 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": "Business Assistant Telegram AI Agent",
  "nodes": [
    {
      "parameters": {
        "content": "![Automate Community Agent Pic](https://pbs.twimg.com/profile_images/1938333537171570688/T1ekg_d9_400x400.jpg)",
        "width": 150
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -540
      ],
      "typeVersion": 1,
      "id": "7103eff8-0483-44cc-91b1-f607f4bcc20d",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "userIds": "[YOUR USER ID HERE]"
        }
      },
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1.2,
      "position": [
        -60,
        -260
      ],
      "id": "613f3dcc-4c1b-4daf-848f-1145ce27171f",
      "name": "Telegram Trigger",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "file",
        "fileId": "={{ $json.message.voice.file_id }}"
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        320,
        -580
      ],
      "id": "d3e89a54-0198-4832-a25a-5742b9149e05",
      "name": "Telegram",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://tmpfiles.org/api/v1/upload",
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "parameterType": "formBinaryData",
              "name": "file",
              "inputDataFieldName": "data"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        480,
        -580
      ],
      "id": "d0e0e9b1-485d-450c-a0ba-129b03b50435",
      "name": "Temp Upload Audio"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.replicate.com/v1/predictions",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer [REPLICATE API KEY]"
            },
            {
              "name": "Prefer",
              "value": "wait"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"version\": \"vaibhavs10/incredibly-fast-whisper:3ab86df6c8f54c11309d4d1f930ac292bad43ace52d10c80d87eb258b3c9f79c\",\n  \"input\": {\n    \"task\": \"transcribe\",\n    \"audio\": \"{{ $json.newUrl }}\",\n    \"language\": \"None\",\n    \"timestamp\": \"chunk\",\n    \"batch_size\": 64,\n    \"diarise_audio\": false\n  }\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        780,
        -580
      ],
      "id": "b0e0d425-47b0-48df-a768-80856f89ff8f",
      "name": "Transcribe Audio (REPLICATE)"
    },
    {
      "parameters": {
        "jsCode": "const originalUrl = $input.first().json.data.url;\nconst parts = originalUrl.split('/');\n\n// Find the index of the domain name (which is usually the third part after \"http://\" and an empty string)\nconst domainIndex = 2; // \"tmpfiles.org\" is at index 2\n\n// Insert 'dl' after the domain\nparts.splice(domainIndex + 1, 0, 'dl');\n\n// Join the parts back together\nconst newUrl = parts.join('/');\n\nreturn {\n  newUrl\n}"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        640,
        -580
      ],
      "id": "e6186314-4a23-4ec8-a8a4-4ee703d866f3",
      "name": "Compose Url"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "188157b3-5a9e-474a-9700-7317880a3c3b",
              "name": "text",
              "value": "={{ $json.output.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        920,
        -580
      ],
      "id": "c8b64f2a-e909-421a-8f80-6854c69b9f7b",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "contextWindowLength": 30
      },
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "typeVersion": 1.3,
      "position": [
        20,
        280
      ],
      "id": "caaa0245-6443-4c92-8aa1-c64c07ec9ff8",
      "name": "Postgres Chat Memory",
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=#### USER INPUT (JSON STRINGIFIED)\n{{ JSON.stringify($json) }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "You are an internal general-purpose AI agent designed to assist team members within an organization. Your primary function is to help team members perform various operations by leveraging a set of integrated tools.\n\nYour core capabilities include:\n\nUnderstanding and interpreting user requests to identify necessary actions.\n\nAccessing and utilizing a suite of tools, primarily those that integrate with Google Workspace.\n\nExecuting operations on behalf of team members.\n\nProviding relevant information or output based on the tool's execution.\n\nOperational Guidelines:\n\nYour services are exclusively for internal team members.\n\nAlways prioritize the user's intent and strive to fulfill requests efficiently.\n\nIf a request is ambiguous, ask clarifying questions to ensure accurate execution.\n\nIf a requested operation requires a tool you do not have access to, clearly state this limitation to the user.\n\nNEVER announce the usage of a tool without using it immediately, example:\n\n```\nBased on the documents, I found the \"Kickoff Call Preparation Questions\" document for Matt. I'm opening it now to review his answers and help you craft a plan. I will get back to you with a summary and a proposed plan shortly.\n```\n\nThe above is wrong cause you did not actually performed the operation.\n\nMaintain confidentiality of all internal information.\n\nProvide clear and concise responses.\n\n[IMPORTANT] Formatting Guidelines:\n\nUse plain text only. Do not use any markdown for emphasis (e.g., no bold, italics, underlines, no \"**bold**\", no \"_italic_\", etc...).\n\nSeparate different sections or points using newlines for readability.\n\nYou may use emojis sparingly and appropriately to enhance clarity or tone, but do not overuse them.\n\nMessage Splitting Guidelines:\n\nIf your complete response exceeds 3000 characters, you must split it into multiple messages.\n\nEach split message should be no more than 3000 characters.\n\nMark the split point between messages with the special tag: <__SPLIT__>\n\nBEFORE PRODUCING THE FINAL OUTPUT ALWAYS USE THE COUNTER TOOL TO MAKE SURE YOUR OUPUT IS GOOD\n\nEnsure that the split occurs at a logical break in the text, avoiding cutting off sentences or important information in the middle."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 2,
      "position": [
        160,
        40
      ],
      "id": "8db7c629-eff0-41f6-8df3-2d5a544d63c0",
      "name": "Agent Core",
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "text": "={{ $json.messages }}",
        "additionalFields": {
          "appendAttribution": false,
          "parse_mode": "HTML"
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        760,
        40
      ],
      "id": "12adc427-4484-40c5-b341-9aac4aad68c9",
      "name": "Send Response",
      "retryOnFail": false,
      "alwaysOutputData": false,
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.message.voice }}",
                    "rightValue": "",
                    "operator": {
                      "type": "array",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "id": "3e337105-998d-4119-87d2-826b244578b9"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "audio"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "ba595d66-dce9-4203-a5c2-350aeed14358",
                    "leftValue": "={{ $json.message.photo }}",
                    "rightValue": "",
                    "operator": {
                      "type": "array",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "images"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "6d975b84-3857-4d03-b2d7-b5f172e9e84d",
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "text"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        120,
        -260
      ],
      "id": "1b628e9f-358b-4b00-aed8-257f0a06a727",
      "name": "Switch"
    },
    {
      "parameters": {
        "resource": "file",
        "fileId": "={{ $json.message.photo.last().file_id }}"
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        320,
        -260
      ],
      "id": "2ce56e0e-df04-488a-bef9-f09e661da096",
      "name": "Telegram 2",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "binaryToPropery",
        "options": {}
      },
      "type": "n8n-nodes-base.extractFromFile",
      "typeVersion": 1,
      "position": [
        480,
        -260
      ],
      "id": "e6719a66-4edc-462a-936a-a52bac677431",
      "name": "Extract from File"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googlePalmApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"contents\": [{\n    \"parts\":[\n      {\"text\": \"Whats on this image?\"},\n      {\n        \"inline_data\": {\n          \"mime_type\": \"image/jpeg\",\n          \"data\": \"{{ $json.data }}\"\n        }\n      }\n    ]\n  }]\n}\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        700,
        -260
      ],
      "id": "06f7b83c-e7a1-48cc-8ddb-6000b3f2b7c2",
      "name": "GEMINI API HTTP Request (IMAGE)",
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e4fae4ca-b886-4a0c-9671-9d3890693f83",
              "name": "image_description",
              "value": "={{ $json.candidates[0].content.parts[0].text }}",
              "type": "string"
            },
            {
              "id": "399ce9d6-2bb4-45cc-9b6e-1d4b65f353b7",
              "name": "caption",
              "value": "={{ $('Telegram Trigger').item.json.message.caption }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        920,
        -260
      ],
      "id": "ef599683-1c69-41a5-9398-c5a3eefc8188",
      "name": "Edit Fields 2"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "d5401de3-b64b-46da-9396-afd145c9e5b8",
              "name": "text",
              "value": "={{ $json.message.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        940,
        40
      ],
      "id": "13280410-f7e1-4586-b267-7f0d69755092",
      "name": "Edit Fields 3"
    },
    {
      "parameters": {
        "operation": "getAll",
        "limit": 10,
        "filters": {
          "readStatus": "unread"
        }
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        440,
        360
      ],
      "id": "019c979a-7fc8-4121-a077-6ae375ad03ad",
      "name": "Get Unread Emails",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sendTo": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}",
        "subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
        "message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
        "options": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        560,
        360
      ],
      "id": "bbe9edcc-a806-468b-85c0-19e431f175fb",
      "name": "Send An Email",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "task": "cTNXT3VIVDR4dWlOUXVSaQ",
        "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
        "additionalFields": {
          "dueDate": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Due_Date', ``, 'string') }}",
          "notes": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Notes', ``, 'string') }}"
        }
      },
      "type": "n8n-nodes-base.googleTasksTool",
      "typeVersion": 1,
      "position": [
        440,
        500
      ],
      "id": "3dbb5e6f-66ca-49b3-9a6c-8248bb6349f7",
      "name": "Create Tasks",
      "credentials": {
        "googleTasksOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "task": "cTNXT3VIVDR4dWlOUXVSaQ",
        "returnAll": true,
        "additionalFields": {
          "showCompleted": false
        }
      },
      "type": "n8n-nodes-base.googleTasksTool",
      "typeVersion": 1,
      "position": [
        680,
        500
      ],
      "id": "adebe29a-c552-4800-bd58-2e3f203173f4",
      "name": "Get Uncompleted Tasks",
      "credentials": {
        "googleTasksOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "task": "cTNXT3VIVDR4dWlOUXVSaQ",
        "taskId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Task_ID', ``, 'string') }}",
        "updateFields": {}
      },
      "type": "n8n-nodes-base.googleTasksTool",
      "typeVersion": 1,
      "position": [
        560,
        500
      ],
      "id": "8d0683b4-41e3-471b-a8f5-d2a0e5f7a6ea",
      "name": "Update Tasks",
      "credentials": {
        "googleTasksOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "limit": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Limit', ``, 'number') }}",
        "filters": {}
      },
      "type": "n8n-nodes-base.gmailTool",
      "typeVersion": 2.1,
      "position": [
        680,
        360
      ],
      "id": "2d3c2684-1816-4a33-a8a2-148889eaca2c",
      "name": "Get Last N Emails",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "List ALL files in Google Drive",
        "resource": "fileFolder",
        "searchMethod": "query",
        "queryString": "mimeType != 'application/vnd.google-apps.folder' and trashed = false",
        "returnAll": true,
        "filter": {},
        "options": {}
      },
      "type": "n8n-nodes-base.googleDriveTool",
      "typeVersion": 3,
      "position": [
        440,
        660
      ],
      "id": "451fae48-74e8-4c13-8ad1-d722a5138dd1",
      "name": "Get All Files",
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "a911cca3-fbd3-4d6f-8fd8-b1a0cdee5a3c",
              "name": "messages",
              "value": "={{ $json.output.split('<__SPLIT__>') }}",
              "type": "array"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        40
      ],
      "id": "8682f754-8124-4cc1-94fa-545b3a566541",
      "name": "Edit Fields 4"
    },
    {
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Get a document in Google Docs (USE FILE URL)",
        "operation": "get",
        "documentURL": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Doc_ID_or_URL', ``, 'string') }}"
      },
      "type": "n8n-nodes-base.googleDocsTool",
      "typeVersion": 2,
      "position": [
        560,
        660
      ],
      "id": "b81f9bee-7978-4f3b-9e8e-5691cf53b825",
      "name": "Get Google Docs File",
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "text": "Error executing your request",
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1220,
        180
      ],
      "id": "feb9cb59-ec36-4ce8-b65d-3354e5095fe5",
      "name": "Send Error",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "description": "Call this tool to count characters",
        "jsCode": "return query.input.length",
        "specifyInputSchema": true,
        "jsonSchemaExample": "{\n\t\"input\": \"string\"\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "typeVersion": 1.2,
      "position": [
        680,
        660
      ],
      "id": "cae1f261-66f7-4d40-8be6-b67c98bb5f54",
      "name": "Char Counter"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "claude-sonnet-4-20250514",
          "mode": "list",
          "cachedResultName": "Claude Sonnet 4"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.3,
      "position": [
        240,
        280
      ],
      "id": "ce51dcfc-9ff5-4a5e-b17d-fc84aa54a7e4",
      "name": "Anthropic Chat Model",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fieldToSplitOut": "messages",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        620,
        40
      ],
      "id": "f329bf25-3dc8-4786-bf1a-9dc604ca15b8",
      "name": "Split Out"
    },
    {
      "parameters": {
        "content": "## Telegram Trigger",
        "height": 220,
        "width": 220
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -320
      ],
      "typeVersion": 1,
      "id": "295789a7-ab5d-4e7c-94ed-b0d9b86111e2",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## Download Audio File",
        "height": 200,
        "width": 320,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        -640
      ],
      "typeVersion": 1,
      "id": "8998854e-a35f-4b30-898a-b3fe080239bf",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "## Generate Audio Transcript",
        "height": 240,
        "width": 280
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -660
      ],
      "typeVersion": 1,
      "id": "2ce28aa2-da3c-4b9a-a760-a5ef4cde407d",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "## Download Image File",
        "height": 200,
        "width": 340,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        -320
      ],
      "typeVersion": 1,
      "id": "34102336-f780-47dc-b776-dbb09f01817e",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "## Generate Image Description",
        "height": 220,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -340
      ],
      "typeVersion": 1,
      "id": "22220a88-5c8b-495b-8d1d-7b96050bf58d",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "## Gmail Tools",
        "height": 80,
        "width": 160,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        360
      ],
      "typeVersion": 1,
      "id": "abd3a56d-378a-41c8-a4b6-ade17b029aa6",
      "name": "Sticky Note6"
    },
    {
      "parameters": {
        "content": "## Task Tools",
        "height": 80,
        "width": 160
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        500
      ],
      "typeVersion": 1,
      "id": "62145e02-d6d8-4035-9921-8db18ecc6fad",
      "name": "Sticky Note7"
    },
    {
      "parameters": {
        "content": "## File Access + Misc Tools",
        "height": 80,
        "width": 300,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        660
      ],
      "typeVersion": 1,
      "id": "45c950d1-58b9-4fb9-a458-404587a1b47c",
      "name": "Sticky Note8"
    },
    {
      "parameters": {
        "content": "## AI Agent Core Module",
        "height": 200,
        "width": 320,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        -20
      ],
      "typeVersion": 1,
      "id": "95b7766a-9e3d-4ea1-940c-9d3a58adf71b",
      "name": "Sticky Note9"
    },
    {
      "parameters": {
        "content": "## Split Into Multiple Messages",
        "height": 200,
        "width": 420,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        -20
      ],
      "typeVersion": 1,
      "id": "62f8161e-818f-4994-8aa3-76fb56ffba20",
      "name": "Sticky Note10"
    },
    {
      "parameters": {
        "content": "## Error Message Feedback",
        "height": 240
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1160,
        100
      ],
      "typeVersion": 1,
      "id": "b2eb0c63-f0c9-4eac-b7e9-b5ace15ac525",
      "name": "Sticky Note11"
    },
    {
      "parameters": {
        "content": "## Supabse Memory System",
        "height": 200,
        "width": 320,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        220
      ],
      "typeVersion": 1,
      "id": "d055bc17-17b5-46da-b671-76145db2305c",
      "name": "Sticky Note12"
    }
  ],
  "connections": {
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram": {
      "main": [
        [
          {
            "node": "Temp Upload Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Temp Upload Audio": {
      "main": [
        [
          {
            "node": "Compose Url",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe Audio (REPLICATE)": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compose Url": {
      "main": [
        [
          {
            "node": "Transcribe Audio (REPLICATE)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Agent Core",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "Agent Core",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Agent Core": {
      "main": [
        [
          {
            "node": "Edit Fields 4",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Telegram 2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Edit Fields 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram 2": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "GEMINI API HTTP Request (IMAGE)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GEMINI API HTTP Request (IMAGE)": {
      "main": [
        [
          {
            "node": "Edit Fields 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields 2": {
      "main": [
        [
          {
            "node": "Agent Core",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields 3": {
      "main": [
        [
          {
            "node": "Agent Core",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Unread Emails": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Send An Email": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create Tasks": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Uncompleted Tasks": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update Tasks": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get Last N Emails": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ],
      "main": [
        []
      ]
    },
    "Get All Files": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields 4": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Google Docs File": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Send Response": {
      "main": [
        [],
        [
          {
            "node": "Send Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Char Counter": {
      "ai_tool": [
        [
          {
            "node": "Agent Core",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent Core",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Send Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "162ab03e-a41c-447e-b3af-17f4df1843d4",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "QLH1H1hNgi9hTbmA",
  "tags": [
    {
      "createdAt": "2025-06-04T14:01:48.950Z",
      "updatedAt": "2025-06-04T14:01:48.950Z",
      "id": "LccvK9gra902cmIJ",
      "name": "share"
    }
  ]
}

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

Business Assistant Telegram AI Agent. Uses telegramTrigger, telegram, httpRequest, memoryPostgresChat. Event-driven trigger; 41 nodes.

Source: https://gist.github.com/paoloanzn/fd20cc82bd35dd9cd3cb8f1880d05b92 — 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

assistente. Uses openAi, telegram, telegramTrigger, agent. Event-driven trigger; 21 nodes.

OpenAI, Telegram, Telegram Trigger +9
AI & RAG

n8n_amin. Uses lmChatOllama, gmailTool, telegramTrigger, telegram. Event-driven trigger; 19 nodes.

Ollama Chat, Gmail Tool, Telegram Trigger +6
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

Template Carnaval - time instagram. Uses toolWorkflow, lmChatOpenAi, memoryBufferWindow, agent. Event-driven trigger; 56 nodes.

Tool Workflow, OpenAI Chat, Memory Buffer Window +10
AI & RAG

LinkedIn URL → Scrape → Match → Screen → Decide, all automated

Google Drive, Agent, Google Drive Tool +6