{"workflow":{"id":12948,"name":"Send personalized hotel pre-arrival messages using OpenAI, Google Sheets and Slack","views":107,"recentViews":0,"totalViews":107,"createdAt":"2026-01-23T14:10:23.717Z","description":"Description\nThis workflow automates a personalized pre-arrival guest experience for hotels by combining Google Sheets, OpenAI, Email, and Slack. It detects upcoming check-ins, maintains unified guest profiles for new and returning guests, and sends warm, AI-generated welcome messages exactly 2 days before arrival, ensuring a premium, consistent experience without manual effort.\n\n⚠️ Deployment Disclaimer\n This workflow is intended for self-hosted n8n instances.\n\n⚙️ What This Workflow Does (Step-by-Step)\n ▶️ Scheduled Daily Trigger\n Runs automatically each day to process upcoming arrivals.\n📄 Fetch Guest Profiles (Google Sheets)\n Loads guest reservations and existing guest history from the source of truth.\n👤 Guest Profile Handling\n Merges data for returning guests or creates a new profile for first-time visitors.\n⏰ Pre-Arrival Window Check\n Calculates days until check-in and filters guests arriving within 2 days only.\n🤖 AI Welcome Message Generation\n Uses OpenAI to generate short, personalized pre-arrival messages based on preferences, allergies, and special occasions.\n📬 Multi-Channel Delivery\n Sends the message via Slack (if available) or Email and logs all messages to Google Sheets.\n🗂 Profile & Message Logging\n Updates guest profiles and stores sent messages for tracking and audit.\n🚨 Error Monitoring\n Any workflow failure triggers an immediate Slack alert.\n\n🧩 Prerequisites\n • Google Sheets OAuth2\n • OpenAI API key\n • Slack API access\n • SMTP email credentials\n • Self-hosted n8n recommended\n\n💡 Key Benefits\n ✔ Personalized pre-arrival communication\n ✔ Zero manual guest follow-ups\n ✔ Unified guest profiles (new + returning)\n ✔ Timed, non-spammy outreach\n ✔ Full logging and error visibility\n\n👥 Perfect For\n-  Hotels & resorts\n-  Boutique hospitality brands\n-  Property managers\n-  Guest experience teams","workflow":{"id":"Y1n7DfPQMf6kT4Hc","meta":{"instanceId":"8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177","templateCredsSetupCompleted":true},"name":"AI-Powered Guest Pre-Arrival Experience Automation using OpenAI, Google Sheets & Slack","tags":[],"nodes":[{"id":"9a2106b5-c91b-4f2a-8ef8-21f11461b74e","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,864],"parameters":{"width":738,"height":510,"content":"## 🏨 AI-Powered Guest Pre-Arrival Experience Automation using OpenAI, Google Sheets & Slack\n\n### How it works\nThis workflow manages hotel guest profiles and sends personalized pre-arrival messages. It runs daily to check for upcoming check-ins, merges repeat guest data with new reservations, and automatically sends AI-generated welcome messages 2 days before arrival. Messages acknowledge room preferences, dietary restrictions, and special occasions to create a premium hospitality experience.\n\n### Setup steps\n1. Connect Google Sheets with guest data (Sheet1: profiles, Sheet2: updates, Sheet3: message log)\n2. Add OpenAI API credentials for message generation\n3. Configure Slack workspace and Email SMTP for notifications\n4. Set schedule trigger interval (recommended: daily at 9 AM)\n5. Test with sample guest data before going live\n\n**Use case:** Perfect for boutique hotels, resorts, or property managers who want to automate personalized guest communication while maintaining a luxury touch."},"typeVersion":1},{"id":"c7b0ee5d-6945-413a-8b17-74844b99914f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[848,1312],"parameters":{"color":7,"width":416,"height":404,"content":"## 📅 Scheduled Data Retrieval\n\nRuns daily to fetch all guest reservations from Google Sheets. The sheet contains guest profiles with contact info, preferences, allergies, and check-in dates.\n\nSheet1 stores master guest data that gets checked for existing profiles."},"typeVersion":1},{"id":"9fbc1e1e-2688-44a5-8d23-dd307ec1764d","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1296,1248],"parameters":{"color":7,"width":636,"height":648,"content":"## 👤 Smart Profile Management\n\nChecks if the guest has stayed before (existing guest_id). Returning guests get their profiles merged — combining new preferences with historical data like visit count and previous allergies. New guests get a fresh profile created with visit_count set to 1."},"typeVersion":1},{"id":"826ac01d-36cc-41c9-b1b0-45105f749757","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1952,1280],"parameters":{"color":7,"width":428,"height":516,"content":"## ⏰ Pre-Arrival Window Detection\n\nCalculates days remaining until check-in and filters for guests arriving within 2 days. Only those within the window proceed to message generation, preventing spam."},"typeVersion":1},{"id":"0b555a00-2c42-4ae3-abef-8f181cdc083b","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2400,1280],"parameters":{"color":7,"width":280,"height":504,"content":"## 🤖 AI Message Personalization\n\nGenerates warm, context-aware welcome messages using OpenAI. The prompt includes guest name, room preference, dietary needs, special occasions, and visit history to create natural, premium-sounding messages without being robotic."},"typeVersion":1},{"id":"51141e51-a832-4c20-a989-0453e50e339c","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[2704,1168],"parameters":{"color":7,"width":516,"height":828,"content":"## 📬 Multi-Channel Delivery\n\nRoutes messages based on available contact info. If phone number exists, sends via Slack and logs to Sheet3. Otherwise, falls back to email. This ensures every guest receives their personalized message through the best available channel."},"typeVersion":1},{"id":"031ad87f-d70d-4fa7-99f7-e2405b10274c","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[880,1984],"parameters":{"color":7,"width":492,"height":400,"content":"## ⚠️ Error Monitoring\n\nCatches any workflow failures and sends alerts to Slack's general-information channel. Helps maintain reliability and enables quick troubleshooting."},"typeVersion":1},{"id":"fa4c768c-8190-42c7-9634-bb46a053b97b","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[3248,1568],"parameters":{"color":3,"width":400,"height":268,"content":"## 🔐 Required Credentials\n\n- Google Sheets OAuth2 (read/write access)\n- OpenAI API key (GPT models)\n- Slack workspace token\n- SMTP email credentials\n\nReplace all example emails and IDs with your own before deployment."},"typeVersion":1},{"id":"2b46b385-9eab-457c-bc4f-b3227407bdf1","name":"Guest Exists?","type":"n8n-nodes-base.if","position":[1344,1552],"parameters":{"conditions":{"string":[{"value1":"={{ $json.guest_id }}","operation":"isNotEmpty"}]}},"typeVersion":1},{"id":"0fb67aae-38de-4349-a014-7b5f32ff1608","name":"Merge Returning Guest Data","type":"n8n-nodes-base.function","position":[1568,1456],"parameters":{"functionCode":"const incoming = $input.first().json;\nconst existing = $('Fetch Guest Profiles').first().json;\n\nconst existingAllergies = existing.food_allergies || [];\nconst newAllergies = incoming.food_allergies || [];\nconst mergedAllergies = [...new Set([...existingAllergies, ...newAllergies])];\n\nconst updatedProfile = {\n  guest_key: incoming.guest_key,\n  guest_id: incoming.guest_id || existing.guest_id,\n  name: incoming.name || existing.name,\n  email: incoming.email || existing.email,\n  phone: incoming.phone || existing.phone,\n  room_preference: incoming.room_preference || existing.room_preference,\n  food_allergies: mergedAllergies,\n  special_occasion: incoming.special_occasion || existing.special_occasion,\n  check_in_date: incoming.check_in_date,\n  visit_count: (existing.visit_count || 0) + 1,\n  last_visit_date: new Date().toISOString(),\n  profile_id: existing.id\n};\n\nreturn { json: updatedProfile };"},"typeVersion":1},{"id":"510c6693-3212-48b2-8d86-45d88882e89e","name":"Create First-Time Guest Profile","type":"n8n-nodes-base.function","position":[1568,1648],"parameters":{"functionCode":"const incoming = $input.first().json;\n\nconst newProfile = {\n  guest_key: incoming.guest_key,\n  guest_id: incoming.guest_id,\n  name: incoming.name,\n  email: incoming.email,\n  phone: incoming.phone,\n  room_preference: incoming.room_preference,\n  food_allergies: incoming.food_allergies || [],\n  special_occasion: incoming.special_occasion,\n  check_in_date: incoming.check_in_date,\n  visit_count: 1,\n  last_visit_date: new Date().toISOString(),\n  created_at: new Date().toISOString()\n};\n\nreturn { json: newProfile };"},"typeVersion":1},{"id":"c6f57f00-ee0e-4b2a-b900-a7631dfadffa","name":"Calculate Days Until Check-In","type":"n8n-nodes-base.function","position":[2016,1552],"parameters":{"functionCode":"const checkInDate = new Date($json.check_in_date);\nconst now = new Date();\nconst diffTime = checkInDate - now;\nconst diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n\nreturn {\n  json: {\n    ...($json),\n    days_until_checkin: diffDays,\n    within_window: diffDays <= 2 && diffDays >= 0\n  }\n};"},"typeVersion":1},{"id":"e838ef49-240f-4608-ab15-7870ab7bff37","name":"Within 2-Day Window?","type":"n8n-nodes-base.if","position":[2240,1552],"parameters":{"conditions":{"boolean":[{"value1":"={{$json.within_window}}","value2":true}]}},"typeVersion":1},{"id":"8c4608a4-a60c-4191-bd09-0692096c27a6","name":"Generate Personalized Welcome Message","type":"n8n-nodes-base.openAi","position":[2480,1552],"parameters":{"prompt":"=You are a hospitality concierge assistant for a premium hotel.\n\nWrite a short, warm, and personalized pre-arrival message for the guest.\n\nGuest details:\n- Name: {{$json.name}}\n- Room preference: {{$json.room_preference}}\n- Food allergies: {{$json.food_allergies.join(\", \")}}\n- Special occasion: {{$json.special_occasion}}\n- Visit count: {{$json.visit_count}}\n\nRules:\n- If room preference exists, mention it naturally.\n- If food allergies exist, politely acknowledge they have been noted.\n- If a special occasion exists, congratulate or acknowledge it warmly.\n- Keep the tone friendly, premium, and welcoming.\n- Length: 2–4 short sentences.\n- Do NOT mention internal systems, visit counts, or data sources.\n- Do NOT use emojis.\n- Do NOT ask questions.\n- End with a positive welcoming line.\n\nOutput ONLY the message text.\n","options":{},"requestOptions":{}},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account 2"}},"typeVersion":1},{"id":"a89960f4-b813-4529-a151-7c008542f1f2","name":"Check Message Generated","type":"n8n-nodes-base.if","position":[2736,1552],"parameters":{"conditions":{"string":[{"value1":"={{ $json.text }}","operation":"isNotEmpty"}]}},"typeVersion":1},{"id":"ecc7fee8-0d7d-450b-bfb4-1ca9a05f5b25","name":"Send Welcome Email","type":"n8n-nodes-base.emailSend","position":[2960,1744],"webhookId":"8a83f52f-07d5-4b0e-8dd4-6ee199807770","parameters":{"text":"={{ $('Generate Personalized Welcome Message').item.json.text }}","options":{},"subject":"Your Upcoming Stay - We're Ready for You!","toEmail":"={{$json.email}}","fromEmail":"user@example.com"},"credentials":{"smtp":{"id":"credential-id","name":"SMTP account-hostinger davide"}},"typeVersion":2},{"id":"a7cbb5df-9fea-4864-bc1e-dd4da8a2e84d","name":"Error Trigger","type":"n8n-nodes-base.errorTrigger","position":[944,2176],"parameters":{},"typeVersion":1},{"id":"3253626b-141e-468f-9477-86763ab4d586","name":"Fetch Guest Profiles","type":"n8n-nodes-base.googleSheets","position":[1120,1552],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"[YOUR_SPREADSHEET_ID]","cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit","cachedResultName":"Guest Database"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"dd75cf6f-7a2e-41bf-acca-582e02f773d5","name":"Daily Check Schedule","type":"n8n-nodes-base.scheduleTrigger","position":[896,1552],"parameters":{"rule":{"interval":[{}]}},"typeVersion":1.3},{"id":"2675403a-de2a-4290-b069-314536b63a98","name":"Save Updated Profile","type":"n8n-nodes-base.googleSheets","position":[1792,1552],"parameters":{"columns":{"value":{},"schema":[],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":254632980,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit#gid=254632980","cachedResultName":"Sheet2"},"documentId":{"__rl":true,"mode":"list","value":"[YOUR_SPREADSHEET_ID]","cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit","cachedResultName":"Guest Database"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"c6eddf59-9708-48ec-9c70-a806707858b7","name":"Send Slack Notification","type":"n8n-nodes-base.slack","position":[2960,1360],"webhookId":"69d53b73-85d4-4059-a46e-7fcfffa4f44a","parameters":{"text":"={{ $json.text }}","select":"channel","channelId":{"__rl":true,"mode":"list","value":"C09GNB90TED","cachedResultName":"guest-notifications"},"otherOptions":{}},"credentials":{"slackApi":{"id":"credential-id","name":"Slack account vivek"}},"typeVersion":2.4},{"id":"8accf523-9b18-441e-8b82-55dbcd301867","name":"Log Message to Sheet","type":"n8n-nodes-base.googleSheets","position":[2960,1552],"parameters":{"columns":{"value":{},"schema":[{"id":"text","type":"string","display":true,"removed":false,"required":false,"displayName":"text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"index","type":"string","display":true,"removed":false,"required":false,"displayName":"index","defaultMatch":false,"canBeUsedToMatch":true},{"id":"logprobs","type":"string","display":true,"removed":false,"required":false,"displayName":"logprobs","defaultMatch":false,"canBeUsedToMatch":true},{"id":"finish_reason","type":"string","display":true,"removed":false,"required":false,"displayName":"finish_reason","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"autoMapInputData","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"list","value":369348291,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit#gid=369348291","cachedResultName":"Sheet3"},"documentId":{"__rl":true,"mode":"list","value":"[YOUR_SPREADSHEET_ID]","cachedResultUrl":"https://docs.google.com/spreadsheets/d/[YOUR_SPREADSHEET_ID]/edit","cachedResultName":"Guest Database"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"automations@techdome.ai"}},"typeVersion":4.7},{"id":"b0c619f9-5d1b-4c2a-939a-697fb72977db","name":"Alert on Workflow Failure","type":"n8n-nodes-base.slack","position":[1200,2176],"webhookId":"5fd75483-42ba-4200-98c6-00e83a265573","parameters":{"text":"⚠️ Hotel Pre-Arrival Workflow Error Detected\n\nPlease check the execution log for details.","select":"channel","channelId":{"__rl":true,"mode":"list","value":"C09GNB90TED","cachedResultName":"workflow-errors"},"otherOptions":{}},"credentials":{"slackApi":{"id":"credential-id","name":"Slack account vivek"}},"typeVersion":2.4}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"596eab85-c6a5-46ee-9928-e01489bfe49d","connections":{"Error Trigger":{"main":[[{"node":"Alert on Workflow Failure","type":"main","index":0}]]},"Guest Exists?":{"main":[[{"node":"Merge Returning Guest Data","type":"main","index":0}],[{"node":"Create First-Time Guest Profile","type":"main","index":0}]]},"Daily Check Schedule":{"main":[[{"node":"Fetch Guest Profiles","type":"main","index":0}]]},"Fetch Guest Profiles":{"main":[[{"node":"Guest Exists?","type":"main","index":0}]]},"Save Updated Profile":{"main":[[{"node":"Calculate Days Until Check-In","type":"main","index":0}]]},"Within 2-Day Window?":{"main":[[],[{"node":"Generate Personalized Welcome Message","type":"main","index":0}]]},"Check Message Generated":{"main":[[{"node":"Send Slack Notification","type":"main","index":0},{"node":"Log Message to Sheet","type":"main","index":0}],[{"node":"Send Welcome Email","type":"main","index":0}]]},"Merge Returning Guest Data":{"main":[[{"node":"Save Updated Profile","type":"main","index":0}]]},"Calculate Days Until Check-In":{"main":[[{"node":"Within 2-Day Window?","type":"main","index":0}]]},"Create First-Time Guest Profile":{"main":[[{"node":"Save Updated Profile","type":"main","index":0}]]},"Generate Personalized Welcome Message":{"main":[[{"node":"Check Message Generated","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":23,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.openAi":{"count":1},"n8n-nodes-base.function":{"count":3},"n8n-nodes-base.emailSend":{"count":1},"n8n-nodes-base.stickyNote":{"count":8},"n8n-nodes-base.errorTrigger":{"count":1},"n8n-nodes-base.googleSheets":{"count":3},"n8n-nodes-base.scheduleTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Rahul Joshi","username":"rahul08","bio":"Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.\n\n","verified":true,"links":["https://www.linkedin.com/in/callrahul/"],"avatar":"https://gravatar.com/avatar/b6cf57822463143589b36ada06fbf6cb1509223a740fae3160b28f1ce41ccc12?r=pg&d=retro&size=200"},"nodes":[{"id":11,"icon":"fa:envelope","name":"n8n-nodes-base.emailSend","codex":{"data":{"alias":["SMTP","email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/sendemail/"}]},"categories":["Communication","HITL","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Send Email","color":"#00bb88"},"iconData":{"icon":"envelope","type":"icon"},"displayName":"Send Email","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":9,"name":"Core Nodes"},{"id":28,"name":"HITL"}]},{"id":12,"icon":"fa:bug","name":"n8n-nodes-base.errorTrigger","codex":{"data":{"details":"In n8n, when a workflow execution fails, it can start another workflow. This second workflow can be any arbitrary workflow on your n8n instance. Use the Error Trigger node as your Trigger in the Error workflow.","resources":{"generic":[{"url":"https://n8n.io/blog/creating-error-workflows-in-n8n/","icon":"🌪","label":"Creating Error Workflows in n8n"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.errortrigger/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"Error Trigger","color":"#0000FF"},"iconData":{"icon":"bug","type":"icon"},"displayName":"Error Trigger","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":14,"icon":"fa:code","name":"n8n-nodes-base.function","codex":{"data":{"alias":["Code","Javascript","Custom Code","Script","cpde"],"details":"The Function node allows you to execute JavaScript in your workflow. Unlike the Function Item node, this node does not operate on incoming node data per-item. Instead, you must iterate over multiple items of incoming data yourself. This can be useful if you're performing data transformation where you want to manipulate the number of items being outputted by the node (i.e. 1 item is inputted in with nested object, 10 items are outputted without any nested objects)","resources":{"generic":[{"url":"https://n8n.io/blog/2021-goals-level-up-your-vocabulary-with-vonage-and-n8n/","icon":"🎯","label":"2021 Goals: Level Up Your Vocabulary With Vonage and n8n"},{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/why-i-chose-n8n-over-zapier-in-2020/","icon":"😍","label":"Why I chose n8n over Zapier in 2020"},{"url":"https://n8n.io/blog/how-to-host-virtual-coffee-breaks-with-n8n/","icon":"☕️","label":"How to host virtual coffee breaks with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/tracking-time-spent-in-meetings-with-google-calendar-twilio-and-n8n/","icon":"🗓","label":"Tracking Time Spent in Meetings With Google Calendar, Twilio, and n8n"},{"url":"https://n8n.io/blog/creating-error-workflows-in-n8n/","icon":"🌪","label":"Creating Error Workflows in n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Function","color":"#FF9922"},"iconData":{"icon":"code","type":"icon"},"displayName":"Function","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":840,"icon":"file:openAi.svg","name":"n8n-nodes-base.openAi","codex":{"data":{"alias":["ChatGPT","DallE"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/openai/"}]},"categories":["Utility"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMjYwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTIzOS4xODQgMTA2LjIwM2E2NC43MiA2NC43MiAwIDAgMC01LjU3Ni01My4xMDNDMjE5LjQ1MiAyOC40NTkgMTkxIDE1Ljc4NCAxNjMuMjEzIDIxLjc0QTY1LjU4NiA2NS41ODYgMCAwIDAgNTIuMDk2IDQ1LjIyYTY0LjcyIDY0LjcyIDAgMCAwLTQzLjIzIDMxLjM2Yy0xNC4zMSAyNC42MDItMTEuMDYxIDU1LjYzNCA4LjAzMyA3Ni43NGE2NC42NyA2NC42NyAwIDAgMCA1LjUyNSA1My4xMDJjMTQuMTc0IDI0LjY1IDQyLjY0NCAzNy4zMjQgNzAuNDQ2IDMxLjM2YTY0LjcyIDY0LjcyIDAgMCAwIDQ4Ljc1NCAyMS43NDRjMjguNDgxLjAyNSA1My43MTQtMTguMzYxIDYyLjQxNC00NS40ODFhNjQuNzcgNjQuNzcgMCAwIDAgNDMuMjI5LTMxLjM2YzE0LjEzNy0yNC41NTggMTAuODc1LTU1LjQyMy04LjA4My03Ni40ODNtLTk3LjU2IDEzNi4zMzhhNDguNCA0OC40IDAgMCAxLTMxLjEwNS0xMS4yNTVsMS41MzUtLjg3IDUxLjY3LTI5LjgyNWE4LjYgOC42IDAgMCAwIDQuMjQ3LTcuMzY3di03Mi44NWwyMS44NDUgMTIuNjM2Yy4yMTguMTExLjM3LjMyLjQwOS41NjN2NjAuMzY3Yy0uMDU2IDI2LjgxOC0yMS43ODMgNDguNTQ1LTQ4LjYwMSA0OC42MDFNMzcuMTU4IDE5Ny45M2E0OC4zNSA0OC4zNSAwIDAgMS01Ljc4MS0zMi41ODlsMS41MzQuOTIxIDUxLjcyMiAyOS44MjZhOC4zNCA4LjM0IDAgMCAwIDguNDQxIDBsNjMuMTgxLTM2LjQyNXYyNS4yMjFhLjg3Ljg3IDAgMCAxLS4zNTguNjY1bC01Mi4zMzUgMzAuMTg0Yy0yMy4yNTcgMTMuMzk4LTUyLjk3IDUuNDMxLTY2LjQwNC0xNy44MDNNMjMuNTQ5IDg1LjM4YTQ4LjUgNDguNSAwIDAgMSAyNS41OC0yMS4zMzN2NjEuMzlhOC4yOSA4LjI5IDAgMCAwIDQuMTk1IDcuMzE2bDYyLjg3NCAzNi4yNzItMjEuODQ1IDEyLjYzNmEuODIuODIgMCAwIDEtLjc2NyAwTDQxLjM1MyAxNTEuNTNjLTIzLjIxMS0xMy40NTQtMzEuMTcxLTQzLjE0NC0xNy44MDQtNjYuNDA1em0xNzkuNDY2IDQxLjY5NS02My4wOC0zNi42M0wxNjEuNzMgNzcuODZhLjgyLjgyIDAgMCAxIC43NjggMGw1Mi4yMzMgMzAuMTg0YTQ4LjYgNDguNiAwIDAgMS03LjMxNiA4Ny42MzV2LTYxLjM5MWE4LjU0IDguNTQgMCAwIDAtNC40LTcuMjEzbTIxLjc0Mi0zMi42OS0xLjUzNS0uOTIyLTUxLjYxOS0zMC4wODFhOC4zOSA4LjM5IDAgMCAwLTguNDkyIDBMOTkuOTggOTkuODA4Vjc0LjU4N2EuNzIuNzIgMCAwIDEgLjMwNy0uNjY1bDUyLjIzMy0zMC4xMzNhNDguNjUyIDQ4LjY1MiAwIDAgMSA3Mi4yMzYgNTAuMzkxek04OC4wNjEgMTM5LjA5N2wtMjEuODQ1LTEyLjU4NWEuODcuODcgMCAwIDEtLjQxLS42MTRWNjUuNjg1YTQ4LjY1MiA0OC42NTIgMCAwIDEgNzkuNzU3LTM3LjM0NmwtMS41MzUuODctNTEuNjcgMjkuODI1YTguNiA4LjYgMCAwIDAtNC4yNDYgNy4zNjd6bTExLjg2OC0yNS41OEwxMjguMDY3IDk3LjNsMjguMTg4IDE2LjIxOHYzMi40MzRsLTI4LjA4NiAxNi4yMTgtMjguMTg4LTE2LjIxOHoiLz48L3N2Zz4="},"displayName":"OpenAI","typeVersion":1,"nodeCategories":[{"id":7,"name":"Utility"}]}],"categories":[{"id":38,"name":"Lead Nurturing"},{"id":51,"name":"Multimodal AI"}],"image":[]}}