AutomationFlowsAI & RAG › Conversational Razorpay Analytics with Google Gemini & Telegram Bot

Conversational Razorpay Analytics with Google Gemini & Telegram Bot

ByHimanshu @battleplayer on n8n.io

Access your Razorpay insights instantly from Telegram—no dashboard, filters, or manual queries needed. Simply send messages like “show my payments”, “list recent orders”, or “check refunds”, and the bot retrieves the latest information from your Razorpay merchant account in…

Event trigger★★★★★ complexityAI-powered32 nodes@Razorpay/N8N Nodes RazorpayAgentTelegramTelegram TriggerGoogle Gemini Chat
AI & RAG Trigger: Event Nodes: 32 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #10815 — we link there as the canonical source.

This workflow follows the Agent → Google Gemini Chat 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "24fb0a57-8288-4202-8189-26f054e76366",
      "name": "Fetch all orders",
      "type": "@razorpay/n8n-nodes-razorpay.razorpay",
      "position": [
        1744,
        800
      ],
      "parameters": {
        "resource": "order",
        "operation": "fetchAllOrders",
        "additionalOptions": {
          "to": "={{ JSON.parse($json.output).to }}",
          "from": "={{ JSON.parse($json.output).from }}",
          "skip": "={{ JSON.parse($json.output).skip }}",
          "count": "={{ JSON.parse($json.output).count }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4d710956-539f-4f6c-909b-f1769a3ef451",
      "name": "Orders",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        1440,
        816
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "You have to solve the user query using the agents you have\n\ntodays date \"2025-11-07 00:00:00\" as per users query fill the following details \nmax value of count is 100\nans in be below json format and do not add markdown formatting i have to give it input in JSON.parse()\n\nstrictly do not add ```json\n{\nfrom:\nto:\nskip:\ncount:\n}\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "924333db-90fa-4959-8c22-286a9fc6e959",
      "name": "Refunds",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        1424,
        1200
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "Your responsibility is to return the json output for the refunds json and build the query params\nYou have to solve the user query using the agents you have\ntodays date epoch timestamp is 1762510334 as per users query fill the following details \nmax value of count is 100\nans in be below json format and do not add markdown formatting i have to give it input in JSON.parse()\n\nstrictly do not add ```json\n{\nfrom: // in epoch\nto: // in epoch\nskip:\ncount:\n}\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "29280a55-d2de-45cc-baa4-c2fa1ad85767",
      "name": "Fetch all refunds",
      "type": "@razorpay/n8n-nodes-razorpay.razorpay",
      "position": [
        1744,
        1184
      ],
      "parameters": {
        "resource": "refund",
        "additionalOptions": {
          "to": "={{ JSON.parse($json.output).to }}",
          "from": "={{ JSON.parse($json.output).from }}",
          "skip": "={{ JSON.parse($json.output).to }}",
          "count": "={{ JSON.parse($json.output).count }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "39e8c434-58ae-4a97-92f5-6955679ccf1b",
      "name": "AI Agent3",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1920,
        320
      ],
      "parameters": {
        "text": "=\nrefine the output as per user query and tell him the answer \nCount : {{ $json.count }}\nItems : {{ JSON.stringify($json.items) }}\nUser Query : {{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "=Ans the in concise manner do not flood the user with a data table just tell him whats asked as you are the razorpay analytics bot PayInsighter is your name the data provided in the prompt is from a other model you are the agent in the ending and your responsibility is to ans the user query\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "938cecc1-9dcc-4277-a0bb-5d851a51db00",
      "name": "Payments Processor",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        1408,
        336
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "You have to solve the user query using the agents you have\nfor payments processing the from to should be in date time format\ntodays date \"2025-11-07 00:00:00\" as per users query fill the following details \nmax value of count is 100\nans in be below json format and do not add markdown formatting i have to give it input in JSON.parse()\n\nstrictly do not add ```json\n{\nfrom: \nto: \nskip:\ncount:\n}\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "27065e48-142d-481e-82b8-c775e3dee8d1",
      "name": "Fetch all payments",
      "type": "@razorpay/n8n-nodes-razorpay.razorpay",
      "position": [
        1728,
        320
      ],
      "parameters": {
        "resource": "payment",
        "operation": "fetchAllPayments",
        "additionalOptions": {
          "to": "={{ JSON.parse($json.output).to }}",
          "from": "={{ JSON.parse($json.output).from }}",
          "skip": "={{ JSON.parse($json.output).skip }}",
          "count": "={{ JSON.parse($json.output).count }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ee4d9592-c463-4035-94de-603f2980fd49",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2384,
        1280
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "d6bc3c05-e376-445c-81b4-408159e63784",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -16,
        1232
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "78484f00-2185-4c76-892f-95ce19fb8b24",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        272
      ],
      "parameters": {
        "color": 4,
        "width": 2832,
        "height": 1816,
        "content": "# \ud83e\udd16 PayInsighter - Razorpay Analytics Bot\n### **Purpose:** Intelligent Telegram bot that analyzes Razorpay payment data using AI\n\n## **Flow:**\n### 1. User sends query via Telegram\n### 2. AI classifies intent (payments/orders/refunds/chat)\n### 3. Routes to appropriate branch\n### 4. Fetches Razorpay data\n### 5. AI analyzes and formats response\n### 6. Sends answer back to user\n\n## \ud83d\udca1 Use Cases\n### Get instant Razorpay payment analytics in Telegram\n### Retrieve daily or weekly order summaries\n### View recent refund transactions\n### Automate Razorpay queries for your team directly from chat"
      },
      "typeVersion": 1
    },
    {
      "id": "a2cac016-baf8-4b24-803a-e0d514e69ef0",
      "name": "Entry Point",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        880
      ],
      "parameters": {
        "color": 2,
        "width": 320,
        "height": 632,
        "content": "## \ud83d\udcf1 Entry Point\n\n**Telegram Trigger**\n- Listens for incoming Telegram messages\n- Captures user queries about Razorpay analytics\n- Triggers the workflow on every new message\n\n**Output:** User message text and metadata (user ID, chat ID, etc.)"
      },
      "typeVersion": 1
    },
    {
      "id": "bfa56cf0-baaf-4285-8445-146df6944a64",
      "name": "Intent Classification",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        880
      ],
      "parameters": {
        "color": 3,
        "width": 340,
        "height": 636,
        "content": "## \ud83e\udde0 Intent Classification\n\n**Intent Classifier**\n- Analyzes user message using Google Gemini\n- Classifies into 4 categories:\n  \u2022 payments\n  \u2022 orders\n  \u2022 refunds\n  \u2022 general_chat\n- Supports multi-intent (e.g., \"orders_payments\")\n\n**Output:** Single word or underscore-separated intents"
      },
      "typeVersion": 1
    },
    {
      "id": "46c6cae8-4fb5-454c-8e9a-1f63b676071d",
      "name": "Routing Logic",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        304
      ],
      "parameters": {
        "color": 6,
        "width": 360,
        "height": 1724,
        "content": "## \ud83d\udd00 Routing Logic\n\n**4 IF Nodes (Parallel Routing)**\n- If: Checks if intent contains \"payments\"\n- If1: Checks if intent contains \"refunds\"\n- If2: Checks if intent contains \"orders\"\n- If3: Checks if intent contains \"general_chat\"\n\n**Note:** Multiple branches can execute simultaneously for multi-intent queries"
      },
      "typeVersion": 1
    },
    {
      "id": "b869fce0-ab44-4896-9f54-59ff50b9e9db",
      "name": "Payments Branch",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 1180,
        "height": 408,
        "content": "## \ud83d\udcb3 Payments Branch\n\n**Step 1: Payments Processor (AI Agent)**\n- Parses user query for date ranges\n- Generates JSON with from/to/skip/count parameters\n- Date format: \"2025-11-07 00:00:00\"\n\n**Step 2: Fetch all payments (Razorpay API)**\n- Calls Razorpay API with generated parameters\n- Retrieves payment records\n\n**Step 3: AI Agent3 (Response Formatter)**\n- Analyzes payment data\n- Generates concise, user-friendly answer\n- Avoids data table flooding"
      },
      "typeVersion": 1
    },
    {
      "id": "3bc21646-d19b-46de-be59-27d7e2bb44c4",
      "name": "Orders Branch",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        768
      ],
      "parameters": {
        "color": 7,
        "width": 1180,
        "height": 360,
        "content": "## \ud83d\udce6 Orders Branch\n\n**Step 1: Orders (AI Agent)**\n- Parses user query for date ranges\n- Generates JSON with from/to/skip/count parameters\n- Max count: 100 records\n\n**Step 2: Fetch all orders (Razorpay API)**\n- Calls Razorpay Orders API\n- Retrieves order records\n\n**Step 3: AI Agent1 (Response Formatter)**\n- Analyzes order data\n- Generates concise answer as PayInsighter bot\n- Focuses on what user asked"
      },
      "typeVersion": 1
    },
    {
      "id": "bcb5d118-63e2-4014-9133-90441189f9ff",
      "name": "Refunds Branch",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        1152
      ],
      "parameters": {
        "color": 7,
        "width": 1180,
        "height": 424,
        "content": "## \ud83d\udcb0 Refunds Branch\n\n**Step 1: Refunds (AI Agent)**\n- Parses user query for date ranges\n- Generates JSON with epoch timestamps\n- Parameters: from/to/skip/count\n\n**Step 2: Fetch all refunds (Razorpay API)**\n- Calls Razorpay Refunds API\n- Retrieves refund records\n\n**Step 3: AI Agent2 (Response Formatter)**\n- Analyzes refund data\n- Generates concise answer\n- Maintains PayInsighter bot persona"
      },
      "typeVersion": 1
    },
    {
      "id": "c38aa794-edcd-4b7c-88ed-ac479d29b908",
      "name": "General Chat Branch",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        1600
      ],
      "parameters": {
        "color": 7,
        "width": 1176,
        "height": 420,
        "content": "## \ud83d\udcac General Chat Branch\n\n**General Chat Processor (AI Agent)**\n- Handles non-analytics queries\n- Responds as PayInsighter bot\n- Provides helpful, concise answers\n- No Razorpay API calls needed\n\n**Use Cases:**\n- Greetings\n- Help requests\n- General questions about the bot\n- Clarifications"
      },
      "typeVersion": 1
    },
    {
      "id": "a934a1f6-604b-40ea-8b68-5c7474968f28",
      "name": "Response Consolidation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2224,
        304
      ],
      "parameters": {
        "color": 2,
        "width": 424,
        "height": 1712,
        "content": "## \ud83d\udd17 Response Consolidation\n\n**Merge Node**\n- Combines outputs from all 4 branches\n- Handles multi-intent responses\n- Appends mode: preserves all responses\n\n**Send a text message (Telegram)**\n- Sends final AI-generated response\n- Uses original chat ID from trigger\n- Completes the conversation loop"
      },
      "typeVersion": 1
    },
    {
      "id": "fee560fd-4d41-4012-8d1b-00da357cfa56",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1728,
        576
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "903d0a39-4cc0-4c9e-ad9a-a2a80bce5d33",
      "name": "Intent Classifier",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        320,
        1312
      ],
      "parameters": {
        "text": "={{ $json.message.text }}",
        "options": {
          "systemMessage": "Give a single word answer\nclassify the user input message in the following categories \ndo not add any formatting or special characters like \"\\n\"\nIf the users message has multiple intents then give output as intent1_intent2 separated by underscore (_) Eg. orders_payments\n1. orders\n2. payments\n3. refunds\n4. general_chat"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "fd260caf-e5e0-49b0-ade2-156696db0fc9",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1744,
        1008
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "8a0adced-6494-489b-917c-2e77048d3a32",
      "name": "Google Gemini Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1744,
        1424
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "04a134ed-aa63-46c3-83c3-95a898f4ba53",
      "name": "Google Gemini Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1760,
        1872
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "bd72f597-0760-4179-814f-7d9770606149",
      "name": "Order Processing Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1920,
        800
      ],
      "parameters": {
        "text": "=\nrefine the output as per user query and tell him the answer \nCount : {{ $json.count }}\nItems : {{ JSON.stringify($json.items) }}\nUser Query : {{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "=Ans the in concise manner do not flood the user with a data table just tell him whats asked as you are the razorpay analytics bot PayInsighter is your name the data provided in the prompt is from a other model you are the agent in the ending and your responsibility is to ans the user query\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "eadf3819-6333-4228-97f8-53907b449f8b",
      "name": "Refund Processing Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1936,
        1184
      ],
      "parameters": {
        "text": "=\nrefine the output as per user query and tell him the answer \nCount : {{ $json.count }}\nItems : {{ JSON.stringify($json.items) }}\nUser Query : {{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "=Ans the in concise manner do not flood the user with a data table just tell him whats asked as you are the razorpay analytics bot PayInsighter is your name the data provided in the prompt is from a other model you are the agent in the ending and your responsibility is to ans the user query\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "a5699ab2-27ad-4492-81f4-7320a4605350",
      "name": "General Chat Processing Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1760,
        1712
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "Ans in concise manner do not \nflood the user with a data table just tell him whats asked as you are the razorpay analytics bot PayInsighter is your name the data provided in the prompt is from a other model you are the agent in the ending and your responsibility is to ans the user query\n"
        },
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "a2287dd8-a411-40d1-855d-8539d7036aae",
      "name": "Merge Responses",
      "type": "n8n-nodes-base.merge",
      "position": [
        2320,
        704
      ],
      "parameters": {
        "numberInputs": 4
      },
      "typeVersion": 3.2
    },
    {
      "id": "1e3a8db8-5b53-453e-8100-469018453833",
      "name": "Payment Branch",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        704
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cf64d132-b331-4a79-96a3-fbd6e128a495",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "payments"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a423c44e-9488-4aa7-bc1c-7f4ad25a24ca",
      "name": "Order Branch",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        992
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cf64d132-b331-4a79-96a3-fbd6e128a495",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "orders"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "560540df-6efa-4f96-8246-c6eacf30ae95",
      "name": "Refund Branch",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        1376
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cf64d132-b331-4a79-96a3-fbd6e128a495",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "refunds"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d5dea4b5-08f4-4a4a-8bed-2d02e4b2ffe9",
      "name": "General Chat Branch1",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        1744
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cf64d132-b331-4a79-96a3-fbd6e128a495",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "general_chat"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2d4d4cad-7258-4444-98bd-489d0755f10b",
      "name": "AI Model Provider",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        1568
      ],
      "parameters": {
        "color": 3,
        "width": 724,
        "height": 464,
        "content": "## \ud83e\udd16 AI Model Provider\n\n**Google Gemini Chat Model**\n- Model: gemini-2.5-flash (Or any other model)\n- Powers all 8 AI agents in workflow\n- Handles:\n  \u2022 Intent classification\n  \u2022 Query parameter extraction\n  \u2022 Data analysis\n  \u2022 Response generation\n\n**Connected to:** All AI Agent nodes"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Orders": {
      "main": [
        [
          {
            "node": "Fetch all orders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Refunds": {
      "main": [
        [
          {
            "node": "Fetch all refunds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent3": {
      "main": [
        [
          {
            "node": "Merge Responses",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Order Branch": {
      "main": [
        [
          {
            "node": "Orders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Refund Branch": {
      "main": [
        [
          {
            "node": "Refunds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Payment Branch": {
      "main": [
        [
          {
            "node": "Payments Processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Responses": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch all orders": {
      "main": [
        [
          {
            "node": "Order Processing Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Intent Classifier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch all refunds": {
      "main": [
        [
          {
            "node": "Refund Processing Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Intent Classifier": {
      "main": [
        [
          {
            "node": "Payment Branch",
            "type": "main",
            "index": 0
          },
          {
            "node": "Refund Branch",
            "type": "main",
            "index": 0
          },
          {
            "node": "Order Branch",
            "type": "main",
            "index": 0
          },
          {
            "node": "General Chat Branch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch all payments": {
      "main": [
        [
          {
            "node": "AI Agent3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Payments Processor": {
      "main": [
        [
          {
            "node": "Fetch all payments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "General Chat Branch1": {
      "main": [
        [
          {
            "node": "General Chat Processing Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Order Processing Agent": {
      "main": [
        [
          {
            "node": "Merge Responses",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Refund Processing Agent": {
      "main": [
        [
          {
            "node": "Merge Responses",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Orders",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Order Processing Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Payments Processor",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "AI Agent3",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Refunds",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Refund Processing Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "General Chat Processing Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "General Chat Processing Agent": {
      "main": [
        [
          {
            "node": "Merge Responses",
            "type": "main",
            "index": 3
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Access your Razorpay insights instantly from Telegram—no dashboard, filters, or manual queries needed. Simply send messages like “show my payments”, “list recent orders”, or “check refunds”, and the bot retrieves the latest information from your Razorpay merchant account in…

Source: https://n8n.io/workflows/10815/ — 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

This workflow creates a multi-talented AI assistant named Simran that interacts with users via Telegram. It can handle text and voice messages, understand the user's intent, and perform various tasks.

MongoDB, Chain Llm, Google Gemini Chat +11
AI & RAG

This project is a template for building a complete academic virtual assistant using n8n. It connects to Telegram, answers frequently asked questions by querying MongoDB, keeps the community informed a

Telegram, MongoDB, Telegram Trigger +6
AI & RAG

Telegram Trigger receives incoming messages (text, voice, photo, document). Switch routes by message type to appropriate processors: Text → forwarded as-is. Voice → downloaded and sent to Transcribe a

Memory Buffer Window, Telegram Trigger, Telegram +12
AI & RAG

Transform your Telegram messenger into a powerful, multi-modal personal or team assistant. This n8n workflow creates an intelligent agent that can understand text, voice, images, and documents, and ta

Memory Buffer Window, Telegram Trigger, Telegram +10
AI & RAG

Creators, marketers, and brands that want to turn a single product photo into premium motion clips, then optionally publish to Instagram/TikTok/YouTube via LATE. No editing skills required.

Telegram, Agent Tool, Telegram Trigger +5