{"workflow":{"id":13442,"name":"Store variables between workflow runs using data tables as a key-value store","views":28,"recentViews":0,"totalViews":28,"createdAt":"2026-02-16T18:10:03.672Z","description":"# Store Variables Between Workflow Runs Using n8n's Built-In Data Tables (Key-Value Store)\n\n## Purpose\n\nThis workflow implements a simple key value store based on the built-in data tables feature in n8n – no external service needed.\n\n## What this is for\n\nThis is a workflow snippet which could be used to store a “last checked” timestamp or other variables between workflow runs.\n\n## Setup\n\n- Self-deploying – no extra setup needed\n- Just clone the template into your n8n instance and follow the instructions on the yellow sticky notes\n\n## How it works\nA data table is used as a key value store having the two columns “key” and “value”.\n_It is referenced by name, which makes it easier to migrate this workflow to other instances._\n1. At the beginning a variable is retrieved by it’s key\n2. If the variable / key does not exist yet, a default value is set, otherwise the stored value is being returned\n3. The variable can now be used and updated (see customization below)\n4. The variable is being created/updated in the database for the next workflow run\nIf the variable did not exist before it get’s created\n \nFallback: If the table doesn’t exist, it automatically gets created\n\n## Compatibility\n\n- n8n Version 2.5.0 or above\n- Cloud or Self-Hosted\n\n*Note: Please make sure to use this feature with care when storing passwords or access tokens since those can be exposed via the n8n API when querying past executions with their data or data tables directly. Those kind of data should preferably stored inside of credentials directly.*","workflow":{"id":"BMMFT2vYdGSt1cjr","meta":{"instanceId":"fb8bc2e315f7f03c97140b30aa454a27bc7883a19000fa1da6e6b571bf56ad6d"},"name":"Global Key-Value Store Template","tags":[],"nodes":[{"id":"f259758f-2df3-4a49-ac03-0dff107d0fb0","name":"Create Globals table","type":"n8n-nodes-base.dataTable","position":[-272,368],"parameters":{"columns":{"column":[{"name":"key"},{"name":"value"}]},"options":{},"resource":"table","operation":"create","tableName":"Globals"},"typeVersion":1.1},{"id":"33cf6930-8ebe-4942-abe7-a1f26596ff38","name":"Stop and Error","type":"n8n-nodes-base.stopAndError","position":[-272,208],"parameters":{"errorMessage":"Unknown error happened while retrieving Globals table"},"typeVersion":1},{"id":"414bec77-24c2-4465-8f7c-996ca981da0e","name":"If not the expected error","type":"n8n-nodes-base.if","position":[-496,288],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0abb66cd-a718-43a0-94c5-ed607ec669e5","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json.error }}","rightValue":"Data table with name \"Globals\" not found"}]}},"typeVersion":2.3},{"id":"da34d122-c0df-41a1-9334-20869f9b64c5","name":"Global found","type":"n8n-nodes-base.if","position":[-496,736],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"564f82db-938f-4ef7-abe5-5b2430f5dbd3","operator":{"type":"object","operation":"notEmpty","singleValue":true},"leftValue":"={{ $json }}","rightValue":""}]}},"typeVersion":2.3},{"id":"35df67d3-343f-4c49-9f55-d2b916d6cc76","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[-976,480],"parameters":{},"typeVersion":1},{"id":"50db41c6-8d8d-456c-9271-5a41025e6a15","name":"Get Global \"your_variable_name\"","type":"n8n-nodes-base.dataTable","onError":"continueErrorOutput","position":[-752,480],"parameters":{"limit":1,"filters":{"conditions":[{"keyName":"=key","keyValue":"your_variable_name","condition":"=eq"}]},"matchType":"allConditions","operation":"get","dataTableId":{"__rl":true,"mode":"name","value":"Globals"}},"typeVersion":1.1,"alwaysOutputData":true},{"id":"380bd9e8-ccf9-452b-83e3-ed21cb0eb407","name":"Set default value","type":"n8n-nodes-base.set","position":[-272,848],"parameters":{"options":{},"assignments":{"assignments":[{"id":"3aba0dd8-38b1-4355-bd2f-54e8194bcd80","name":"your_variable_name","type":"string","value":"=value goes here"}]}},"typeVersion":3.4},{"id":"6f19c478-7657-4ea7-a5c6-a57aa486d974","name":"Format value","type":"n8n-nodes-base.set","position":[-272,624],"parameters":{"options":{},"assignments":{"assignments":[{"id":"dd1cd738-335c-47e4-b6b2-cf02cf86691c","name":"your_variable_name","type":"string","value":"={{ $json.value }}"}]}},"typeVersion":3.4},{"id":"8306af44-bc85-4c08-80a5-7c6804d865a0","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-816,416],"parameters":{"color":7,"width":224,"height":240,"content":"## 1. Get variable"},"typeVersion":1},{"id":"26411923-8894-4eb0-b77c-fe17ed208bb2","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-560,144],"parameters":{"color":7,"width":480,"height":384,"content":"## Fallback: Create table if it does not exist\n_Needs to run first if previous node\nfailed - hence it is placed above_"},"typeVersion":1},{"id":"2474eeff-0bc5-4ab1-828c-b48c2f565cf9","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-560,560],"parameters":{"color":7,"width":480,"height":448,"content":"## 2. Define default value if needed"},"typeVersion":1},{"id":"7325803f-d5d0-4597-87de-7d039e50d3ce","name":"Do something","type":"n8n-nodes-base.noOp","position":[16,736],"parameters":{},"typeVersion":1},{"id":"26fe591d-01fd-4566-9140-034349e1683d","name":"Upsert Global \"your_variable_name\"","type":"n8n-nodes-base.dataTable","position":[272,736],"parameters":{"columns":{"value":{"key":"your_variable_name","value":"={{ $('Do something').item.json.your_variable_name }}"},"schema":[{"id":"key","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"key","defaultMatch":false},{"id":"value","type":"string","display":true,"removed":false,"readOnly":false,"required":false,"displayName":"value","defaultMatch":false}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"filters":{"conditions":[{"keyName":"=key","keyValue":"=your_variable_name","condition":"=eq"}]},"options":{},"operation":"upsert","dataTableId":{"__rl":true,"mode":"name","value":"Globals"}},"typeVersion":1.1},{"id":"89dd60b8-25e3-411b-9463-1f883cd08f13","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[208,656],"parameters":{"color":7,"width":224,"height":256,"content":"## 4. Save variable"},"typeVersion":1},{"id":"858ad53d-9f1c-4c0b-99f9-ed070c5ba994","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[-1680,256],"parameters":{"width":576,"height":560,"content":"## How it works\nA data table is used as a key value store having the two columns “key” and “value”.\n_It is referenced by name, which makes it easier to migrate this workflow to other instances._\n1. At the beginning a variable is retrieved by it’s key\n2. If the variable / key does not exist yet, a default value is set, otherwise the stored value is being returned\n3. The variable can now be used and updated (see customization below)\n4. The variable is being created/updated in the database for the next workflow run\nIf the variable did not exist before it get’s created\n \nFallback: If the table doesn’t exist, it automatically gets created\n\n## Setup\n- [ ] Replace the placeholder **your_variable_name** in the _Data Table_ and _Set_ nodes\n\n## Customization\n- Delete the trigger node and place this snippet into your existing workflow\n- Replace the _Do something_ placeholder node in step 3 with your own logic that consumes and later updates the variable - just make sure the mapping is later valid in step 4\n- This setup also works with using multiple variables simultaneously which can be achieved with a slight modification"},"typeVersion":1},{"id":"bcbac038-fa72-42fe-8479-f3edc1da50aa","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[-48,656],"parameters":{"color":7,"width":224,"height":256,"content":"## 3. Use variable"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"214d9937-cb52-4b44-9ebd-d71ba51d1257","connections":{"Do something":{"main":[[{"node":"Upsert Global \"your_variable_name\"","type":"main","index":0}]]},"Format value":{"main":[[{"node":"Do something","type":"main","index":0}]]},"Global found":{"main":[[{"node":"Format value","type":"main","index":0}],[{"node":"Set default value","type":"main","index":0}]]},"Set default value":{"main":[[{"node":"Do something","type":"main","index":0}]]},"Create Globals table":{"main":[[]]},"If not the expected error":{"main":[[{"node":"Stop and Error","type":"main","index":0}],[{"node":"Create Globals table","type":"main","index":0}]]},"Get Global \"your_variable_name\"":{"main":[[{"node":"Global found","type":"main","index":0}],[{"node":"If not the expected error","type":"main","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Get Global \"your_variable_name\"","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":16,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.noOp":{"count":1},"n8n-nodes-base.dataTable":{"count":3},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.stopAndError":{"count":1},"n8n-nodes-base.manualTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Mario","username":"octionic","bio":"Workflow Optimization Expert | Software Architect. Use my link to book an initial consultation for custom built workflows using n8n.","verified":true,"links":["https://octionic.com"],"avatar":"https://gravatar.com/avatar/48bf351cec848d87566d8cc78c9a783ec4807408366648de04cfe955d7a5ba21?r=pg&d=retro&size=200"},"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":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"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/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/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/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/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.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"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/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/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/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/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/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, 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/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"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/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/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.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":528,"icon":"fa:exclamation-triangle","name":"n8n-nodes-base.stopAndError","codex":{"data":{"alias":["Throw error","Error","Exception"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"input\"]","defaults":{"name":"Stop and Error","color":"#ff0000"},"iconData":{"icon":"exclamation-triangle","type":"icon"},"displayName":"Stop and Error","typeVersion":1,"nodeCategories":[{"id":7,"name":"Utility"},{"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":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1315,"icon":"fa:table","name":"n8n-nodes-base.dataTable","codex":{"data":{"alias":["data","table","knowledge","data table","table","sheet","database","data base","mysql","postgres","postgresql","airtable","supabase","noco","notion"],"details":"Data table","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.datatable/"}]},"categories":["Core Nodes","Development"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\",\"transform\"]","defaults":{"name":"Data table"},"iconData":{"icon":"table","type":"icon"},"displayName":"Data table","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":45,"name":"Miscellaneous"}],"image":[]}}