{"workflow":{"id":14863,"name":"Upload images to Webflow via API as a reusable sub-workflow","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-07T15:01:06.005Z","description":"Uploading an image to Webflow's Asset Manager through the API is surprisingly complex. It requires computing an MD5 hash, announcing the file to Webflow, then uploading the binary to Amazon S3 with specific headers. This template wraps that entire process into a clean, reusable sub-workflow you can call from any main workflow.\n\n## How it works\n\n- **Sub-workflow trigger** receives `imageData` (binary), `fileName`, and `wfSiteId`.\n- **MD5 hash computation** generates the file hash that Webflow's API requires.\n- **First HTTP node** (POST to Webflow's `/v2/sites/:site_id/assets`) announces the file and returns an S3 upload URL along with required upload details (credentials, policy, signature).\n- **Second HTTP node** (POST to the S3 upload URL) sends the binary file as a multipart form request using the upload details from the previous step.\n- **Set node** extracts and returns `originalFileName`, `fileId`, and `assetUrl` to the calling workflow.\n\n## How to use\n\n1. **Import** this template as a workflow in your n8n instance.\n2. **Set up Webflow credentials**: Create a Bearer Auth credential with your Webflow API token. The token must have the `assets:write` scope.\n3. **Call this workflow as a sub-workflow** from your main workflow using the Execute Workflow node.\n4. **Provide the required inputs:**\n   - `imageData`: The binary image data\n   - `fileName`: File name including extension (max 100 characters)\n   - `wfSiteId`: Your Webflow site ID\n5. **Use the output**: The sub-workflow returns `originalFileName`, `fileId`, and `assetUrl`, which you can then use in subsequent steps (e.g., updating a CMS item, sending a notification, etc.).\n\n## Requirements\n\n- **Webflow** account with API access, Bearer Auth credential with `assets:write` scope\n\n## Notes & customization\n\n- **Upload to a specific folder:** Webflow's API accepts an optional `parentFolder` parameter in the first request. If you want to upload into a specific folder in the Asset Manager, add the folder ID to the body of the first HTTP node.\n- **Other file types:** While this template is designed for images, Webflow's Asset API may accept other file types (e.g., videos, PDFs). The upload mechanism is the same, so worth testing if your use case requires it.\n- **CMS integration:** A natural next step after uploading is attaching the asset to a CMS collection item. This is a single additional HTTP request in your main workflow using the returned `assetUrl` and the relevant collection/item IDs.\n- **File name limit:** Webflow requires file names under 100 characters including the extension. Consider adding validation in your calling workflow if file names come from user input.\n","workflow":{"id":"O4Qq4FKDM0u53G7W","meta":{"instanceId":"e5378469c335dcd43afb7eef516a240798608340850fdc742b31ac31c83e953f"},"name":"upload_image_to_webflow","tags":[],"nodes":[{"id":"d66c510c-731b-4092-8167-8afba4bee42e","name":"Step B – Upload binary to S3","type":"n8n-nodes-base.httpRequest","position":[672,0],"parameters":{"url":"={{ $('Step A – Announce asset in Webflow').item.json.uploadUrl }}","method":"POST","options":{},"sendBody":true,"contentType":"multipart-form-data","sendHeaders":true,"bodyParameters":{"parameters":[{"name":"acl","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails.acl }}"},{"name":"bucket","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails.bucket }}"},{"name":"X-Amz-Algorithm","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['X-Amz-Algorithm'] }}"},{"name":"X-Amz-Credential","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['X-Amz-Credential'] }}"},{"name":"X-Amz-Date","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['X-Amz-Date'] }}"},{"name":"key","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails.key }}"},{"name":"Policy","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails.Policy }}"},{"name":"X-Amz-Signature","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['X-Amz-Signature'] }}"},{"name":"success_action_status","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails.success_action_status }}"},{"name":"content-type","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['content-type'] }}"},{"name":"Cache-Control","value":"={{ $('Step A – Announce asset in Webflow').item.json.uploadDetails['Cache-Control'] }}"},{"name":"file","parameterType":"formBinaryData","inputDataFieldName":"={{ $('ARGS').item.binary.data }}"}]},"headerParameters":{"parameters":[{"name":"content-type","value":"multipart/form-data"}]}},"typeVersion":4.4},{"id":"ae9b69e2-7f28-4d7c-b955-08d4c7fdc86f","name":"Crypto","type":"n8n-nodes-base.crypto","position":[224,0],"parameters":{"type":"MD5","binaryData":true,"dataPropertyName":"imageDataHash","binaryPropertyName":"={{ $('ARGS').item.json.imageData }}"},"typeVersion":2},{"id":"ca74a722-66b8-4ffa-9a49-6127fe5ae076","name":"ARGS","type":"n8n-nodes-base.executeWorkflowTrigger","position":[0,0],"parameters":{"workflowInputs":{"values":[{"name":"wfSiteId"},{"name":"imageData","type":"object"},{"name":"fileName"}]}},"typeVersion":1.1},{"id":"b16e25ea-c6f5-46ad-9be8-479408d9e8a6","name":"Step A – Announce asset in Webflow","type":"n8n-nodes-base.httpRequest","position":[448,0],"parameters":{"url":"=https://api.webflow.com/v2/sites/{{ $('ARGS').item.json.wfSiteId }}/assets","method":"POST","options":{},"jsonBody":"={\n  \"fileName\": \"{{ $('ARGS').item.json.fileName }}\",\n  \"fileHash\": \"{{ $('Crypto').item.json.imageDataHash }}\"\n}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"httpBearerAuth"},"credentials":{"httpBearerAuth":{"id":"2oyPzdZykfy1wzMz","name":"Bearer Auth account"}},"typeVersion":4.4},{"id":"e605df55-b775-4d06-9b5e-2d424cccc4f6","name":"RETURN","type":"n8n-nodes-base.set","position":[896,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"9fd86391-423c-44fd-9608-9d5341e53c1b","name":"originalFileName","type":"string","value":"={{ $('ARGS').item.json.fileName }}"},{"id":"c2893e4d-6267-42d5-959c-7477463d84f6","name":"fileId","type":"string","value":"={{ $('Step A – Announce asset in Webflow').item.json.id }}"},{"id":"196a50ad-3f28-4295-be94-5033948b8cb9","name":"assetUrl","type":"string","value":"={{ $('Step A – Announce asset in Webflow').item.json.assetUrl }}"}]}},"typeVersion":3.4},{"id":"469c61fc-88c5-4d10-8a88-c15b081d7095","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-656,-432],"parameters":{"width":560,"height":608,"content":"## Upload Images to Webflow via API\nThis sub-workflow handles the two-step process of uploading a binary image to Webflow's Asset Manager.\n\n### How it works\n1. Receives imageData (binary), fileName, and wfSiteId\n2. Computes MD5 hash\n3. Announces the file to Webflow\n4. Uploads binary to Amazon S3 using returned credentials\n5. Returns originalFileName, fileId, and assetUrl\n\n\n### Setup\n- [ ] Set up Webflow site's API token as Bearer auth in the 'Step A – Announce asset in Webflow' node.\n- [ ] Call this workflow as a sub-workflow from your main workflow using the *Execute Sub-Workflow* node.\n\n\n### Customization\n- If you want to upload into a specific folder in the Webflow Asset Manager, add the folder ID to the body of the 'Step A – Announce asset in Webflow' node.\n- While this template is designed for images, Webflow's Asset API may accept other file types (e.g., videos, PDFs). The upload mechanism is the same.\n\n\n*Built by Oliver Engel  ENGELdevelopment | [Homepage](https://www.engeldevelopment.de/) | [LinkedIn](https://www.linkedin.com/in/oliver-engel-bb1984212)*"},"typeVersion":1},{"id":"e6a98ba0-2c4a-4f9c-bf23-b51e28adad76","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[176,-128],"parameters":{"color":6,"width":640,"height":304,"content":"## 2. Upload to Webflow"},"typeVersion":1},{"id":"a5a49c63-a9a8-4d6e-8312-4d0c1c1574cf","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-64,-128],"parameters":{"color":6,"width":208,"height":304,"content":"## 1. Trigger & Input"},"typeVersion":1},{"id":"127fa59e-aeb5-4a83-b65a-b41f3159c95b","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[848,-128],"parameters":{"color":6,"width":208,"height":304,"content":"## 3. Return values"},"typeVersion":1}],"active":false,"pinData":{"ARGS":[{"json":{"file_name":"car.png","image_data":{"id":"filesystem-v2:workflows/r1guAq5N1WEgyywB/executions/5783/binary_data/b9106088-3b25-4379-a295-bf8c0d2eb343","data":"filesystem-v2","bytes":273488,"fileName":"image.png","fileSize":"273 kB","fileType":"image","mimeType":"image/png","fileExtension":"png"},"wf_item_id":"69b190751db3d3335832a32b","wf_collection_id":"69afea9188fe057899fc19fe"},"binary":{"data":{"id":"filesystem-v2:workflows/r1guAq5N1WEgyywB/executions/5783/binary_data/b9106088-3b25-4379-a295-bf8c0d2eb343","data":"filesystem-v2","bytes":273488,"fileName":"image.png","fileSize":"273 kB","fileType":"image","mimeType":"image/png","fileExtension":"png"}},"pairedItem":{"item":0}}]},"settings":{"binaryMode":"separate","executionOrder":"v1"},"versionId":"f6438721-0d88-4bb4-87de-2fcb1ed5e5f9","connections":{"ARGS":{"main":[[{"node":"Crypto","type":"main","index":0}]]},"Crypto":{"main":[[{"node":"Step A – Announce asset in Webflow","type":"main","index":0}]]},"Step B – Upload binary to S3":{"main":[[{"node":"RETURN","type":"main","index":0}]]},"Step A – Announce asset in Webflow":{"main":[[{"node":"Step B – Upload binary to S3","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":9,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.crypto":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-base.executeWorkflowTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Oliver Engel","username":"ed-oliver","bio":"Software developer specialised in business process automation using no code like n8n as well as code (Python focused). Developing fit for purpose solutions with combining traditional deterministic software development and AI powered intelligence, where appropriate.\n\nSharing knowledge in the n8n community about workflows as well as n8n self-hosting.\n\nIf need help, or want to run an idea by someone, don't hesitate to connect.","verified":false,"links":["www.linkedin.com/in/oliver-engel-bb1984212"],"avatar":"https://gravatar.com/avatar/15da639a36dbf0ea578e9a52687c14e73b0eaadf9eb027c0351f9e5c00d5f0f3?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":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":264,"icon":"fa:key","name":"n8n-nodes-base.crypto","codex":{"data":{"alias":["Encrypt","SHA","Hash"],"details":"The Crypto node allows you to hash and Hmac string in a specified format and sign a string using a private key. Use this node when you want to encrypt your data.","resources":{"generic":[{"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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.crypto/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Crypto","color":"#408000"},"iconData":{"icon":"key","type":"icon"},"displayName":"Crypto","typeVersion":2,"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":837,"icon":"fa:sign-out-alt","name":"n8n-nodes-base.executeWorkflowTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"When Executed by Another Workflow","color":"#ff6d5a"},"iconData":{"icon":"sign-out-alt","type":"icon"},"displayName":"Execute Workflow Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":36,"name":"File Management"}],"image":[]}}