{"workflow":{"id":13195,"name":"Search Slack for n8n templates with OpenAI tips, Google Sheets cache and weekly analytics","views":14,"recentViews":0,"totalViews":14,"createdAt":"2026-02-03T16:43:53.377Z","description":"# Slack Bot for n8n Template Search with AI Tips, Cache and Analytics\n\nSearch n8n workflow templates directly from Slack with AI-powered suggestions. Mention the bot with what you need in English, Spanish or Japanese and get matching templates plus actionable tips to improve your automation.\n\n## Who is this for\n\nTeams using n8n who want to find workflow templates without leaving Slack. Great for multilingual teams and onboarding new members.\n\n## What this workflow does\n\n- Detects user intent (search, help, or browse categories) and routes accordingly\n- Extracts keywords from 200+ known services and translates 150+ Japanese business terms to English\n- Checks a Google Sheets cache before calling the n8n Templates API\n- Uses OpenAI (gpt-4o-mini) to generate contextual tips based on the search results and use case\n- When no templates are found, the AI suggests alternative keywords and how to build the workflow from scratch\n- Logs every search to Google Sheets and posts a weekly usage report to Slack\n\n## Setup\n\n1. Create a Slack App with `app_mentions:read` and `chat:write` scopes\n2. Set Slack credentials in n8n\n3. Create an HTTP Header Auth credential for OpenAI (name: `Authorization`, value: `Bearer sk-your-key`)\n4. Create a Google Sheet with two tabs: `Cache` (SearchQuery, CachedResponse, ResultCount, Timestamp) and `Analytics` (Timestamp, User, Query, Keywords, ResultCount, Intent, FromCache)\n5. Connect the Google Sheet in all four Sheets nodes\n6. Select your Slack channel in the Trigger, Error Reply and Weekly Summary nodes\n7. Activate and test with a mention\n\n## How to customize\n\n- Add services to `knownServices` or extend `jaToEn` for more languages\n- Edit the AI system prompts to change tone or tip style\n- Adjust the weekly report schedule in the Schedule Trigger node\n- Replace Google Sheets cache with Redis for better performance at scale","workflow":{"meta":{"instanceId":"5a736234c697011c98e45cbb42e3fa6c7274e8d2737d845f99ebfa424b5a19fa","templateCredsSetupCompleted":true},"nodes":[{"id":"66e219b9-b9c9-4c0f-8f1c-673cdfd73025","name":"Sticky Note - Overview","type":"n8n-nodes-base.stickyNote","position":[1488,480],"parameters":{"width":560,"height":796,"content":"# n8n Template Search Bot for Slack (Enhanced)\n\nA smart Slack bot that searches the official n8n template library, provides **AI-powered tips & suggestions**, caches results, and logs analytics.\n\n### Features\n- Search 200+ service names with Japanese-to-English mapping\n- AI-powered tips & improvement suggestions for each query\n- Google Sheets cache to avoid repeated API calls\n- Analytics logging for search history\n- Smart error handling with fallback suggestions\n- Intent detection: search vs help vs categories\n\n### How it works\n1. **Trigger:** User @mentions the bot in Slack\n2. **Intent Detection:** Classify as search, help, or categories\n3. **Cache Check:** Look for recent identical searches\n4. **Search:** Query the n8n Templates API\n5. **AI Tips:** Generate contextual improvement suggestions\n6. **Reply:** Send formatted results + tips back to Slack\n7. **Log:** Save search analytics to Google Sheets\n\n### Setup\n1. Create a Slack App with `app_mentions:read` and `chat:write` scopes\n2. Set your Slack credentials and OpenAI API key in n8n\n3. Create a Google Sheet with two tabs: Cache (SearchQuery, CachedResponse, ResultCount, Timestamp) and Analytics (Timestamp, User, Query, Keywords, ResultCount, Intent, FromCache)\n4. Configure the channel ID and Sheet ID in the nodes\n5. Activate the workflow"},"typeVersion":1},{"id":"b4a600aa-8a7d-4408-894f-f0b73ba13cbf","name":"Sticky Note - Trigger","type":"n8n-nodes-base.stickyNote","position":[2080,480],"parameters":{"color":7,"height":576,"content":"## Trigger\nListens for `@bot` mentions in the configured Slack channel."},"typeVersion":1},{"id":"6e44adf0-7969-4716-8f43-31f282cc00f4","name":"Sticky Note - Normalize","type":"n8n-nodes-base.stickyNote","position":[2352,480],"parameters":{"color":7,"width":480,"height":576,"content":"## Normalize, Extract & Detect Intent\nDetects 200+ tool/service names, translates 150+ Japanese terms, and classifies intent (search / help / categories)."},"typeVersion":1},{"id":"c4895ce6-e687-49b9-ad38-bded625e1685","name":"Sticky Note - Intent Router","type":"n8n-nodes-base.stickyNote","position":[2864,480],"parameters":{"color":4,"width":300,"height":576,"content":"## Intent Router\nRoutes the message based on detected intent:\n- **search** > Cache check > API > AI Tips\n- **help** > Direct help response\n- **categories** > Show popular categories"},"typeVersion":1},{"id":"04a0c158-4d41-4801-860f-a6badc71f7af","name":"Sticky Note - Cache","type":"n8n-nodes-base.stickyNote","position":[3216,480],"parameters":{"color":5,"width":300,"height":560,"content":"## Cache Layer\nChecks Google Sheets for recent identical searches to avoid redundant API calls."},"typeVersion":1},{"id":"e9b33ce0-54b7-421e-9bd3-4d089a6d9fbc","name":"Sticky Note - Search & AI","type":"n8n-nodes-base.stickyNote","position":[3552,480],"parameters":{"color":6,"width":540,"height":560,"content":"## Search + AI Tips\nQueries the n8n Templates API, then uses OpenAI to generate contextual tips and improvement ideas based on what the user is trying to build."},"typeVersion":1},{"id":"458babca-4a03-47e4-ac71-2a3cab9fcbc4","name":"Sticky Note - Reply & Log","type":"n8n-nodes-base.stickyNote","position":[4128,480],"parameters":{"color":3,"width":480,"height":560,"content":"## Format, Reply & Log\nFormats results with tips into Slack message, replies in thread, and logs the search to Google Sheets for analytics."},"typeVersion":1},{"id":"589b04f2-b4d6-4c57-9959-d62117fc351a","name":"Sticky Note - Error Handling","type":"n8n-nodes-base.stickyNote","position":[3552,1104],"parameters":{"color":2,"width":400,"height":260,"content":"## Error Handling\nCatches any errors in the workflow and sends a friendly error message to the Slack thread so the user isn't left hanging."},"typeVersion":1},{"id":"f37da460-ffa2-40c3-979c-0cd583e0d437","name":"Slack Trigger - Bot Mention","type":"n8n-nodes-base.slackTrigger","position":[2128,672],"webhookId":"cbbf0960-f6be-4f88-b454-578405558e77","parameters":{"options":{},"trigger":["app_mention"],"channelId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a channel..."}},"typeVersion":1},{"id":"b9a1fd51-7589-44fc-86af-eb3c3cfb5237","name":"Extract Keywords & Detect Intent","type":"n8n-nodes-base.code","position":[2384,672],"parameters":{"jsCode":"const event = $input.first().json.event || $input.first().json;\nconst rawText = event.text || '';\nconst userRequest = rawText.replace(/<@[^>]+>\\s*/g, '').trim();\nconst userId = event.user || 'unknown';\n\n// ── Intent Detection ──\nconst helpPatterns = /^(help|ayuda|ヘルプ|使い方|how to use|como usar|how does|que puedo)/i;\nconst categoryPatterns = /^(categories|categorías|カテゴリ|list|show me|popular|trending|人気)/i;\n\nlet intent = 'search';\nif (helpPatterns.test(userRequest)) intent = 'help';\nelse if (categoryPatterns.test(userRequest)) intent = 'categories';\n\n// ── Known service & tool names (200+) ──\nconst knownServices = [\n  'Claude','OpenAI','GPT','ChatGPT','GPT-4','GPT-3','Anthropic','Gemini','Bard',\n  'Llama','Mistral','Cohere','Perplexity','Copilot','Midjourney','DALL-E','Stable Diffusion',\n  'Hugging Face','LangChain','Pinecone','Weaviate','Qdrant','ChromaDB',\n  'LINE','Slack','Discord','Telegram','WhatsApp','Messenger','WeChat',\n  'Microsoft Teams','Teams','Zoom','Webex','Google Chat','Mattermost','Rocket.Chat',\n  'Gmail','Outlook','Yahoo Mail','SendGrid','Mailchimp','Mailgun','Postmark',\n  'Amazon SES','SMTP','IMAP','Sendinblue','ConvertKit','ActiveCampaign',\n  'Google Sheets','Excel','Airtable','Notion','Coda','Smartsheet',\n  'MySQL','PostgreSQL','Postgres','MongoDB','Redis','SQLite','MariaDB',\n  'Supabase','Firebase','Firestore','DynamoDB','Fauna','PlanetScale','Neon',\n  'Snowflake','BigQuery','Redshift','Elasticsearch','Algolia','Meilisearch',\n  'Salesforce','HubSpot','Pipedrive','Zoho','Zendesk','Freshdesk','Intercom',\n  'Monday','Close','Copper','Insightly','Keap','Agile CRM',\n  'Jira','Trello','Asana','Basecamp','ClickUp','Linear','Todoist',\n  'Monday.com','Wrike','Teamwork','Shortcut','Height','Hive',\n  'GitHub','GitLab','Bitbucket','Jenkins','CircleCI','Travis CI',\n  'Docker','Kubernetes','Terraform','Ansible','Vercel','Netlify','Heroku',\n  'Sentry','Datadog','New Relic','PagerDuty','Opsgenie','Grafana','Prometheus',\n  'AWS','Amazon','S3','Lambda','EC2','SQS','SNS','CloudWatch',\n  'Azure','Google Cloud','GCP','Cloud Functions','Cloud Run',\n  'Cloudflare','DigitalOcean','Linode','Vultr',\n  'Shopify','WooCommerce','Magento','BigCommerce','Squarespace',\n  'Stripe','PayPal','Square','Braintree','Adyen','Razorpay','Paddle',\n  'Twitter','X','Facebook','Instagram','LinkedIn','TikTok','YouTube',\n  'Pinterest','Reddit','Threads','Mastodon','Bluesky',\n  'Google Ads','Facebook Ads','Google Analytics','Mixpanel','Amplitude','Segment',\n  'Buffer','Hootsuite','Sprout Social','Later','Canva',\n  'Google Drive','Dropbox','OneDrive','Box','iCloud',\n  'Google Docs','Microsoft Word','Confluence','Slite',\n  'DocuSign','HelloSign','PandaDoc','Adobe Sign',\n  'Google Meet','Whereby','Loom','Vidyard','Vimeo','Wistia','Mux',\n  'Google Calendar','Outlook Calendar','Calendly','Cal.com','Acuity',\n  'Doodle','SavvyCal','Reclaim',\n  'Google Forms','Typeform','JotForm','Tally','SurveyMonkey',\n  'QuickBooks','Xero','FreshBooks','Wave','Zoho Books',\n  'Harvest','Toggl','Clockify',\n  'Workday','BambooHR','Gusto','Rippling','Deel',\n  'Greenhouse','Lever','Workable','Breezy HR','JazzHR',\n  'Zapier','Make','Integromat','IFTTT','Workato','Tray.io',\n  'Twilio','Vonage','Plivo','MessageBird',\n  'Webflow','WordPress','Ghost','Contentful','Strapi','Sanity',\n  'Figma','Sketch','Adobe XD','InVision','Framer',\n  'RSS','Webhook','HTTP','API','REST','GraphQL','gRPC',\n  'Cron','Schedule','Timer','Trigger',\n  'PDF','CSV','JSON','XML','YAML','Markdown',\n  'OCR','QR','Barcode','Image','Video','Audio',\n  'AI','Bot','Chatbot','Automation','Workflow','RPA','Scraping'\n];\n\n// ── Japanese-to-English keyword mapping (150+) ──\nconst jaToEn = {\n  '請求書':'invoice billing','見積書':'quote estimate','契約書':'contract agreement',\n  '領収書':'receipt','納品書':'delivery slip','発注書':'purchase order',\n  '報告書':'report','議事録':'meeting minutes notes','提案書':'proposal',\n  '企画書':'proposal plan','仕様書':'specification','マニュアル':'manual documentation',\n  '申請書':'application form','稟議':'approval workflow','経費':'expense',\n  '顧客':'customer client CRM','売上':'sales revenue','在庫':'inventory stock',\n  '予約':'booking reservation appointment','注文':'order purchase',\n  '問い合わせ':'inquiry contact support ticket','サポート':'support helpdesk',\n  'リード':'lead prospect','商談':'deal opportunity sales','タスク':'task todo',\n  'プロジェクト':'project','スケジュール':'schedule calendar','進捗':'progress status',\n  '案件':'deal project case','見込み客':'prospect lead','受注':'order received',\n  '発注':'purchase order','入金':'payment received','出金':'payment expense',\n  '自動化':'automation automate','連携':'integration connect sync',\n  '同期':'sync synchronize','通知':'notification alert notify',\n  '送信':'send post','受信':'receive get','転送':'forward',\n  '作成':'create generate new','更新':'update edit modify','削除':'delete remove',\n  '取得':'fetch get retrieve','変換':'convert transform','抽出':'extract parse',\n  '集計':'aggregate sum total','分析':'analyze analytics','要約':'summarize summary',\n  '翻訳':'translate translation','承認':'approve approval workflow',\n  'バックアップ':'backup','コピー':'copy duplicate','移動':'move transfer',\n  'インポート':'import','エクスポート':'export','ダウンロード':'download',\n  'アップロード':'upload','検索':'search find','フィルター':'filter',\n  '並べ替え':'sort order','グループ化':'group aggregate',\n  'メール':'email mail','チャット':'chat message','ボット':'bot chatbot',\n  'メッセージ':'message notification','返信':'reply response',\n  'フォーム':'form','アンケート':'survey questionnaire','フィードバック':'feedback',\n  '問合せ':'contact inquiry','お知らせ':'announcement notification',\n  'リマインド':'reminder notification','フォローアップ':'followup',\n  'スプレッドシート':'spreadsheet Google Sheets','データベース':'database',\n  '画像':'image photo','写真':'photo image','ファイル':'file document',\n  'フォルダ':'folder directory','添付':'attachment','ドキュメント':'document',\n  'テーブル':'table database','レコード':'record row','カラム':'column field',\n  'SNS':'social media','投稿':'post publish tweet','フォロワー':'follower',\n  'いいね':'like favorite','シェア':'share retweet','コメント':'comment reply',\n  'キャンペーン':'campaign marketing','ニュースレター':'newsletter email',\n  'メルマガ':'newsletter email marketing','広告':'ads advertising',\n  'LP':'landing page','ランディングページ':'landing page',\n  '決済':'payment checkout','支払い':'payment billing','請求':'billing invoice',\n  'サブスクリプション':'subscription recurring','カート':'cart checkout ecommerce',\n  '商品':'product item','価格':'price','割引':'discount coupon',\n  'クーポン':'coupon discount','配送':'shipping delivery','返品':'return refund',\n  '勤怠':'attendance timesheet','給与':'payroll salary','採用':'recruitment hiring',\n  '面接':'interview','応募':'application candidate','従業員':'employee staff',\n  '休暇':'leave vacation PTO','シフト':'shift schedule',\n  '会議':'meeting calendar','ミーティング':'meeting call','予定':'schedule event',\n  'イベント':'event','ウェビナー':'webinar','参加者':'attendee participant',\n  '招待':'invite invitation','出欠':'RSVP attendance',\n  'エラー':'error bug','バグ':'bug issue','デプロイ':'deploy release',\n  'リリース':'release deploy','テスト':'test QA','レビュー':'review',\n  'コード':'code','プルリクエスト':'pull request PR','マージ':'merge',\n  'ビルド':'build CI','アラート':'alert monitoring','監視':'monitoring',\n  '天気':'weather forecast','ニュース':'news RSS feed','株価':'stock price finance',\n  'カレンダー':'calendar schedule','リマインダー':'reminder notification',\n  'ログ':'log record','履歴':'history log',\n  '定期':'scheduled recurring cron','日次':'daily schedule','週次':'weekly',\n  '月次':'monthly','レポート':'report analytics','ダッシュボード':'dashboard',\n  'メニュー':'menu list options','レストラン':'restaurant food','料理':'cooking recipe food',\n  '飲食':'restaurant food service','予算':'budget finance','コスト':'cost expense'\n};\n\n// ── Keyword extraction ──\nconst foundKeywords = new Set();\nconst lowerText = userRequest.toLowerCase();\n\nfor (const service of knownServices) {\n  if (lowerText.includes(service.toLowerCase())) {\n    foundKeywords.add(service);\n  }\n}\n\nfor (const [ja, en] of Object.entries(jaToEn)) {\n  if (userRequest.includes(ja)) {\n    en.split(' ').forEach(word => foundKeywords.add(word));\n  }\n}\n\nconst keywords = Array.from(foundKeywords);\nconst searchQuery = keywords.length > 0\n  ? keywords.slice(0, 8).join(' ')\n  : userRequest;\n\nreturn [{\n  json: {\n    channel: event.channel,\n    threadTs: event.thread_ts || event.ts,\n    userId,\n    userRequest,\n    searchQuery,\n    intent,\n    keywordsFound: keywords,\n    timestamp: new Date().toISOString()\n  }\n}];"},"typeVersion":2},{"id":"d7a74f99-86e7-4b59-a579-b68fdd810b5c","name":"Route by Intent","type":"n8n-nodes-base.switch","position":[2896,672],"parameters":{"rules":{"values":[{"conditions":{"options":{"leftValue":"","caseSensitive":true},"conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.intent }}","rightValue":"search"}]}},{"conditions":{"options":{"leftValue":"","caseSensitive":true},"conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.intent }}","rightValue":"help"}]}},{"conditions":{"options":{"leftValue":"","caseSensitive":true},"conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.intent }}","rightValue":"categories"}]}}]},"options":{}},"typeVersion":3},{"id":"2121a1a9-a862-4e75-a8bd-7a0bc148b4cd","name":"Generate Help Response","type":"n8n-nodes-base.code","position":[3248,848],"parameters":{"jsCode":"const data = $input.first().json;\n\nconst text = '*Hola! Soy el bot de busqueda de templates de n8n.*\\n\\n' +\n  'Puedo ayudarte a encontrar workflows pre-hechos para automatizar tu trabajo.\\n\\n' +\n  '*Como usarme?*\\n' +\n  '- Menciname + lo que necesitas: `@bot Slack + Google Sheets`\\n' +\n  '- Puedo entender nombres de servicios como Gmail, Notion, Stripe, etc.\\n' +\n  '- Tambien entiendo japones: `@bot invoice automation`\\n\\n' +\n  '*Comandos especiales:*\\n' +\n  '- `@bot categories` - Ver categorias populares\\n' +\n  '- `@bot help` - Este mensaje\\n\\n' +\n  '*Ejemplos:*\\n' +\n  '- `@bot email automation with Gmail`\\n' +\n  '- `@bot Shopify inventory management`\\n' +\n  '- `@bot menu para restaurante`\\n' +\n  '- `@bot CRM lead tracking`\\n\\n' +\n  'Preguntame lo que necesites!';\n\nreturn [{ json: { ...data, text, resultCount: 0, fromCache: false } }];"},"typeVersion":2},{"id":"b0c77ce9-3c51-4bb1-82df-81a1b210c405","name":"Generate Categories Response","type":"n8n-nodes-base.code","position":[3248,1008],"parameters":{"jsCode":"const data = $input.first().json;\n\nconst text = '*Categorias populares de templates n8n:*\\n\\n' +\n  '*AI & LLM:* ChatGPT, Claude, Gemini, AI agents\\n' +\n  '*Email:* Gmail automation, email parsing, newsletters\\n' +\n  '*Chat & Messaging:* Slack bots, Telegram, Discord\\n' +\n  '*Data & Spreadsheets:* Google Sheets, Airtable, databases\\n' +\n  '*eCommerce:* Shopify, Stripe, inventory management\\n' +\n  '*Social Media:* Twitter/X, LinkedIn, Instagram posting\\n' +\n  '*DevOps:* GitHub, CI/CD, monitoring, alerts\\n' +\n  '*Project Management:* Jira, Trello, Asana, Notion\\n' +\n  '*CRM & Sales:* HubSpot, Salesforce, lead management\\n' +\n  '*Documents:* PDF generation, contracts, invoices\\n\\n' +\n  '_Menciname con cualquier termino para buscar templates especificos._';\n\nreturn [{ json: { ...data, text, resultCount: 0, fromCache: false } }];"},"typeVersion":2},{"id":"7e923edf-ee41-47f0-9d28-bde14673a861","name":"Check Cache - Google Sheets","type":"n8n-nodes-base.googleSheets","position":[3248,672],"parameters":{"sheetName":{"__rl":true,"mode":"list","value":"","cachedResultName":"Cache"},"documentId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a spreadsheet..."}},"typeVersion":4.5},{"id":"0d725409-069e-4112-9cfd-97bf96e0e7e4","name":"Cache Hit?","type":"n8n-nodes-base.if","position":[3488,672],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":true},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"exists"},"leftValue":"={{ $json.SearchQuery }}","rightValue":""}]}},"typeVersion":2},{"id":"33fecaff-7c24-4258-9080-492bf4c38555","name":"Use Cached Result","type":"n8n-nodes-base.code","position":[3728,576],"parameters":{"jsCode":"const cached = $input.first().json;\nconst slackData = $('Extract Keywords & Detect Intent').first().json;\n\nreturn [{\n  json: {\n    ...slackData,\n    text: cached.CachedResponse || 'No cached data found.',\n    resultCount: parseInt(cached.ResultCount || '0'),\n    fromCache: true\n  }\n}];"},"typeVersion":2},{"id":"8ac341d7-5e1d-4c38-8eab-ed45ffced95b","name":"Search n8n Templates API","type":"n8n-nodes-base.httpRequest","position":[3728,752],"parameters":{"url":"https://api.n8n.io/templates/search","options":{"timeout":30000},"sendQuery":true,"queryParameters":{"parameters":[{"name":"search","value":"={{ $('Extract Keywords & Detect Intent').first().json.searchQuery }}"},{"name":"rows","value":"5"}]}},"typeVersion":4.2},{"id":"d4a54b06-bf4b-4863-a101-f69434634c47","name":"Has Results?","type":"n8n-nodes-base.if","position":[3952,752],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":true},"combinator":"and","conditions":[{"operator":{"type":"number","operation":"gt"},"leftValue":"={{ ($json.workflows || []).length }}","rightValue":"0"}]}},"typeVersion":2},{"id":"b4fd11b9-39a0-4743-852c-0f2244ef6bae","name":"AI Generate Tips & Suggestions","type":"n8n-nodes-base.httpRequest","position":[4176,672],"parameters":{"url":"https://api.openai.com/v1/chat/completions","method":"POST","options":{"timeout":60000},"jsonBody":"={\n  \"model\": \"gpt-4o-mini\",\n  \"max_tokens\": 500,\n  \"temperature\": 0.7,\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"You are an n8n automation expert assistant. The user asked about a workflow topic. Based on the search results found, provide 3-5 short, actionable tips or improvement ideas they could add to their workflow. Be specific and practical. Format each tip as a numbered list (1. 2. 3.). Keep tips concise (1-2 lines each). Reply in the same language the user used (Spanish, English, Japanese, etc.). If the query mentions a specific use case (like restaurant menu, inventory, etc.), give domain-specific tips. Do NOT use emojis.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"User query: {{ $('Extract Keywords & Detect Intent').first().json.userRequest }}\\n\\nSearch keywords: {{ $('Extract Keywords & Detect Intent').first().json.searchQuery }}\\n\\nTemplates found: {{ $json.workflows ? $json.workflows.map(w => w.name).join(', ') : 'none' }}\"\n    }\n  ]\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"typeVersion":4.2},{"id":"9cad6de8-9fe4-46cd-aba0-01b3c5cb55ca","name":"AI Suggest Alternatives","type":"n8n-nodes-base.httpRequest","position":[4176,864],"parameters":{"url":"https://api.openai.com/v1/chat/completions","method":"POST","options":{"timeout":60000},"jsonBody":"={\n  \"model\": \"gpt-4o-mini\",\n  \"max_tokens\": 400,\n  \"temperature\": 0.7,\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"You are an n8n automation expert. The user searched for templates but found no results. Suggest 3 alternative search terms they could try, and give 2-3 tips on how they could build this workflow from scratch using n8n nodes. Be encouraging and practical. Reply in the same language the user used. Do NOT use emojis.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"User query: {{ $('Extract Keywords & Detect Intent').first().json.userRequest }}\\nSearch keywords used: {{ $('Extract Keywords & Detect Intent').first().json.searchQuery }}\"\n    }\n  ]\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"typeVersion":4.2},{"id":"595a3450-f9ce-416a-b6a0-d4e6540097e9","name":"Format Results + Tips","type":"n8n-nodes-base.code","position":[4384,672],"parameters":{"jsCode":"const slackData = $('Extract Keywords & Detect Intent').first().json;\nconst searchResultNode = $('Has Results?').first().json;\nconst workflows = searchResultNode.workflows || [];\nconst searchQuery = slackData.searchQuery || '';\n\nconst results = workflows.slice(0, 5).map((w, i) =>\n  `${i + 1}. <https://n8n.io/workflows/${w.id}|${w.name}>`\n).join('\\n');\n\nlet tips = '';\ntry {\n  const aiResponse = $input.first().json;\n  if (aiResponse.choices && aiResponse.choices[0]) {\n    tips = aiResponse.choices[0].message.content;\n  }\n} catch (e) {\n  tips = '';\n}\n\nlet text = `*Search:* \\`${searchQuery}\\`\\n\\n`;\ntext += `*Templates found:*\\n${results}\\n\\n`;\n\nif (tips) {\n  text += `---\\n`;\n  text += `*Tips & ideas para tu workflow:*\\n${tips}\\n`;\n}\n\ntext += `\\n_Powered by n8n Template Bot_`;\n\nreturn [{\n  json: {\n    ...slackData,\n    text,\n    resultCount: workflows.length,\n    fromCache: false\n  }\n}];"},"typeVersion":2},{"id":"11e60ed3-5aca-4b33-ae0d-50c61318b0a0","name":"Format No Results + Suggestions","type":"n8n-nodes-base.code","position":[4384,864],"parameters":{"jsCode":"const slackData = $('Extract Keywords & Detect Intent').first().json;\nconst searchQuery = slackData.searchQuery || '';\n\nlet suggestions = '';\ntry {\n  const aiResponse = $input.first().json;\n  if (aiResponse.choices && aiResponse.choices[0]) {\n    suggestions = aiResponse.choices[0].message.content;\n  }\n} catch (e) {\n  suggestions = '';\n}\n\nlet text = `*Search:* \\`${searchQuery}\\`\\n\\n`;\ntext += `No encontre templates exactos para tu busqueda.\\n\\n`;\n\nif (suggestions) {\n  text += `*Pero aqui van algunas sugerencias:*\\n${suggestions}\\n\\n`;\n}\n\ntext += `_Intenta con otros keywords o escribe \\`@bot categories\\` para ver categorias._\\n`;\ntext += `_Powered by n8n Template Bot_`;\n\nreturn [{\n  json: {\n    ...slackData,\n    text,\n    resultCount: 0,\n    fromCache: false\n  }\n}];"},"typeVersion":2},{"id":"9a82d5d2-8249-4410-a8d1-50045659e358","name":"Reply in Slack Thread","type":"n8n-nodes-base.slack","position":[4656,752],"webhookId":"e0b315b5-6638-4016-98c7-54fcf329d337","parameters":{"text":"={{ $json.text }}","select":"channel","channelId":{"__rl":true,"mode":"id","value":"={{ $json.channel }}"},"otherOptions":{"mrkdwn":true}},"typeVersion":2.2},{"id":"2918f595-8684-4dd0-b80a-fb046037eb7a","name":"Log to Analytics Sheet","type":"n8n-nodes-base.googleSheets","position":[4896,688],"parameters":{"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"","cachedResultName":"Analytics"},"documentId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a spreadsheet..."}},"typeVersion":4.5},{"id":"da32f4a8-3d9e-4606-a1a7-868dde8e4e53","name":"Save to Cache Sheet","type":"n8n-nodes-base.googleSheets","position":[4896,848],"parameters":{"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"","cachedResultName":"Cache"},"documentId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a spreadsheet..."}},"typeVersion":4.5},{"id":"25eeb69f-5954-4fc3-bef0-ce8e73513421","name":"Error Trigger","type":"n8n-nodes-base.errorTrigger","position":[3584,1184],"parameters":{},"typeVersion":1},{"id":"a3f5b0ea-c026-46eb-8686-ab4a7c92837f","name":"Error Reply in Slack","type":"n8n-nodes-base.slack","position":[3856,1184],"webhookId":"1db8374a-9e3b-4ff4-93e5-a2cf2bec8a80","parameters":{"text":"Something went wrong while processing your request. Please try again in a moment.\n\nIf the issue persists, try simpler search terms or type `@bot help` for usage tips.","select":"channel","channelId":{"__rl":true,"mode":"id","value":""},"otherOptions":{"mrkdwn":true}},"typeVersion":2.2},{"id":"344ee196-083a-4dda-bd29-c79d8ce9c190","name":"Weekly Analytics Cron","type":"n8n-nodes-base.scheduleTrigger","position":[4128,1184],"parameters":{"rule":{"interval":[{"field":"weeks","triggerAtDay":[1],"triggerAtHour":9}]}},"typeVersion":1.2},{"id":"51d09a31-82a2-4b97-8459-2178fe659c82","name":"Read Analytics Data","type":"n8n-nodes-base.googleSheets","position":[4352,1184],"parameters":{"sheetName":{"__rl":true,"mode":"list","value":"","cachedResultName":"Analytics"},"documentId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a spreadsheet..."}},"typeVersion":4.5},{"id":"26b22a54-20a3-4cb0-b7c9-cfb5692b8f0a","name":"Generate Weekly Summary","type":"n8n-nodes-base.code","position":[4576,1184],"parameters":{"jsCode":"const rows = $input.all().map(i => i.json);\nconst oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);\n\nconst recent = rows.filter(r => new Date(r.Timestamp) >= oneWeekAgo);\n\nif (recent.length === 0) {\n  return [{ json: { text: '*Weekly Bot Report:* No searches this week.' } }];\n}\n\nconst queryCounts = {};\nconst intentCounts = { search: 0, help: 0, categories: 0 };\nlet totalResults = 0;\nlet cacheHits = 0;\n\nfor (const row of recent) {\n  const q = (row.Keywords || row.Query || '').toLowerCase();\n  queryCounts[q] = (queryCounts[q] || 0) + 1;\n  intentCounts[row.Intent || 'search']++;\n  totalResults += parseInt(row.ResultCount || '0');\n  if (row.FromCache === 'true' || row.FromCache === true) cacheHits++;\n}\n\nconst topSearches = Object.entries(queryCounts)\n  .sort((a, b) => b[1] - a[1])\n  .slice(0, 10)\n  .map(([q, count], i) => `${i + 1}. \\`${q}\\` (${count}x)`)\n  .join('\\n');\n\nconst avgResults = recent.length > 0 ? (totalResults / recent.length).toFixed(1) : 0;\n\nconst text = '*Weekly n8n Template Bot Report*\\n' +\n  '---\\n\\n' +\n  `*Total searches:* ${recent.length}\\n` +\n  `*Search:* ${intentCounts.search} | *Help:* ${intentCounts.help} | *Categories:* ${intentCounts.categories}\\n` +\n  `*Avg results per search:* ${avgResults}\\n` +\n  `*Cache hits:* ${cacheHits} (${((cacheHits/recent.length)*100).toFixed(0)}%)\\n\\n` +\n  `*Top searches this week:*\\n${topSearches}\\n\\n` +\n  '_Auto-generated weekly report_';\n\nreturn [{ json: { text } }];"},"typeVersion":2},{"id":"8e775a45-f38c-45ff-b5df-bfb60da40d52","name":"Post Weekly Summary to Slack","type":"n8n-nodes-base.slack","position":[4784,1184],"webhookId":"9790d347-d480-4568-b2fd-ffb30bbd3703","parameters":{"text":"={{ $json.text }}","select":"channel","channelId":{"__rl":true,"mode":"list","value":"","cachedResultName":"Select a channel..."},"otherOptions":{"mrkdwn":true}},"typeVersion":2.2}],"pinData":{},"connections":{"Cache Hit?":{"main":[[{"node":"Use Cached Result","type":"main","index":0}],[{"node":"Search n8n Templates API","type":"main","index":0}]]},"Has Results?":{"main":[[{"node":"AI Generate Tips & Suggestions","type":"main","index":0}],[{"node":"AI Suggest Alternatives","type":"main","index":0}]]},"Error Trigger":{"main":[[{"node":"Error Reply in Slack","type":"main","index":0}]]},"Route by Intent":{"main":[[{"node":"Check Cache - Google Sheets","type":"main","index":0}],[{"node":"Generate Help Response","type":"main","index":0}],[{"node":"Generate Categories Response","type":"main","index":0}]]},"Use Cached Result":{"main":[[{"node":"Reply in Slack Thread","type":"main","index":0}]]},"Read Analytics Data":{"main":[[{"node":"Generate Weekly Summary","type":"main","index":0}]]},"Format Results + Tips":{"main":[[{"node":"Reply in Slack Thread","type":"main","index":0}]]},"Reply in Slack Thread":{"main":[[{"node":"Log to Analytics Sheet","type":"main","index":0},{"node":"Save to Cache Sheet","type":"main","index":0}]]},"Weekly Analytics Cron":{"main":[[{"node":"Read Analytics Data","type":"main","index":0}]]},"Generate Help Response":{"main":[[{"node":"Reply in Slack Thread","type":"main","index":0}]]},"AI Suggest Alternatives":{"main":[[{"node":"Format No Results + Suggestions","type":"main","index":0}]]},"Generate Weekly Summary":{"main":[[{"node":"Post Weekly Summary to Slack","type":"main","index":0}]]},"Search n8n Templates API":{"main":[[{"node":"Has Results?","type":"main","index":0}]]},"Check Cache - Google Sheets":{"main":[[{"node":"Cache Hit?","type":"main","index":0}]]},"Slack Trigger - Bot Mention":{"main":[[{"node":"Extract Keywords & Detect Intent","type":"main","index":0}]]},"Generate Categories Response":{"main":[[{"node":"Reply in Slack Thread","type":"main","index":0}]]},"AI Generate Tips & Suggestions":{"main":[[{"node":"Format Results + Tips","type":"main","index":0}]]},"Format No Results + Suggestions":{"main":[[{"node":"Reply in Slack Thread","type":"main","index":0}]]},"Extract Keywords & Detect Intent":{"main":[[{"node":"Route by Intent","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":31,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.code":{"count":7},"n8n-nodes-base.slack":{"count":3},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.stickyNote":{"count":8},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.errorTrigger":{"count":1},"n8n-nodes-base.googleSheets":{"count":4},"n8n-nodes-base.slackTrigger":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Masaki Go","username":"pippi","bio":"I’m the CEO of HumanoiD Inc., a company that provides business process optimization and AI implementation services to organizations of all kinds.","verified":true,"links":["https://humanoid-inc.net/"],"avatar":"https://gravatar.com/avatar/3e5a84235f796f5fe58271af90d091573dbef7c0999a83800d7b1b6d94c0e16a?r=pg&d=retro&size=200"},"nodes":[{"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":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":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"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/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-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"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/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"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.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/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/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"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":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":1264,"icon":"file:slack.svg","name":"n8n-nodes-base.slackTrigger","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.slacktrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Slack Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]}],"categories":[{"id":42,"name":"Internal Wiki"},{"id":47,"name":"AI Chatbot"}],"image":[]}}