{"workflow":{"id":13815,"name":"Generate weekly dinner meal plans and shopping lists using Mealie","views":41,"recentViews":0,"totalViews":41,"createdAt":"2026-03-02T16:21:03.767Z","description":"### This n8n template demonstrates how to automatically generate a full week of dinner meal plans in your self hosted Mealie instance and create a corresponding shopping list based on those planned meals.\n\n\nPerfect for anyone who wants hands off weekly planning. Set it once and let it build your dinners and prep your ingredient data every week.\n\n### How it works\n* A Schedule Trigger runs once per week to kick things off.\n* A Code node generates the next 7 calendar days starting from today.\n* For each day, we call the Mealie API to generate a random dinner entry.\n* Using the returned recipe slug, we fetch the full recipe details from Mealie.\n* A new shopping list is created in Mealie for the week.\n* The recipe data is normalized into a clean structure that includes servings and ingredient details, ready for shopping list aggregation or further processing.\n\n### What this gives you\n* Automatic weekly dinner planning\n* Structured ingredient data for every recipe\n* A named shopping list for the week\n* Clean normalized JSON that can easily be extended to:\n  * Aggregate ingredients across recipes\n  * Remove duplicates\n  * Scale quantities\n  * Export to external services\n\n### How to use\n* By default, this runs weekly using the Schedule Trigger. You can change the interval or replace it with:\n  * A Manual Trigger\n  * A Webhook\n  * A Form submission\n* Make sure your Mealie API endpoint and Bearer credentials are configured correctly.\n* Adjust the entryType field if you want breakfast or lunch instead of dinner.\n\n### Requirements\n* A running Mealie instance with API access enabled\n* HTTP Bearer credentials configured in n8n\n* Network access to your Mealie server\n","workflow":{"meta":{"instanceId":"d02dedabfaec1c62c6f5dc887654c692b28d1c3763c4b6b7df0f9dba2a53e15b","templateCredsSetupCompleted":true},"nodes":[{"id":"2de76183-3907-4ff2-9afb-bfb2121915dc","name":"Generate Random Meal in Mealie","type":"n8n-nodes-base.httpRequest","position":[704,1008],"parameters":{"url":"http://<mealie ip address>:9925/api/households/mealplans/random","method":"POST","options":{},"sendBody":true,"authentication":"predefinedCredentialType","bodyParameters":{"parameters":[{"name":"date","value":"={{ $json.date }}"},{"name":"entryType","value":"dinner"}]},"nodeCredentialType":"httpBearerAuth"},"credentials":{"httpBearerAuth":{"id":"cchZ75ZVdCKTJCDE","name":"Mealie Auth Account"}},"typeVersion":4.4},{"id":"7cee36dc-aa29-430d-ad5b-dfee585c22e1","name":"Get Recipe From Mealie By Slug","type":"n8n-nodes-base.httpRequest","position":[1168,1008],"parameters":{"url":"=http://<mealie ip address>:9925/api/recipes/{{ $json.recipe.slug }}","options":{},"authentication":"predefinedCredentialType","nodeCredentialType":"httpBearerAuth"},"credentials":{"httpBearerAuth":{"id":"cchZ75ZVdCKTJCDE","name":"Bearer Auth account"}},"typeVersion":4.4},{"id":"1b52bdc4-8872-4be1-adff-7200990e3b08","name":"Normalize Mealie Recipe Data","type":"n8n-nodes-base.code","position":[2272,1008],"parameters":{"jsCode":"const recipes = $('Get Recipe From Mealie By Slug').all();\n\nconst mealPlanRecipes = recipes.map(item => {\n  const recipe = item.json;\n  return {\n    recipeId: recipe.id,\n    recipeIncrementQuantity: recipe.recipeServings ?? 1,\n    recipeIngredients: (recipe.recipeIngredient ?? []).map(ing => ({\n      quantity: ing.quantity ?? 0,\n      unit: ing.unit ?? null,\n      food: ing.food ?? null,\n      referencedRecipe: ing.referencedRecipe ?? null,\n      note: ing.note ?? \"\",\n      display: ing.display ?? \"\",\n      title: ing.title ?? null,\n      originalText: ing.originalText ?? null,\n      referenceId: ing.referenceId ?? null,\n    }))\n  };\n});\n\nreturn [{\n  json: {\n    recipes: mealPlanRecipes\n  }\n}];"},"typeVersion":2},{"id":"bf165bc3-aec0-410f-9a49-1209f5f4477b","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[256,1008],"parameters":{"rule":{"interval":[{"field":"weeks"}]}},"typeVersion":1.3},{"id":"5ca174ed-1ec2-4b61-959a-6af00cb047e2","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[-464,0],"parameters":{"width":460,"height":1200,"content":"## Try It Out!\n\n### This n8n template demonstrates how to automatically generate a full week of dinner meal plans in your self hosted Mealie instance and create a corresponding shopping list based on those planned meals.\n\n\nPerfect for anyone who wants hands off weekly planning. Set it once and let it build your dinners and prep your ingredient data every week.\n\n### How it works\n* A Schedule Trigger runs once per week to kick things off.\n* A Code node generates the next 7 calendar days starting from today.\n* For each day, we call the Mealie API to generate a random dinner entry.\n* Using the returned recipe slug, we fetch the full recipe details from Mealie.\n* A new shopping list is created in Mealie for the week.\n* The recipe data is normalized into a clean structure that includes servings and ingredient details, ready for shopping list aggregation or further processing.\n\n### What this gives you\n* Automatic weekly dinner planning\n* Structured ingredient data for every recipe\n* A named shopping list for the week\n* Clean normalized JSON that can easily be extended to:\n  * Aggregate ingredients across recipes\n  * Remove duplicates\n  * Scale quantities\n  * Export to external services\n\n### How to use\n* By default, this runs weekly using the Schedule Trigger. You can change the interval or replace it with:\n  * A Manual Trigger\n  * A Webhook\n  * A Form submission\n* Make sure your Mealie API endpoint and Bearer credentials are configured correctly.\n* Adjust the entryType field if you want breakfast or lunch instead of dinner.\n\n### Requirements\n* A running Mealie instance with API access enabled\n* HTTP Bearer credentials configured in n8n\n* Network access to your Mealie server\n\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/XPKeKXeB7d) or ask in the [Forum](https://community.n8n.io/)!\n\nHappy Hacking!\n"},"typeVersion":1},{"id":"f9925679-4535-48a4-a978-d2cfc0fc1e52","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,0],"parameters":{"color":"#003D7A","width":416,"height":496,"content":"## Pre-Requisite\nBefore using this workflow, you need a running **Mealie** instance with API access enabled.\n\nIf you have not installed Mealie yet, follow the official setup guide in the Mealie documentation. It walks through Docker setup, environment configuration, and API access.\n\n### After Mealie is running:\n* Go into the **four HTTP Request nodes** in this workflow and update the URLs so they point to your self-hosted Mealie IP address and port.  \n* Generate an API token inside Mealie.  \n* Update the **Mealie Auth Account** in n8n (the HTTP Bearer Auth credential) with this new token.  \n* Make sure each of the HTTP Request nodes uses the updated Mealie Auth Account.\n\n### Network Access\nEnsure your n8n instance can reach your Mealie server over the network. Once this is configured, the workflow should run without issues."},"typeVersion":1},{"id":"7faf476e-97a3-47ab-a2ef-a0b0f3aaafab","name":"Create New Shopping List in Mealie","type":"n8n-nodes-base.httpRequest","position":[1760,1008],"parameters":{"url":"http://<mealie ip address>:9925/api/households/shopping/lists","method":"POST","options":{},"jsonBody":"={\n  \"name\": \"Shopping List Week of {{ $('Generate Next 7 Days').item.json.date }}\"\n} ","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"httpBearerAuth"},"credentials":{"httpBearerAuth":{"id":"cchZ75ZVdCKTJCDE","name":"Mealie Auth Account"}},"executeOnce":true,"typeVersion":4.4,"alwaysOutputData":false},{"id":"b8ee6180-2764-4869-a120-dcc2b578fef6","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[432,656],"parameters":{"color":4,"width":432,"height":480,"content":"## 1. Generate Dates for the Full Week and Request Random Dinners\n\nThese two nodes generate the next 7 calendar days starting from today and prepare them for meal planning. For each date, a request is sent to Mealie’s random meal generator API to create a dinner entry, resulting in a full week of automatically scheduled dinners.\n"},"typeVersion":1},{"id":"55494358-8897-4329-a709-3d3aef68462f","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2208,656],"parameters":{"color":4,"width":448,"height":480,"content":"## 4. Normalize Recipe Data and Add Ingredients to the Shopping List\n\nThis step prepares each recipe for shopping list creation and then pushes the data back to Mealie.\n\nThe Code node collects all fetched recipes and restructures them into a clean, standardized format. It extracts the recipe ID, serving quantity, and detailed ingredient data so everything is consistent and ready for submission.\n\nOnce normalized, the HTTP Request node sends the structured recipe payload to the newly created shopping list. Mealie then adds all associated ingredients to that list, completing the automation from meal planning to grocery preparation.\n"},"typeVersion":1},{"id":"1b7d9ae7-30a0-49ac-a064-b9d1fab18fa9","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[992,656],"parameters":{"color":4,"width":432,"height":480,"content":"## 2. Fetch Full Recipe Details from Mealie\n\nOnce each random dinner is created, this node retrieves the complete recipe data using the recipe’s slug. It sends an authenticated request to your Mealie instance and returns the full recipe object, including servings and ingredient details.\n\nThis ensures the workflow has structured, detailed data for each planned meal, which can then be normalized and used to build an accurate shopping list.\n"},"typeVersion":1},{"id":"e338881f-04a1-46b9-8d8d-58a0478d7855","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1584,656],"parameters":{"color":4,"width":432,"height":480,"content":"## 3. Create a New Weekly Shopping List in Mealie\n\nThis node creates a new shopping list in your Mealie instance for the planned week. The list is dynamically named using the first date from the generated week, making it easy to identify later.\n\nThe request is authenticated using your Bearer token and runs once to ensure only a single shopping list is created for the entire workflow execution. This list becomes the destination for the aggregated ingredients from all planned dinners.\n"},"typeVersion":1},{"id":"d02581bb-ef49-42ed-995c-dfda7c96faa8","name":"Add Recipe(s) Ingredients To Shopping List in Mealie","type":"n8n-nodes-base.httpRequest","position":[2480,1008],"parameters":{"url":"=http://<mealie ip address>:9925/api/households/shopping/lists/{{$('Create New Shopping List in Mealie').item.json.id}}/recipe","method":"POST","options":{},"jsonBody":"={{ $json.recipes }}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"httpBearerAuth"},"credentials":{"httpBearerAuth":{"id":"cchZ75ZVdCKTJCDE","name":"Bearer Auth account"}},"executeOnce":false,"typeVersion":4.4},{"id":"97d2d432-0f2a-4820-bcde-e922d7b7c198","name":"Generate Next 7 Days","type":"n8n-nodes-base.code","position":[480,1008],"parameters":{"jsCode":"const days = [];\nconst today = new Date();\n\nfor (let i = 0; i < 7; i++) {\n  const date = new Date(today);\n  date.setDate(today.getDate() + i);\n\n  days.push({\n    json: {\n      date: date.toISOString().split(\"T\")[0],\n      dayOfWeek: date.toLocaleDateString(\"en-US\", { weekday: \"long\" }),\n    }\n  });\n}\n\nreturn days;"},"typeVersion":2}],"pinData":{},"connections":{"Schedule Trigger":{"main":[[{"node":"Generate Next 7 Days","type":"main","index":0}]]},"Generate Next 7 Days":{"main":[[{"node":"Generate Random Meal in Mealie","type":"main","index":0}]]},"Normalize Mealie Recipe Data":{"main":[[{"node":"Add Recipe(s) Ingredients To Shopping List in Mealie","type":"main","index":0}]]},"Generate Random Meal in Mealie":{"main":[[{"node":"Get Recipe From Mealie By Slug","type":"main","index":0}]]},"Get Recipe From Mealie By Slug":{"main":[[{"node":"Create New Shopping List in Mealie","type":"main","index":0}]]},"Create New Shopping List in Mealie":{"main":[[{"node":"Normalize Mealie Recipe Data","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":13,"nodeTypes":{"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.httpRequest":{"count":4},"n8n-nodes-base.scheduleTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Kory Clark","username":"kkudda","bio":"","verified":false,"links":["https://korysam15.github.io/"],"avatar":"https://gravatar.com/avatar/5eb15f4759a2977c9633c34273f9f50f894ef7f342a0a039f3ab6dfd48f6e0c8?r=pg&d=retro&size=200"},"nodes":[{"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":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"}]}],"categories":[{"id":43,"name":"Personal Productivity"}],"image":[]}}