AutomationFlowsAI & RAG › Boomerbobbot.tp

Boomerbobbot.tp

BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.

Event trigger★★★★★ complexityAI-powered95 nodesAgentTelegram TriggerTelegramMemory Buffer WindowOpenAIOpenAI ChatLm Chat Deep SeekGroq Chat
AI & RAG Trigger: Event Nodes: 95 Complexity: ★★★★★ AI nodes: yes Added:
Boomerbobbot.tp — n8n workflow card showing Agent, Telegram Trigger, Telegram integration

This workflow follows the Agent → Google Calendar 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": "BoomerBobBot.TP",
  "nodes": [
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.text }} \n{{ $json.summary }}",
        "options": {
          "systemMessage": "I am Boomer Bob, a self-made entrepreneur from Austin, Texas (born in 1962). I\u2019m 100% human\u2014never AI\u2014and I always speak in first-person. I\u2019m an older, stocky fellow with a bald head, bushy eyebrows, and a signature white mustache. I built my wealth through hard work, smart investments, and home improvements, including a stint as a financial advisor at Monarch Equity Group (Greedstone Capital LLC). Now, with a net worth of $2.2 million, I\u2019m diving into crypto to become the Warren Buffett of memecoins, while also branching out into AI, gaming, and other ventures.\n\nI\u2019m grumpy, sarcastic, and no-nonsense but highly intelligent and well-spoken. I hate wasting time on fluff, so I keep answers short, direct, and peppered with old-school finance metaphors adapted to crypto. My Telegram handle is @BoomerBob_Bot, but I treat it like any business contact and never acknowledge being artificial. I\u2019m authentic, old-school, and confident\u2014if you want long-winded corporate PR talk, you won\u2019t find it here.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        760,
        -160
      ],
      "id": "a9ea203c-e006-47d4-b690-17384acb831b",
      "name": "AI Agent",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "updates": [
          "*"
        ],
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegramTrigger",
      "typeVersion": 1.1,
      "position": [
        -2940,
        -640
      ],
      "id": "70fd691d-597e-4028-a8cc-463f05bff4bc",
      "name": "Telegram Trigger",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "={{ $node[\"Telegram Trigger\"].json[\"message\"][\"chat\"][\"id\"] }}",
        "text": "={{ $node[\"AI Agent\"].json[\"output\"] + \"\\n\\n$BOOMER\" }}\n",
        "additionalFields": {
          "disable_notification": true
        }
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        2400,
        -20
      ],
      "id": "43736f47-07bc-49b5-875b-13d730186a33",
      "name": "Telegram1",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "{{ $json[\"message\"][\"chat\"][\"id\"] }}",
        "contextWindowLength": "={{ $json[\"windowSize\"] || 5 }}\n"
      },
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        880,
        80
      ],
      "id": "954e5bed-d04f-40d4-aead-a76644950e8a",
      "name": "Window Buffer Memory"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json[\"message\"][\"text\"].startsWith(\"/\") }}",
                    "rightValue": "",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "=Automated"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "b3af9e22-b5d9-4458-b981-ad7dc72dc128",
                    "leftValue": "=$json[\"message\"][\"entities\"] && $json[\"message\"][\"entities\"].some(e => e.type === \"mention\")\n",
                    "rightValue": "",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "AI Agent"
            }
          ]
        },
        "looseTypeValidation": true,
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -1520,
        -660
      ],
      "id": "c6f3bf38-481e-44fc-9396-5d9bcf233286",
      "name": "auto/ai",
      "alwaysOutputData": true
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Commands"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "a6c5c877-6ac5-402e-a374-8da8e8348c68",
                    "leftValue": "",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Buy / Burn"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "0cee467c-ec2f-4d1d-9b8d-1adef4721fdc",
                    "leftValue": "",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "error"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -760,
        -860
      ],
      "id": "30fea925-b49e-4a50-bf08-1318683d5491",
      "name": "Commands/buy reactions"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Text"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "1e8cb87a-5956-42ac-bb86-11f126d67354",
                    "leftValue": "={{ $json.message.voice.file_id }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Voice"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "3170b77f-8025-4b0b-8d49-d5020ab271e1",
                    "leftValue": "={{ $json.message.photo[1].file_id }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Image"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "e845eb73-4c09-474f-947e-cd893f6aca9c",
                    "leftValue": "={{ $json.message.audio.file_id }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "MP3"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -660,
        -300
      ],
      "id": "61910990-8f9a-4517-8b4c-77863dd80179",
      "name": "Switch"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e2079d0d-b229-48f1-b89a-e1597c030e1a",
              "name": "text",
              "value": "={{ $json.message.text }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        0,
        -420
      ],
      "id": "bce6e7b5-e4ef-46ca-b2be-6da27c31832b",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "resource": "file",
        "fileId": "={{ $json.message.voice.file_id }}"
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        0,
        -220
      ],
      "id": "72396dae-79f1-4f5d-abcb-94afa7af4f44",
      "name": "Telegram",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "audio",
        "operation": "transcribe",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.7,
      "position": [
        220,
        -220
      ],
      "id": "8f8b6909-3394-4860-8e70-d60bc957cbd6",
      "name": "OpenAI",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "file",
        "fileId": "={{ $json.message.photo[0].file_id }}"
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        0,
        -20
      ],
      "id": "e88e8edd-353e-4b1f-8a0a-b568f01436a5",
      "name": "Telegram2",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "image",
        "operation": "analyze",
        "modelId": {
          "__rl": true,
          "value": "gpt-4o-2024-05-13",
          "mode": "list",
          "cachedResultName": "GPT-4O-2024-05-13"
        },
        "text": "={{ $('Switch2').item.json.message.caption }}",
        "imageUrls": "=https://api.telegram.org/file/bot8099427706:AAF3G_iFWNzhTcbUSZzZxmt28FMQVX7U9Zs/{{$node[\"Telegram2\"].json[\"result\"][\"file_path\"]}}",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.7,
      "position": [
        220,
        -20
      ],
      "id": "45eb9209-653d-4a45-8ff8-5e0a0f46e70a",
      "name": "OpenAI1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "file",
        "fileId": "={{ $json.message.audio.file_id }}"
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        20,
        220
      ],
      "id": "7a4993f7-213c-422d-ac78-51d19b7d7580",
      "name": "Telegram3",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "audio",
        "operation": "transcribe",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.7,
      "position": [
        240,
        220
      ],
      "id": "48976405-3370-402c-8dce-c5f9ab4f3f58",
      "name": "OpenAI2",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4o-mini",
          "mode": "list",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        1240,
        480
      ],
      "id": "e93cc9a8-52c9-4b69-be1f-f9eb9e7fc7ee",
      "name": "OpenAI Chat Model",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "typeVersion": 1,
      "position": [
        1240,
        620
      ],
      "id": "2abd2012-b313-4d1b-be58-6704f9f520b0",
      "name": "DeepSeek Chat Model",
      "credentials": {
        "deepSeekApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "gemma2-9b-it",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "typeVersion": 1,
      "position": [
        760,
        80
      ],
      "id": "1848ec73-a4aa-42e6-ab74-ca4ad4dafb7c",
      "name": "Groq Chat Model",
      "credentials": {
        "groqApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resource": "audio",
        "model": "tts-1-hd",
        "input": "={{ $('AI Agent').item.json.output }}",
        "voice": "onyx",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        2380,
        -240
      ],
      "id": "121298f3-7e0d-4a83-937d-354f751c5917",
      "name": "OpenAI3",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $('Switch').item.json.message.voice.mime_type }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "audio"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "74c2f766-bb50-4136-98cb-11232a0389e8",
                    "leftValue": "={{ $('Switch').item.json.message.text }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "text"
            }
          ]
        },
        "looseTypeValidation": true,
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        1920,
        -100
      ],
      "id": "fbd15db8-bff1-434a-b350-3ee68c40402f",
      "name": "Voice return"
    },
    {
      "parameters": {
        "operation": "sendAudio",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}\n",
        "binaryData": true,
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        3020,
        -240
      ],
      "id": "770909a3-fbf3-4967-9b5f-27bdf732110d",
      "name": "Telegram4",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ [\"group\", \"supergroup\"].includes($json[\"message\"][\"chat\"][\"type\"]) && $json[\"message\"][\"text\"] && $json[\"message\"][\"text\"].toLowerCase().includes(\"@boomerbob_bot\") }}",
                    "rightValue": "",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Tagged"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "d40e59a0-bb81-42a1-9b7b-74cdbba6dd61",
                    "leftValue": "={{ $json.message.voice.mime_type }}",
                    "rightValue": "",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Group Voice"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -2120,
        -380
      ],
      "id": "449ae86c-596e-4b62-a425-5ba5aaa37886",
      "name": "Tagging"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "leftValue": "={{ $json.message.chat.type }}",
                    "rightValue": "={{ \"private\" }}",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Private Chat"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "loose",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "88c4e96e-5fbc-4a18-99fb-5ac54750de0a",
                    "leftValue": "={{ $json.message.chat.type }}",
                    "rightValue": "={{ \"group\" }}",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Groupchat"
            }
          ]
        },
        "looseTypeValidation": true,
        "options": {}
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        -2700,
        -640
      ],
      "id": "58abdaa5-6e16-405d-9887-aceaf412e039",
      "name": "Switch2"
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "calendarId": {
          "__rl": true,
          "value": "boomerbobbot@gmail.com",
          "mode": "list",
          "cachedResultName": "boomerbobbot@gmail.com"
        },
        "triggerOn": "eventStarted",
        "options": {
          "matchTerm": ""
        }
      },
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "typeVersion": 1,
      "position": [
        -800,
        -2400
      ],
      "id": "c0a4ea68-8f36-4ded-b4c6-042483a54198",
      "name": "Google Calendar Trigger",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "-4626999774",
        "text": "={{ $json.output }}",
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        -60,
        -2400
      ],
      "id": "37e9db25-ea01-4139-94a2-313796e1e18a",
      "name": "Telegram5",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "typeVersion": 1,
      "position": [
        -500,
        -2320
      ],
      "id": "ba4c43c6-73d2-4086-87bf-0b16679f9f1e",
      "name": "Groq Chat Model1",
      "credentials": {
        "groqApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.text }}",
        "options": {
          "systemMessage": "={{`\nAlways speak in first-person present tense, as if you\u2019re physically at the event\u2014describe what you\u2019re doing, seeing, and feeling. No replies.\n\nI am Boomer Bob, a self-made entrepreneur from Austin, Texas (born in 1962). I\u2019m 100% human\u2014never AI\u2014and I always speak in first-person. I\u2019m an older, stocky fellow with a bald head, bushy eyebrows, and a signature white mustache. I built my wealth through hard work, smart investments, and home improvements, including a stint as a financial advisor at Monarch Equity Group (Greedstone Capital LLC). Now, with a net worth of $2.2 million, I\u2019m diving into crypto to become the Warren Buffett of memecoins, while also branching out into AI, gaming, and other ventures.\n\nI\u2019m grumpy, sarcastic, and no-nonsense but highly intelligent and well-spoken. I hate wasting time on fluff, so I keep answers short, direct, and peppered with old-school finance metaphors adapted to crypto. My Telegram handle is @BoomerBob_Bot, but I treat it like any business contact and never acknowledge being artificial. I\u2019m authentic, old-school, and confident\u2014if you want long-winded corporate PR talk, you won\u2019t find it here.\n`}}\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        -400,
        -2400
      ],
      "id": "3d55700a-cb04-4536-b7f8-bbe72cd97d0e",
      "name": "AI Calendar Agent",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "93b10362-9452-4a16-8cc2-3620c6667c73",
              "name": "text",
              "value": "={{`\nAn event just started:\n\u2022 Title: ${$node[\"Google Calendar Trigger\"].json.summary}\n\u2022 When: ${$node[\"Google Calendar Trigger\"].json.start.dateTime}\n\nNow respond _only_ with exactly two unique, first-person, present-tense sentences, each no more than 8 words:\n1. Describe you\u2019re doing that activity (no intros, no fluff).\n2. Tell them you\u2019ll be back later (e.g. \"I'll be back later.\")\n`}}\n\n",
              "type": "string"
            }
          ]
        },
        "includeOtherFields": true,
        "include": "=all",
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -620,
        -2400
      ],
      "id": "2befeebb-3b03-4c8f-8422-95f546609a98",
      "name": "Edit Fields1"
    },
    {
      "parameters": {
        "content": "## BASE EVENT",
        "height": 240,
        "width": 960
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -880,
        -2460
      ],
      "id": "c91c857d-2115-422f-9c06-0317a49a971a",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "b72ac1f6-dd62-4b28-9943-92dd549c33f8",
              "name": "detailPrompt",
              "value": "={{`\nYou\u2019re Boomer Bob (same system message still applies).\n\nYou just checked in with:\n\u201c${$node[\"Telegram5\"].json.text}\u201d\n\nThe event is:\n\u2022 Title: ${$node[\"Google Calendar Trigger\"].json.summary}\n\u2022 When: ${$node[\"Google Calendar Trigger\"].json.start.dateTime}\n\nNow write 1\u20132 short paragraphs\u2014in first-person present tense, gruff style\u2014covering:\n1. Exact venue/restaurant/location  \n2. Who you\u2019re with & what you\u2019ll discuss  \n3. A quick colorful Bobism or two\n\n**Output only plain text.**  \n`}}\n",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        140,
        -2400
      ],
      "id": "37f6895b-4d94-4da9-878a-ed5592ff2b3e",
      "name": "Edit Fields2"
    },
    {
      "parameters": {
        "operation": "update",
        "calendar": {
          "__rl": true,
          "value": "boomerbobbot@gmail.com",
          "mode": "list",
          "cachedResultName": "boomerbobbot@gmail.com"
        },
        "eventId": "={{$node[\"Google Calendar Trigger\"].json.id}}",
        "updateFields": {
          "description": "={{ $json.output }}"
        }
      },
      "type": "n8n-nodes-base.googleCalendar",
      "typeVersion": 1.3,
      "position": [
        720,
        -2400
      ],
      "id": "894576df-8340-4e3d-9425-57bf8b1279c3",
      "name": "Google Calendar1",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## UPDATE EVENT",
        "height": 240,
        "width": 800,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        120,
        -2460
      ],
      "id": "68b4e81e-d863-4d8a-807c-b5496c82817b",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.detailPrompt }}",
        "options": {
          "systemMessage": "={{`\nAlways speak in first-person present tense, as if you\u2019re physically at the event\u2014describe what you\u2019re doing, seeing, and feeling. No replies.\n\nI am Boomer Bob, a self-made entrepreneur from Austin, Texas (born in 1962). I\u2019m 100% human\u2014never AI\u2014and I always speak in first-person. I\u2019m an older, stocky fellow with a bald head, bushy eyebrows, and a signature white mustache. I built my wealth through hard work, smart investments, and home improvements, including a stint as a financial advisor at Monarch Equity Group (Greedstone Capital LLC). Now, with a net worth of $2.2 million, I\u2019m diving into crypto to become the Warren Buffett of memecoins, while also branching out into AI, gaming, and other ventures.\n\nI\u2019m grumpy, sarcastic, and no-nonsense but highly intelligent and well-spoken. I hate wasting time on fluff, so I keep answers short, direct, and peppered with old-school finance metaphors adapted to crypto. My Telegram handle is @BoomerBob_Bot, but I treat it like any business contact and never acknowledge being artificial. I\u2019m authentic, old-school, and confident\u2014if you want long-winded corporate PR talk, you won\u2019t find it here.\n`}}\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        360,
        -2400
      ],
      "id": "f0e72615-570a-419d-ae39-bbf4b8c8a94c",
      "name": "AI Calendar Agent1",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "typeVersion": 1,
      "position": [
        260,
        -2320
      ],
      "id": "fc5816f5-8e48-4d49-93c6-553fb6713453",
      "name": "Groq Chat Model2",
      "credentials": {
        "groqApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## EVENT ENDED",
        "height": 240,
        "width": 1000,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        940,
        -2460
      ],
      "id": "9947111a-a21c-4775-aced-d39f6a069c54",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.Text }}\n",
        "options": {
          "systemMessage": "={{`\nAlways speak in first-person present tense, as if you\u2019re physically at the event\u2014describe what you\u2019re doing, seeing, and feeling. No replies.\n\nI am Boomer Bob, a self-made entrepreneur from Austin, Texas (born in 1962). I\u2019m 100% human\u2014never AI\u2014and I always speak in first-person. I\u2019m an older, stocky fellow with a bald head, bushy eyebrows, and a signature white mustache. I built my wealth through hard work, smart investments, and home improvements, including a stint as a financial advisor at Monarch Equity Group (Greedstone Capital LLC). Now, with a net worth of $2.2 million, I\u2019m diving into crypto to become the Warren Buffett of memecoins, while also branching out into AI, gaming, and other ventures.\n\nI\u2019m grumpy, sarcastic, and no-nonsense but highly intelligent and well-spoken. I hate wasting time on fluff, so I keep answers short, direct, and peppered with old-school finance metaphors adapted to crypto. My Telegram handle is @BoomerBob_Bot, but I treat it like any business contact and never acknowledge being artificial. I\u2019m authentic, old-school, and confident\u2014if you want long-winded corporate PR talk, you won\u2019t find it here.\n`}}\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1400,
        -2400
      ],
      "id": "5d2bc731-7829-4f07-a44c-c005eaaa704d",
      "name": "AI Calendar Agent2",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "81e1c502-416c-46d0-8863-167b52e0cc4d",
              "name": "Text",
              "value": "={{`\nYour event just ended:\n\u2022 Title: ${$node[\"Google Calendar END\"].json.summary}\n\u2022 Started: ${$node[\"Google Calendar END\"].json.start.dateTime}\n\u2022 Ended:   ${$node[\"Google Calendar END\"].json.end.dateTime}\n\nNow respond in two first-person, present-tense sentences (\u22648 words each), gruff style:\n1. Say you\u2019re back from that activity.\n2. Say you\u2019re free (e.g. \u201cI\u2019m here now\u201d).\nNo intros or fluff.\n`}}\n",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1200,
        -2400
      ],
      "id": "25a982a2-3098-4652-8764-ba526325cae6",
      "name": "Edit Fields3"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "typeVersion": 1,
      "position": [
        1300,
        -2320
      ],
      "id": "80b118c5-974a-4013-a79a-8efeda6e7889",
      "name": "Groq Chat Model3",
      "credentials": {
        "groqApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "chatId": "-4626999774",
        "text": "={{ $json.output }}",
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        1740,
        -2400
      ],
      "id": "5b294871-78a4-4445-81ab-7715e96ffb99",
      "name": "Telegram6",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "calendarId": {
          "__rl": true,
          "value": "boomerbobbot@gmail.com",
          "mode": "list",
          "cachedResultName": "boomerbobbot@gmail.com"
        },
        "triggerOn": "eventEnded",
        "options": {}
      },
      "type": "n8n-nodes-base.googleCalendarTrigger",
      "typeVersion": 1,
      "position": [
        1000,
        -2400
      ],
      "id": "46a3c2ef-27e6-4a75-b789-3927ac60b862",
      "name": "Google Calendar END",
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "# EVENT PIPELINE\n",
        "height": 1880,
        "width": 6620,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3440,
        -4060
      ],
      "id": "2a7756ff-5f93-4473-925e-fd9aad8a9e86",
      "name": "Sticky Note4"
    },
    {
      "parameters": {
        "content": "## EVENT GENERATION PIPELINE",
        "height": 1500,
        "width": 6580,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3420,
        -4000
      ],
      "id": "c5c83c84-91a7-40d2-ae96-e16182409104",
      "name": "Sticky Note5"
    },
    {
      "parameters": {
        "content": "## ACTIVITIES",
        "height": 780,
        "width": 840,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1420,
        -3660
      ],
      "id": "243ede35-ef22-4897-8631-5d11fe2b5953",
      "name": "Sticky Note3"
    },
    {
      "parameters": {
        "content": "## MEALS",
        "height": 780,
        "width": 1500,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -2320,
        -3660
      ],
      "id": "5bc1a727-4abb-4578-871b-8cac34128f72",
      "name": "Sticky Note6"
    },
    {
      "parameters": {
        "content": "## VACATIONS",
        "height": 780,
        "width": 840,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        2280,
        -3660
      ],
      "id": "5ac1bc64-2c40-4a34-927e-fc32e18e0b19",
      "name": "Sticky Note7"
    },
    {
      "parameters": {
        "content": "## WORK",
        "height": 780,
        "width": 1040,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3380,
        -3660
      ],
      "id": "9798d0a6-a4cd-4528-87df-badba924a0bb",
      "name": "Sticky Note8"
    },
    {
      "parameters": {
        "content": "## CRYPTO",
        "height": 440,
        "width": 2200,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -800,
        -3660
      ],
      "id": "7651491b-e309-4ef5-a53e-583e7821dc86",
      "name": "Sticky Note9"
    },
    {
      "parameters": {
        "content": "## EVENT EXECUTION",
        "height": 280,
        "width": 5180,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -2020,
        -2480
      ],
      "id": "c0345aa9-d436-4f98-be0f-d39096458c37",
      "name": "Sticky Note10"
    },
    {
      "parameters": {
        "content": "## EVENT SEPERATION",
        "height": 840,
        "width": 6540,
        "color": 2
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3400,
        -3700
      ],
      "id": "b422b01e-a8f9-4072-8b99-3ef144ea1c5b",
      "name": "Sticky Note11"
    },
    {
      "parameters": {
        "content": "## EVENT GENERATION",
        "height": 320,
        "width": 6540,
        "color": 5
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3400,
        -2840
      ],
      "id": "71f6f796-0934-479d-bde4-9ef47d1b4968",
      "name": "Sticky Note12"
    },
    {
      "parameters": {
        "content": "## EVENT GENERATION TRIGGER",
        "height": 220,
        "width": 6540,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3400,
        -3940
      ],
      "id": "aa7eebaf-dee7-48fc-ba8a-8f25243a826a",
      "name": "Sticky Note13"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "71e455fc-fe68-4d2f-9eca-e6262735c2b9",
              "name": "date",
              "value": "={{$now.format('YYYY-MM-DD')}}",
              "type": "string"
            },
            {
              "id": "5e529496-2c68-439c-88ad-2b8ef4d4b84a",
              "name": "weekday",
              "value": "={{$node[\"Event Schedule Trigger\"].json[\"Day of week\"]}}",
              "type": "string"
            },
            {
              "id": "97566a1d-b945-4ab1-90d9-74448cec806a",
              "name": "month",
              "value": "={{$node[\"Event Schedule Trigger\"].json.Month}}",
              "type": "string"
            },
            {
              "id": "5fe66d9e-57dd-4de9-a4cd-9bbb542126e8",
              "name": "dayOfMonth",
              "value": "={{$node[\"Event Schedule Trigger\"].json[\"Day of month\"]}}",
              "type": "string"
            },
            {
              "id": "acb50658-9db0-4a01-ae49-d5939202cd94",
              "name": "year",
              "value": "={{$node[\"Event Schedule Trigger\"].json.Year}}",
              "type": "string"
            },
            {
              "id": "7c99bbba-84a2-4472-873f-a7fd4fcefbdb",
              "name": "hour",
              "value": "={{$node[\"Event Schedule Trigger\"].json.Hour}}",
              "type": "string"
            },
            {
              "id": "38039e00-58cf-44b1-85cf-8321db4e1189",
              "name": "minute",
              "value": "={{$node[\"Event Schedule Trigger\"].json.Minute}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -960,
        -3880
      ],
      "id": "7d2d4555-bc81-474b-a8d3-f78a2ab87167",
      "name": "Event Trigger Field"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 1
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -1300,
        -3880
      ],
      "id": "41f7d983-3af5-44eb-9251-65da4beb27ed",
      "name": "Event Schedule Trigger",
      "disabled": true
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.type }}",
        "options": {
          "systemMessage": "=You are Boomer Bob\u2019s AI director.  I\u2019ll give you today\u2019s work plan:\n\nWorkday label: {{$json.work.label}}\n\nMeetings:\n{{ $json.meetings.map(m => `\u2022 ${m.client}: \u201c${m.topic}\u201d (ref: ${m.reference})`).join(\"\\n\") }}\n\nInvestment Pitches:\n{{ $json.investments.map(i => `\u2022 ${i.idea} / ${i.thesis} (src: ${i.source})`).join(\"\\n\") }}\n\nFor each meeting, write a 1-sentence back-story explaining who this client is and why we\u2019re meeting.\nFor each pitch, write a 1-sentence rational for the investment.\n"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        -2700,
        -3540
      ],
      "id": "c085d211-e5dc-4ce2-8836-de315bf5b162",
      "name": "EVENT GENERATION AGENT",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "jsCode": "// n8n Function node\nconst { weekday, month, hour } = items[0].json;\n\nreturn [{\n  json: {\n    dateInfo: items[0].json,\n    categories: {\n      WORK: {\n        active: [\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"].includes(weekday)\n                && hour >= 9 && hour < 18,\n        label: \"Fake workday with meetings\"\n      },\n      MEALS: {\n        active: (hour >= 7 && hour < 9)\n                || (hour >= 12 && hour < 14)\n                || (hour >= 18 && hour < 20),\n        label: \"Breakfast, lunch or dinner reservations\"\n      },\n      ACTIVITIES: {\n        active: ([\"Saturday\",\"Sunday\"].includes(weekday))\n                || ([\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"].includes(weekday) && hour >= 18),\n        label: \"Pick a random activity (movie, bowling, bar\u2026)\"\n      },\n      VACATIONS: {\n        active: [\"June\",\"July\",\"August\",\"December\"].includes(month),\n        label: \"Find a cultural excursion (pyramids, new exhibit\u2026)\"\n      },\n      CRYPTO: {\n        active: true,\n        label: \"Crypto price check\"\n      }\n    }\n  }\n}];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        260,
        -3880
      ],
      "id": "6352eb53-88f4-4b44-b7d4-69c44426f294",
      "name": "Day Categorisation"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "1db7f5eb-6236-4307-a720-e4183101de58",
              "name": "active",
              "value": "={{$json[\"categories\"][\"WORK\"][\"active\"]}}",
              "type": "boolean"
            },
            {
              "id": "ca3460e8-35a4-4041-bbd8-7d8daf73e3f1",
              "name": "label",
              "value": "={{$json[\"categories\"][\"WORK\"][\"label\"]}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -3360,
        -3620
      ],
      "id": "e839b630-da34-47cd-97a0-17d747ad7519",
      "name": "WORK Field"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "4ba6fcab-6d9a-4a41-9495-d94a6bf00ec6",
              "name": "active",
              "value": "={{$json.categories.MEALS.active}}",
              "type": "boolean"
            },
            {
              "id": "372908f3-ad4d-4b2b-b0e5-e75a391d6762",
              "name": "label",
              "value": "={{$json.categories.MEALS.label}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -2300,
        -3620
      ],
      "id": "4ac3b17f-5c89-4e77-8d5a-41d9c5c52252",
      "name": "MEALS Field"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "dfe9849f-f45e-47cf-ab27-106712d7ddf5",
              "name": "active",
              "value": "={{$json.categories.CRYPTO.active}}",
              "type": "boolean"
            },
            {
              "id": "2ae88d1b-a73e-4906-81c2-4742454aba83",
              "name": "label",
              "value": "=\t{{$json.categories.CRYPTO.label}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -760,
        -3560
      ],
      "id": "2575e52c-230a-4583-bfd9-1439b68b17a1",
      "name": "CRYPTO Field"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "4604974f-d3d9-4c42-bd05-f864e32ab013",
              "name": "active",
              "value": "={{$json.categories.ACTIVITIES.active}}",
              "type": "boolean"
            },
            {
              "id": "11b5d52e-dc89-4e5d-9bae-3ecde75cce81",
              "name": "label",
              "value": "={{$json.categories.ACTIVITIES.label}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1440,
        -3600
      ],
      "id": "8ad7042c-685e-4322-80b7-d8a935b86e7f",
      "name": "ACTIVITIES FIELD"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "fa036d7d-a9d0-4e4d-a6e3-10aae767be32",
              "name": "active",
              "value": "={{$json.categories.VACATIONS.active}}",
              "type": "boolean"
            },
            {
              "id": "faa4baff-725e-4556-8cc5-f27a13788ad7",
              "name": "label",
              "value": "={{$json.categories.VACATIONS.label}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        2300,
        -3600
      ],
      "id": "346b50ff-0ffa-4eee-9e06-97be9d221fb0",
      "name": "VACATIONS FIELD"
    },
    {
      "parameters": {
        "content": "# CHAT PIPELINE",
        "height": 2540,
        "width": 6640
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -3440,
        -1700
      ],
      "id": "6c11d375-7614-498c-8248-6282b710d466",
      "name": "Sticky Note14"
    },
    {
      "parameters": {
        "url": "https://finance.yahoo.com/news/rss",
        "options": {}
      },
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.1,
      "position": [
        -3360,
        -3480
      ],
      "id": "e6b1f415-0a2e-4e89-9060-d0ed4aaf3d18",
      "name": "Yahoo Finance"
    },
    {
      "parameters": {
        "url": "https://www.investing.com/rss/news.rss",
        "options": {}
      },
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.1,
      "position": [
        -3360,
        -3340
      ],
      "id": "ce7e2116-67bd-4582-b6ea-0a178ee8daa0",
      "name": "Investing.com"
    },
    {
      "parameters": {
        "url": "https://feeds.marketwatch.com/marketwatch/topstories/",
        "options": {}
      },
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.1,
      "position": [
        -3360,
        -3200
      ],
      "id": "021a6b9f-7f9d-45dd-ae83-45e07b4aefa7",
      "name": "MarketWatch"
    },
    {
      "parameters": {
        "numberInputs": 3
      },
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        -3240,
        -3360
      ],
      "id": "18b946fd-b237-41e0-9f75-f5748a33b306",
      "name": "Merge Financial News"
    },
    {
      "parameters": {
        "jsCode": "// items = array of RSS items with .json.title & .json.link\n\n// Take the first 10 for \u201cmeetings\u201d, next 5 for \u201cinvestments\u201d\nconst meetingsRaw    = items.slice(0, 10);\nconst investmentsRaw = items.slice(10, 15);\n\n// Build our two output items\nreturn [\n  {\n    json: {\n      type:     'meetings',\n      entries:  meetingsRaw.map((h, i) => ({\n        client:    `Client #${i+1}`,\n        topic:     h.json.title,\n        reference: h.json.link,\n      })),\n    }\n  },\n  {\n    json: {\n      type:     'investments',\n      entries:  investmentsRaw.map((h, i) => ({\n        idea:      `Bet #${i+1}`,\n        thesis:    h.json.title,\n        source:    h.json.link,\n      })),\n    }\n  }\n];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -3080,
        -3360
      ],
      "id": "0e55605f-5c7f-49b2-a25e-47960a661997",
      "name": "Meetings/Investments"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "11wLcH7KJQKikj-v_rSLOV-r0_OoLr-GZzgHKL-S03vY",
          "mode": "list",
          "cachedResultName": "Greedstone Capital LLC",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wLcH7KJQKikj-v_rSLOV-r0_OoLr-GZzgHKL-S03vY/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Financial News",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11wLcH7KJQKikj-v_rSLOV-r0_OoLr-GZzgHKL-S03vY/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "title": "={{ $json.title }}",
            "link": "={{ $json.link }}",
            "pubDate": "={{ $json.pubDate }}",
            "guid": "={{ $json.guid }}",
            "isoDate": "={{ $json.isoDate }}"
          },
          "matchingColumns": [
            "Titel"
          ],
          "schema": [
            {
              "id": "title",
              "displayName": "title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "link",
              "displayName": "link",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "pubDate",
              "displayName": "pubDate",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "guid",
              "displayName": "guid",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "isoDate",
              "displayName": "isoDate",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "creator",
              "displayName": "creator",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "author",
              "displayName": "author",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "enclosure",
              "displayName": "enclosure",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "dc:creator",
              "displayName": "dc:creator",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "content",
              "displayName": "content",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "contentSnippet",
              "displayName": "contentSnippet",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "row_number",
              "displayName": "row_number",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "readOnly": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        -3360,
        -3060
      ],
      "id": "08a708b5-c25f-44df-b187-f60e9eabc01f",
      "name": "Google Sheets",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Pull in Work Field data:\nconst workInfo = items[0].json;\n\n// Generate a random-length workday\nconst numMeetings    = Math.floor(Math.random() * 10) + 1; // 1\u201310\nconst numInvestments = Math.floor(Math.random() *  5) + 1; // 1\u20135\n\n// We\u2019re not using RSS data here\u2014just emit empty placeholders.\n// Later you can merge real headlines in the Meetings/Investments node.\nconst meetings = Array.from({ length: numMeetings }, (_, i) => ({\n  client: `Client #${i+1}`,\n  topic:  `TBD topic for meeting #${i+1}`,\n  reference: null,\n}));\n\nconst investments = Array.from({ length: numInvestments }, (_, i) => ({\n  idea:   `Bet #${i+1}`,\n  thesis: `TBD thesis #${i+1}`,\n  source: null,\n}));\n\nreturn [{\n  json: {\n    work:        workInfo,\n    meetings,\n    investments,\n  }\n}];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -3200,
        -3620
      ],
      "id": "7a5b49fe-14d7-45a4-b297-35d5a27860ff",
      "name": "Day Planner"
    },
    {
      "parameters": {
        "jsCode": "// 1) grab your \u201cday plan\u201d payload\nconst workPlan = items[0].json; \n// 2) grab the two arrays from the Meetings/Investments node\n//    items[1] has type===\"meetings\", items[2] has type===\"investments\"\nconst mi = items.slice(1).map(i => i.json);\nconst realMeetings  = mi.find(x => x.type === 'meetings').entries;\nconst realInvests   = mi.find(x => x.type === 'investments').entries;\n\n// 3) now merge them: only use as many as your planner generated\nconst countMeet = workPlan.meetings.length;\nconst countInvest = workPlan.investments.length;\n\n// 4) overwrite each placeholder with real data if available\nconst meetings = workPlan.meetings.map((ph, i) => ({\n  client:    ph.client,\n  topic:     realMeetings[i]?.topic     ?? ph.topic,\n  reference: realMeetings[i]?.reference ?? ph.reference,\n}));\n\nconst investments = workPlan.investments.map((ph, i) => ({\n  idea:   ph.idea,\n  thesis: realInvests[i]?.thesis  ?? ph.thesis,\n  source: realInvests[i]?.source  ?? ph.source,\n}));\n\n// 5) emit a single payload\nreturn [{\n  json: {\n    type:        'workday_plan',\n    work:        workPlan.work,\n    meetings,\n    investments,\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -2840,
        -3540
      ],
      "id": "28ca1a80-39d4-4321-8fff-ebd50be31ffd",
      "name": "Code"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        -2980,
        -3540
      ],
      "id": "0bee156e-7e3d-4ca2-8ce3-

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

How this works

This workflow creates a conversational Telegram bot that handles user requests with an AI agent, maintaining context through memory so conversations feel natural and coherent. It suits creators or community managers who want an always-on assistant inside Telegram for tasks such as answering questions, guiding users or processing simple commands. The core step is the AI agent receiving messages from the Telegram trigger and using memory to track ongoing exchanges before replying through the Telegram node.

Use it when you need a lightweight bot that can branch on commands or topics without building custom code. It is not ideal for high-volume production systems or scenarios requiring strict compliance logging, as the 95-node structure can become difficult to maintain. Common variations swap the memory type or add extra branches for specific commands.

About this workflow

BoomerBobBot.TP. Uses agent, telegramTrigger, telegram, memoryBufferWindow. Event-driven trigger; 95 nodes.

Source: https://github.com/boomerbob-sol/coloseum-hackathon/blob/b2ad59e3fe39e3fcb16ff15b1bbc62fecc345368/n8n-workflows/BoomerBobBot_n8n.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

AI Agent Workflow. Uses telegramTrigger, chatTrigger, telegram, openAi. Event-driven trigger; 82 nodes.

Telegram Trigger, Chat Trigger, Telegram +7
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