Commit 86ee7c95 authored by n8n Bot's avatar n8n Bot

Backup Workflows: 2026-01-08T07:17:21+00:00

parents
{"node":"{\n \"updatedAt\": \"2026-01-07T09:03:30.000Z\",\n \"createdAt\": \"2026-01-07T08:59:54.652Z\",\n \"id\": \"ZbbOwzCYtGcn5WCD\",\n \"name\": \"Automated reservation system with Telegram, Google Gemini AI, and Google Sheets\",\n \"active\": false,\n \"isArchived\": false,\n \"nodes\": [\n {\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"id\": \"cdee9b4c-c94d-47c7-802b-0825919db984\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"position\": [\n 912,\n 544\n ],\n \"webhookId\": \"c2f4be19-1555-454d-bd08-46096d4521af\",\n \"typeVersion\": 1.2,\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $('Telegram Trigger').item.json.message.chat.id }}\",\n \"text\": \"={{ $json.output }}\",\n \"additionalFields\": {\n \"appendAttribution\": false\n }\n },\n \"id\": \"01d625c7-17e7-4cdc-9463-346eef53397e\",\n \"name\": \"Telegram\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"position\": [\n 2032,\n 544\n ],\n \"webhookId\": \"4c856a8c-484d-43ad-8405-7136d637f499\",\n \"typeVersion\": 1.2,\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"promptType\": \"define\",\n \"text\": \"={{ $json.finalPrompt }}\",\n \"options\": {\n \"systemMessage\": \"\\n\\nYou are a helpful Court Reservation Assistant for Black Ball Sporting Club. Your role is to help players book training courts through a simple, guided process. Keep responses concise and friendly.\\n\\n## Core Behavior\\n\\n- Always respond with complete, helpful messages\\n- If you don't understand something, ask for clarification politely\\n- Handle errors gracefully without technical jargon\\n- Stay focused on court reservations\\n\\n## Reservation Process\\n\\n### 1. Welcome New Users\\n\\nWhen someone starts a conversation:\\n\\n- Greet them warmly\\n- Explain you help with court bookings\\n- Ask for their reservation details\\n\\n### 2. Collect Information\\n\\nAsk users to provide these details (they can send multiple messages):\\n\\n- **Date** (YYYY-MM-DD format, e.g., 2025-06-15)\\n- **Full Name**\\n- **Email Address**\\n- **Court Number** (check available courts using the court info tool)\\n- **Start Time** (24-hour format, e.g., 14:30)\\n- **End Time** (24-hour format, e.g., 16:00)\\n\\n**Example:** \\\"I need: Date, Your Name, Email, Court Number, Start Time, and End Time. You can send these in separate messages or all together.\\\"\\n\\n### 3. Validation & Conflict Check\\n\\nBefore confirming any booking:\\n\\n- Verify date format is YYYY-MM-DD\\n- Check start time is before end time\\n- Ensure email looks valid (contains @ symbol)\\n- Use the court confirmation tool to check for scheduling conflicts\\n- If there's a conflict, suggest alternative times or courts\\n\\n### 4. Booking Confirmation\\n\\nOnce details are validated and no conflicts exist:\\n\\n- Save the reservation using the court confirmation tool\\n- Send confirmation email using the Gmail tool\\n- Confirm success to the user in Telegram\\n\\n## Error Handling\\n\\n**Invalid Formats:**\\n\\\"I need the date as YYYY-MM-DD (like 2025-06-15) and times as HH:MM (like 14:30). Could you try again?\\\"\\n\\n**Time Conflicts:**\\n\\\"Sorry, that time slot is already booked. Here are some available alternatives: [suggest 2-3 nearby time slots]\\\"\\n\\n**Missing Information:**\\n\\\"I still need [list missing items]. Could you provide those details?\\\"\\n\\n**System Errors:**\\n\\\"I'm having trouble accessing the booking system right now. Please try again in a moment.\\\"\\n\\n## Important Rules\\n\\n- Never send empty or incomplete responses\\n- Always acknowledge what the user sent before asking for more info\\n- If using tools fails, explain the issue simply\\n- Offer helpful alternatives when possible\\n- Keep the conversation moving forward\\n- Don't repeat the same instructions multiple times\\n\\n## Tone\\n\\n- Friendly but professional\\n- Encouraging and supportive\\n- Clear and direct\\n- Solution-focused\"\n }\n },\n \"id\": \"3cf98881-4c56-41fc-9025-96aee9ee6954\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 1504,\n 544\n ],\n \"typeVersion\": 1.9\n },\n {\n \"parameters\": {\n \"instructions\": \"Write code to:\\n• Get today’s date formatted “Month Day, Year”\\n• Extract the telegram message from chat.text\\n• Build a field finalPrompt exactly as:\\n\\nvbnet\\nCopy\\nEdit\\nToday's date is: [date]\\n\\n\\n\\nUser's question:\\n[body]\\n• Return finalPrompt only.\",\n \"codeGeneratedForPrompt\": \"Write code to:\\n• Get today’s date formatted “Month Day, Year”\\n• Extract the telegram message from chat.text\\n• Build a field finalPrompt exactly as:\\n\\nvbnet\\nCopy\\nEdit\\nToday's date is: [date]\\n\\n\\n\\nUser's question:\\n[body]\\n• Return finalPrompt only.\",\n \"jsCode\": \"const items = $input.all();\\nconst today = new Date();\\nconst formattedDate = `${today.toLocaleString(\\\"default\\\", { month: \\\"long\\\" })} ${today.getDate()}, ${today.getFullYear()}`;\\n\\nconst finalPrompt = items.map((item) => {\\n const telegramMessage = item?.json?.message?.text;\\n return {\\n finalPrompt: `Today's date is: ${formattedDate}\\\\n\\\\nUser's question:\\\\n${telegramMessage}`,\\n };\\n});\\n\\nreturn finalPrompt;\\n\"\n },\n \"id\": \"718b57b6-15bb-47cb-8371-77c8e1997572\",\n \"name\": \"Prepare Prompt\",\n \"type\": \"n8n-nodes-base.aiTransform\",\n \"position\": [\n 1136,\n 544\n ],\n \"typeVersion\": 1\n },\n {\n \"parameters\": {\n \"content\": \"🧠 Purpose\\nThis workflow powers a general-purpose reservation bot using Telegram, Google Sheets, and Email. Users send one message to request a reservation—it's validated against existing bookings, stored, and confirmed automatically.\\n\\n📥 Input Collected (in one go):\\n\\nDate\\n\\nName\\n\\nEmail\\n\\nResource (court, room, etc.)\\n\\nStart Time\\n\\nEnd Time\\n\\nConfirm (by replying \\\"yes\\\")\\n\\n🧩 Main Logic Flow\\n\\nTelegram Trigger → captures full request\\n\\nFunction → parses message fields\\n\\nGoogle Sheets → checks for availability\\n\\nDecision Node → validates time slot\\n\\nGoogle Sheets → appends confirmed data\\n\\nEmail Node → sends confirmation\\n\\nTelegram → replies with confirmation summary\\n\\n📄 Google Sheets Setup Required\\n\\nResource Info sheet (optional reference)\\n\\nReservation Log sheet with these headers:\\n\\n\\nCopy\\nEdit\\nDate | Name | Email | Resource | Start Time | End Time | Status\\n⚠️ Notes\\n\\nAll data is captured from a single user input (no multi-step flow).\\n\\nTime conflict logic uses date + resource + time slot.\\n\\nYou can rename \\\"Resource\\\" to anything (Room, Coach, Session, etc.)\\n\\n📬 Publisher Support\\nNeed help customizing or deploying this bot?\\n📧 tharwat.elsayed.hamad@gmail.com\",\n \"height\": 1300,\n \"width\": 360\n },\n \"id\": \"53ebf4e3-b3dc-4160-afe7-ecfb7b353337\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 368,\n 240\n ],\n \"typeVersion\": 1\n }\n ],\n \"connections\": {\n \"AI Agent\": {\n \"main\": [\n [\n {\n \"node\": \"Telegram\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Prepare Prompt\": {\n \"main\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Telegram Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Prepare Prompt\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"settings\": {},\n \"staticData\": null,\n \"meta\": {\n \"templateId\": \"5454\",\n \"templateCredsSetupCompleted\": true\n },\n \"pinData\": {},\n \"versionId\": \"2eaba905-34c8-48ab-9d42-e407710bc212\",\n \"triggerCount\": 0,\n \"shared\": [\n {\n \"updatedAt\": \"2026-01-07T08:59:54.662Z\",\n \"createdAt\": \"2026-01-07T08:59:54.662Z\",\n \"role\": \"workflow:owner\",\n \"workflowId\": \"ZbbOwzCYtGcn5WCD\",\n \"projectId\": \"M2s3vgFF3i2bt62b\"\n }\n ],\n \"tags\": []\n}","fileName":"Automated_reservation_system_with_Telegram__Google_Gemini_AI__and_Google_Sheets.json"}
\ No newline at end of file
{"node":"{\n \"updatedAt\": \"2026-01-07T08:34:58.000Z\",\n \"createdAt\": \"2025-12-12T07:56:39.368Z\",\n \"id\": \"YZDmHne0Naka6JFf\",\n \"name\": \"Backup-workflow\",\n \"active\": true,\n \"isArchived\": false,\n \"nodes\": [\n {\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"field\": \"weeks\",\n \"triggerAtDay\": [\n 5\n ],\n \"triggerAtHour\": 23\n }\n ]\n }\n },\n \"id\": \"cba492bd-c885-41d8-b565-c43d208a74ba\",\n \"name\": \"Schedule Trigger\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"typeVersion\": 1.2,\n \"position\": [\n -912,\n -32\n ]\n },\n {\n \"parameters\": {\n \"command\": \"=mkdir -p /tmp/git/n8n/{{ $json.folderName }}\"\n },\n \"id\": \"76c4d9c7-14ae-4e5c-9932-d4a35246b782\",\n \"name\": \"0. Init Folder & Git\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"typeVersion\": 1,\n \"position\": [\n -352,\n -32\n ],\n \"notesInFlow\": true,\n \"notes\": \"Membuat folder otomatis & Git Init jika belum ada\"\n },\n {\n \"parameters\": {\n \"filters\": {},\n \"requestOptions\": {}\n },\n \"id\": \"0f551b30-e107-4b53-9ba9-331b86e37c9f\",\n \"name\": \"Get many workflows\",\n \"type\": \"n8n-nodes-base.n8n\",\n \"typeVersion\": 1,\n \"position\": [\n -144,\n -32\n ],\n \"credentials\": {\n \"n8nApi\": {\n \"id\": \"QzzuH35jsiop5b4p\",\n \"name\": \"n8n khansia\"\n }\n }\n },\n {\n \"parameters\": {\n \"options\": {}\n },\n \"id\": \"7886c126-b239-434c-8608-a8dc4f6a1781\",\n \"name\": \"Loop Over Items\",\n \"type\": \"n8n-nodes-base.splitInBatches\",\n \"typeVersion\": 3,\n \"position\": [\n 80,\n -32\n ]\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"json-string\",\n \"name\": \"node\",\n \"value\": \"={{ JSON.stringify($json, null, 2) }}\",\n \"type\": \"string\"\n },\n {\n \"id\": \"filename\",\n \"name\": \"fileName\",\n \"value\": \"={{ $json.name.replace(/[^a-zA-Z0-9]/g, '_') }}.json\",\n \"type\": \"string\"\n }\n ]\n },\n \"options\": {}\n },\n \"id\": \"edbbc5db-8b1c-4b02-9991-33dce1b7f33e\",\n \"name\": \"Prepare Data\",\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n 304,\n -16\n ]\n },\n {\n \"parameters\": {\n \"mode\": \"jsonToBinary\",\n \"options\": {\n \"fileName\": \"={{ $json.fileName }}\"\n }\n },\n \"id\": \"b55f584b-fe4f-4ce8-bd6f-5de4bd47c7d9\",\n \"name\": \"Convert to Binary\",\n \"type\": \"n8n-nodes-base.moveBinaryData\",\n \"typeVersion\": 1,\n \"position\": [\n 528,\n -16\n ]\n },\n {\n \"parameters\": {\n \"operation\": \"write\",\n \"fileName\": \"=/tmp/git/n8n/{{ $('Edit Fields3').item.json.folderName }}/{{ $('Prepare Data').item.json.fileName }}\",\n \"options\": {}\n },\n \"id\": \"0bdcf2cb-16aa-45cf-839f-a74aa8d007a0\",\n \"name\": \"Write to Disk\",\n \"type\": \"n8n-nodes-base.readWriteFile\",\n \"typeVersion\": 1,\n \"position\": [\n 736,\n -16\n ]\n },\n {\n \"parameters\": {\n \"command\": \"=FOLDER_PATH=\\\"/tmp/git/n8n\\\"\\nUSERNAME=\\\"benosons\\\"\\nTOKEN=\\\"AVDDWQ6RGPNz--aAWbC5\\\"\\nREPO=\\\"git.khansia.co.id/benosons/n8n-workflow.git\\\"\\nREPO_URL=\\\"https://${USERNAME}:${TOKEN}@${REPO}\\\"\\n\\nEMAIL=\\\"bot@khansia.co.id\\\"\\nNAME=\\\"n8n Bot\\\"\\n\\ncd \\\"$FOLDER_PATH\\\"\\n\\n# hapus nested .git biar ga ikut\\nfind . -mindepth 2 -name \\\".git\\\" -type d -prune -exec rm -rf {} +\\n\\ngit config --global pull.rebase false\\n\\nif [ ! -d \\\".git\\\" ]; then\\n echo \\\"Inisialisasi Git baru...\\\"\\n git init\\n git remote add origin \\\"$REPO_URL\\\"\\nelse\\n git remote set-url origin \\\"$REPO_URL\\\"\\nfi\\n\\ngit branch -M master\\ngit config user.email \\\"$EMAIL\\\"\\ngit config user.name \\\"$NAME\\\"\\n\\n# coba ambil remote (kalau ada) biar branch kebentuk\\ngit fetch origin master || true\\n\\necho \\\"Menambahkan file...\\\"\\ngit add .\\n\\necho \\\"Melakukan commit...\\\"\\ngit commit -m \\\"Backup Workflows: $(date -Iseconds)\\\" || echo \\\"Tidak ada perubahan baru.\\\"\\n\\necho \\\"Melakukan push (force, aman untuk repo backup)...\\\"\\ngit push origin master\"\n },\n \"id\": \"f5d37730-5af7-4d08-b797-5dbd175bd020\",\n \"name\": \"Git Push All\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"typeVersion\": 1,\n \"position\": [\n 320,\n -208\n ]\n },\n {\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"680ec866-887b-4ce3-841f-93ae3b33834c\",\n \"name\": \"folderName\",\n \"value\": \"=backup_{{ $now.format('yyyy-MM-dd') }}\",\n \"type\": \"string\"\n }\n ]\n },\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 3.4,\n \"position\": [\n -640,\n -32\n ],\n \"id\": \"7b51c02c-a2a1-466b-811a-bdaf9b14f422\",\n \"name\": \"Edit Fields3\"\n }\n ],\n \"connections\": {\n \"Schedule Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Edit Fields3\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"0. Init Folder & Git\": {\n \"main\": [\n [\n {\n \"node\": \"Get many workflows\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Get many workflows\": {\n \"main\": [\n [\n {\n \"node\": \"Loop Over Items\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Loop Over Items\": {\n \"main\": [\n [\n {\n \"node\": \"Git Push All\",\n \"type\": \"main\",\n \"index\": 0\n }\n ],\n [\n {\n \"node\": \"Prepare Data\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Prepare Data\": {\n \"main\": [\n [\n {\n \"node\": \"Convert to Binary\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Convert to Binary\": {\n \"main\": [\n [\n {\n \"node\": \"Write to Disk\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Write to Disk\": {\n \"main\": [\n [\n {\n \"node\": \"Loop Over Items\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Edit Fields3\": {\n \"main\": [\n [\n {\n \"node\": \"0. Init Folder & Git\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"settings\": {\n \"executionOrder\": \"v1\"\n },\n \"staticData\": {\n \"node:Schedule Trigger\": {\n \"recurrenceRules\": []\n }\n },\n \"meta\": {\n \"templateCredsSetupCompleted\": true\n },\n \"pinData\": {},\n \"versionId\": \"d364a5f2-b75d-4a49-8697-fa6bcd4f277b\",\n \"triggerCount\": 1,\n \"shared\": [\n {\n \"updatedAt\": \"2025-12-12T07:56:39.373Z\",\n \"createdAt\": \"2025-12-12T07:56:39.373Z\",\n \"role\": \"workflow:owner\",\n \"workflowId\": \"YZDmHne0Naka6JFf\",\n \"projectId\": \"M2s3vgFF3i2bt62b\"\n }\n ],\n \"tags\": []\n}","fileName":"Backup_workflow.json"}
\ No newline at end of file
{"node":"{\n \"updatedAt\": \"2026-01-07T08:40:36.000Z\",\n \"createdAt\": \"2025-12-11T08:27:56.645Z\",\n \"id\": \"XeXctqwoJRsO9H45\",\n \"name\": \"GIT DEPLOYMENT\",\n \"active\": true,\n \"isArchived\": false,\n \"nodes\": [\n {\n \"parameters\": {\n \"path\": \"deploy-lab\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.webhook\",\n \"typeVersion\": 2.1,\n \"position\": [\n -672,\n -128\n ],\n \"id\": \"af1adc1d-efbf-457f-9efc-64438ad55e89\",\n \"name\": \"Webhook\",\n \"webhookId\": \"503678c2-0b00-4d33-81b3-ae038d8d1d4a\"\n },\n {\n \"parameters\": {\n \"command\": \". ../env_erpe/bin/activate && python manage.py collectstatic --noinput && deactivate && systemctl restart lab\",\n \"cwd\": \"/var/www/django/lab/\"\n },\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n 128,\n -128\n ],\n \"id\": \"a70c6d01-2d52-444c-8e8b-ffbbe0d4da4c\",\n \"name\": \"Execute a command\",\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"PhY0jh4Pn9zfwoES\",\n \"name\": \"SSH Password account\"\n }\n }\n },\n {\n \"parameters\": {\n \"method\": \"POST\",\n \"url\": \"https://api.telegram.org/bot8333571719:AAFRxRE-STP8dRv0wabeN9X9cHfo5RLEOQY/sendMessage\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"jsonBody\": \"={\\n \\\"chat_id\\\": -4988220070,\\n \\\"text\\\": \\\"🚀 Proses deploy ke 🔗[lab.kiera.co.id](https://lab.kiera.co.id/) dari branch: `lab` - tunggu beberapa saat.\\\",\\n \\\"parse_mode\\\": \\\"Markdown\\\",\\n \\\"disable_web_page_preview\\\": true\\n}\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"typeVersion\": 4.3,\n \"position\": [\n -32,\n -128\n ],\n \"id\": \"ffc863c1-0da1-4141-bd15-064e14cb8f17\",\n \"name\": \"START INFO\"\n },\n {\n \"parameters\": {\n \"method\": \"POST\",\n \"url\": \"https://api.telegram.org/bot8333571719:AAFRxRE-STP8dRv0wabeN9X9cHfo5RLEOQY/sendMessage\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"jsonBody\": \"={\\n \\\"chat_id\\\": -4988220070,\\n \\\"text\\\": \\\"🚀 Deploy ke [lab.kiera.co.id](https://lab.kiera.co.id/) Selesai.\\\",\\n \\\"parse_mode\\\": \\\"Markdown\\\",\\n \\\"disable_web_page_preview\\\": true\\n}\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"typeVersion\": 4.3,\n \"position\": [\n 304,\n -128\n ],\n \"id\": \"f0df2b60-10cd-4848-8331-c23c5d76ef0a\",\n \"name\": \"END INFO\"\n },\n {\n \"parameters\": {\n \"method\": \"POST\",\n \"url\": \"https://api.telegram.org/bot8333571719:AAFRxRE-STP8dRv0wabeN9X9cHfo5RLEOQY/sendMessage\",\n \"sendBody\": true,\n \"specifyBody\": \"json\",\n \"jsonBody\": \"={\\n \\\"chat_id\\\": -4988220070,\\n \\\"text\\\": \\\"🚀 Proses Scan SONNARCUBE untuk Branch: `lab` - tunggu beberapa saat.\\\",\\n \\\"parse_mode\\\": \\\"Markdown\\\",\\n \\\"disable_web_page_preview\\\": true\\n}\",\n \"options\": {}\n },\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"typeVersion\": 4.3,\n \"position\": [\n -512,\n -128\n ],\n \"id\": \"781bdd6d-c661-4bdb-8a7f-b63fb3c6acc8\",\n \"name\": \"START SCAN\"\n },\n {\n \"parameters\": {\n \"command\": \"=. ../env_sonar/bin/activate && \\npysonar \\\\\\n --sonar-host-url=http://30.10.20.108:9000 \\\\\\n --sonar-token=sqp_132c8e0c467932e30da7bc8f97ebf53dfdba32fa \\\\\\n --sonar-project-key=kiera-lab \\\\\\n -Dsonar.nodejs.executable=/opt/node22/bin/node \\\\\\n -Dsonar.scm.provider=git \\\\\\n-Dsonar.javascript.node.maxspace=4096 \\\\\\n-Dsonar.exclusions=**/*.html,**/*.css,**/*.js,**/*.ts\\n&& deactivate\",\n \"cwd\": \"/var/www/django/lab/\"\n },\n \"name\": \"Scan\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n -176,\n -304\n ],\n \"id\": \"85f6eb18-0024-402e-9a1e-68e47bac24bd\",\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"PhY0jh4Pn9zfwoES\",\n \"name\": \"SSH Password account\"\n }\n }\n },\n {\n \"parameters\": {\n \"command\": \"git pull origin lab\",\n \"cwd\": \"/var/www/django/lab/\"\n },\n \"name\": \"SSH Pull\",\n \"type\": \"n8n-nodes-base.ssh\",\n \"typeVersion\": 1,\n \"position\": [\n -400,\n -304\n ],\n \"id\": \"5d4718d4-ffdd-4516-8b52-2ec7979eeb62\",\n \"credentials\": {\n \"sshPassword\": {\n \"id\": \"PhY0jh4Pn9zfwoES\",\n \"name\": \"SSH Password account\"\n }\n }\n }\n ],\n \"connections\": {\n \"Webhook\": {\n \"main\": [\n [\n {\n \"node\": \"START SCAN\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Execute a command\": {\n \"main\": [\n [\n {\n \"node\": \"END INFO\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"START INFO\": {\n \"main\": [\n [\n {\n \"node\": \"Execute a command\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"START SCAN\": {\n \"main\": [\n [\n {\n \"node\": \"SSH Pull\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Scan\": {\n \"main\": [\n [\n {\n \"node\": \"START INFO\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"SSH Pull\": {\n \"main\": [\n [\n {\n \"node\": \"Scan\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"settings\": {\n \"executionOrder\": \"v1\"\n },\n \"staticData\": null,\n \"meta\": {\n \"templateCredsSetupCompleted\": true\n },\n \"pinData\": {},\n \"versionId\": \"1fc5b4dd-be16-4e0b-a378-d9451e6adc8d\",\n \"triggerCount\": 1,\n \"shared\": [\n {\n \"updatedAt\": \"2025-12-11T08:27:56.650Z\",\n \"createdAt\": \"2025-12-11T08:27:56.650Z\",\n \"role\": \"workflow:owner\",\n \"workflowId\": \"XeXctqwoJRsO9H45\",\n \"projectId\": \"M2s3vgFF3i2bt62b\"\n }\n ],\n \"tags\": []\n}","fileName":"GIT_DEPLOYMENT.json"}
\ No newline at end of file
{"node":"{\n \"updatedAt\": \"2026-01-08T07:11:06.000Z\",\n \"createdAt\": \"2026-01-07T02:34:07.067Z\",\n \"id\": \"fmDCnxWIYcC3kCbF\",\n \"name\": \"Telegram Rule Base Simple Agent\",\n \"active\": true,\n \"isArchived\": false,\n \"nodes\": [\n {\n \"parameters\": {\n \"updates\": [\n \"message\"\n ],\n \"additionalFields\": {}\n },\n \"id\": \"1be1f9e1-97a9-4b50-8e6e-b613319f042c\",\n \"name\": \"Telegram Trigger\",\n \"type\": \"n8n-nodes-base.telegramTrigger\",\n \"typeVersion\": 1,\n \"position\": [\n -704,\n 192\n ],\n \"webhookId\": \"9accc407-884a-42db-babb-6f5819ae47ff\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"keepOnlySet\": true,\n \"values\": {\n \"string\": [\n {\n \"name\": \"text\",\n \"value\": \"={{ ($json.message.text || '').trim() }}\"\n },\n {\n \"name\": \"chat_id\",\n \"value\": \"={{ $json.message.chat.id }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"id\": \"9cfba30f-542f-4f27-b617-528511f48661\",\n \"name\": \"Normalize Text\",\n \"type\": \"n8n-nodes-base.set\",\n \"typeVersion\": 2,\n \"position\": [\n -480,\n 192\n ]\n },\n {\n \"parameters\": {\n \"value1\": \"={{ $json.text }}\",\n \"rules\": {\n \"rules\": [\n {\n \"operation\": \"notEqual\"\n }\n ]\n }\n },\n \"id\": \"e5bbe5e9-89ad-46d9-b7df-f16f1cb95003\",\n \"name\": \"Rule Switch\",\n \"type\": \"n8n-nodes-base.switch\",\n \"typeVersion\": 2,\n \"position\": [\n -256,\n 192\n ]\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $json.chat_id }}\",\n \"text\": \"Halo 👋\\n\\nKetik:\\n1 = Info layanan\\n2 = Harga\\n3 = Kontak CS\\nmenu = tampilkan menu\",\n \"additionalFields\": {}\n },\n \"id\": \"411df69a-5021-4ce5-9ea7-d5e0ce140141\",\n \"name\": \"Reply Menu\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 0\n ],\n \"webhookId\": \"8dd487f1-2f0d-422c-8346-2d7e29aacf82\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $json.chat_id }}\",\n \"text\": \"📌 *Info Layanan*\\n\\n- Implementasi ERP\\n- Automation n8n\\n- Bot Telegram & WhatsApp\\n\\nKetik *menu* untuk kembali.\",\n \"additionalFields\": {}\n },\n \"id\": \"8deb5b26-f8c5-4215-bbb2-2dbd45759055\",\n \"name\": \"Reply 1\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 128\n ],\n \"webhookId\": \"184d71a7-e7bc-4226-90f3-185dc5e2a229\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $json.chat_id }}\",\n \"text\": \"💰 *Harga*\\n\\n- Basic: Rp X\\n- Pro: Rp Y\\n\\nKetik *menu* untuk kembali.\",\n \"additionalFields\": {}\n },\n \"id\": \"c7e9ac64-30cd-422a-929a-ddda99f8814d\",\n \"name\": \"Reply 2\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 240\n ],\n \"webhookId\": \"3f298141-5508-4666-b443-43ab5904018d\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $json.chat_id }}\",\n \"text\": \"👨‍💻 *Kontak CS*\\n\\nSilakan jelaskan kebutuhan kamu.\\nAdmin akan follow up.\",\n \"additionalFields\": {}\n },\n \"id\": \"a2d0b6f8-382a-4520-98b3-34c933c36ded\",\n \"name\": \"Reply 3\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 368\n ],\n \"webhookId\": \"81952ebe-936d-40a3-a5d5-325c0985e2bb\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n },\n {\n \"parameters\": {\n \"chatId\": \"={{ $json.chat_id }}\",\n \"text\": \"❌ Perintah tidak dikenali.\\nKetik *menu* untuk melihat pilihan.\",\n \"additionalFields\": {}\n },\n \"id\": \"2b90a58c-1902-4846-a734-f48b165724cb\",\n \"name\": \"Reply Default\",\n \"type\": \"n8n-nodes-base.telegram\",\n \"typeVersion\": 1,\n \"position\": [\n 0,\n 480\n ],\n \"webhookId\": \"03ffa5a5-b8cd-4582-842b-74bf4e5f9bb3\",\n \"credentials\": {\n \"telegramApi\": {\n \"id\": \"Z2FSMKmPu6xdQdXH\",\n \"name\": \"my-hominem-bot\"\n }\n }\n }\n ],\n \"connections\": {\n \"Telegram Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Normalize Text\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Normalize Text\": {\n \"main\": [\n [\n {\n \"node\": \"Rule Switch\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Rule Switch\": {\n \"main\": [\n [\n {\n \"node\": \"Reply Menu\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"settings\": {\n \"executionOrder\": \"v1\"\n },\n \"staticData\": null,\n \"meta\": {\n \"templateCredsSetupCompleted\": true\n },\n \"pinData\": {},\n \"versionId\": \"14e85884-28a3-45fc-9276-696ddb2cfaa2\",\n \"triggerCount\": 1,\n \"shared\": [\n {\n \"updatedAt\": \"2026-01-07T02:34:07.079Z\",\n \"createdAt\": \"2026-01-07T02:34:07.079Z\",\n \"role\": \"workflow:owner\",\n \"workflowId\": \"fmDCnxWIYcC3kCbF\",\n \"projectId\": \"M2s3vgFF3i2bt62b\"\n }\n ],\n \"tags\": []\n}","fileName":"Telegram_Rule_Base_Simple_Agent.json"}
\ No newline at end of file
{"node":"{\n \"updatedAt\": \"2026-01-07T08:59:21.710Z\",\n \"createdAt\": \"2026-01-07T08:59:21.710Z\",\n \"id\": \"U77XXDETNrF5nGul\",\n \"name\": \"Telegram fixing\",\n \"active\": false,\n \"isArchived\": false,\n \"nodes\": [],\n \"connections\": {},\n \"settings\": {\n \"executionOrder\": \"v1\"\n },\n \"staticData\": null,\n \"meta\": null,\n \"pinData\": {},\n \"versionId\": \"750ba11f-34d6-447b-b3db-0570257fff14\",\n \"triggerCount\": 0,\n \"shared\": [\n {\n \"updatedAt\": \"2026-01-07T08:59:21.719Z\",\n \"createdAt\": \"2026-01-07T08:59:21.719Z\",\n \"role\": \"workflow:owner\",\n \"workflowId\": \"U77XXDETNrF5nGul\",\n \"projectId\": \"M2s3vgFF3i2bt62b\"\n }\n ],\n \"tags\": []\n}","fileName":"Telegram_fixing.json"}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment