{"workflow":{"id":13260,"name":"Back up databases and files to Box with Mailgun email notifications","views":23,"recentViews":0,"totalViews":23,"createdAt":"2026-02-08T15:14:00.705Z","description":"# Scheduled Backup Automation – Mailgun & Box\n\nThis workflow automatically schedules, packages, and uploads backups of your databases, files, or configuration exports to Box cloud storage, then sends a completion email via Mailgun. It is ideal for small-to-medium businesses or solo developers who want hands-off, verifiable backups without writing custom scripts.\n\n## Pre-conditions/Requirements\n\n### Prerequisites\n- n8n instance (self-hosted or n8n.cloud)\n- Box account with a folder dedicated to backups\n- Mailgun account & verified domain\n- Access to the target database/server you intend to back up\n- Basic knowledge of environment variables to store secrets\n\n### Required Credentials\n- **Box OAuth2** – For uploading the backup file(s)\n- **Mailgun API Key** – For sending backup status notifications\n- **(Optional) Database Credentials** – Only if the backup includes a DB dump triggered from inside n8n\n\n### Specific Setup Requirements\n| Variable                | Example                                  | Purpose                               |\n|-------------------------|------------------------------------------|---------------------------------------|\n| `BOX_FOLDER_ID`         | `1234567890`                             | ID of the Box folder that stores backups |\n| `MAILGUN_DOMAIN`        | `mg.example.com`                         | Mailgun domain used for sending email |\n| `MAILGUN_FROM`          | `Backups &lt;backup@mg.example.com&gt;`        | “From” address in status emails       |\n| `NOTIFY_EMAIL`          | `admin@example.com`                      | Recipient of backup status emails     |\n\n## How it works\n\nThis workflow automatically schedules, packages, and uploads backups of your databases, files, or configuration exports to Box cloud storage, then sends a completion email via Mailgun. It is ideal for small-to-medium businesses or solo developers who want hands-off, verifiable backups without writing custom scripts.\n\n## Key Steps:\n- **Webhook (Scheduler Trigger)**: Triggers the workflow on a CRON schedule or external call.\n- **Code (DB/File Dump)**: Executes bash or Node.js commands to create a tar/zip or SQL dump.\n- **Move Binary Data**: Converts the created file into n8n binary format.\n- **Set**: Attaches metadata (timestamp, file name).\n- **Split In Batches** *(optional)*: Splits multiple backup files for sequential uploads.\n- **Box Node**: Uploads each backup file into the specified Box folder.\n- **HTTP Request (Verify Upload)**: Calls Box API to confirm upload success.\n- **If**: Branches on success vs failure.\n- **Mailgun Node**: Sends confirmation or error report email.\n- **Sticky Notes**: Provide inline documentation inside the workflow canvas.\n\n## Set up steps\n\n**Setup Time: 15-20 minutes**\n\n1. **Clone or import** the workflow JSON into your n8n instance.\n2. **Create credentials**:\n   - Box OAuth2: paste Client ID, Client Secret, perform OAuth handshake.\n   - Mailgun API: add Private API key and domain.\n3. **Update environment variables** (`BOX_FOLDER_ID`, `MAILGUN_DOMAIN`, etc.) or edit the relevant Set node.\n4. **Modify the Code node** to run your specific backup command, e.g.:\n   ```bash\n   pg_dump -U $DB_USER -h $DB_HOST $DB_NAME &gt; /tmp/db_backup.sql\n   tar -czf /tmp/full_backup_{{new Date().toISOString()}}.tar.gz /etc/nginx /var/www /tmp/db_backup.sql\n   ```\n5. **Set the CRON schedule** inside the Webhook node (or replace with a Cron node) to your desired frequency (daily, weekly, etc.).\n6. **Execute once manually** to verify the Box upload and email notification.\n7. **Enable** the workflow.\n\n## Node Descriptions\n\n### Core Workflow Nodes:\n- **Webhook / Cron** – Acts as the time-based trigger for backups.\n- **Code** – Creates the actual backup archive (tar, zip, SQL dump).\n- **Move Binary Data** – Moves the generated file into `binary` property.\n- **Set** – Adds filename and timestamp metadata for Box.\n- **Split In Batches** – Handles multiple files when necessary.\n- **Box** – Uploads the backup file to Box.\n- **HTTP Request** – Optional re-check to ensure the file exists in Box.\n- **If** – Routes the flow based on success or error.\n- **Mailgun** – Sends success/failure notifications.\n- **Sticky Note** – Explains credential handling and customization points.\n\n### Data Flow:\n1. **Webhook/Cron** → **Code** → **Move Binary Data** → **Set** → **Split In Batches** → **Box** → **HTTP Request** → **If** → **Mailgun**\n\n## Customization Examples\n\n### Add Retention Policy (Auto-delete old backups)\n```javascript\n// In a Code node before upload\nconst retentionDays = 30;\nconst cutoff = Date.now() - retentionDays * 24*60*60*1000;\n\nitems = items.filter(item =&gt; {\n  return item.json.modifiedAt &gt; cutoff; // keep only recent files\n});\nreturn items;\n```\n\n### Parallel Upload to S3\n```javascript\n// Duplicate the Box node, replace with AWS S3 node\n// Use Merge node to combine results before the HTTP Request verification\n```\n\n## Data Output Format\n\nThe workflow outputs structured JSON data:\n\n```json\n{\n  \"fileName\": \"full_backup_2023-10-31T00-00-00Z.tar.gz\",\n  \"boxFileId\": \"9876543210\",\n  \"uploadStatus\": \"success\",\n  \"timestamp\": \"2023-10-31T00:05:12Z\",\n  \"emailNotification\": \"sent\"\n}\n```\n\n## Troubleshooting\n\n### Common Issues\n1. **“Invalid Box Folder ID”** – Verify `BOX_FOLDER_ID` and ensure the OAuth user has write permissions.\n2. **Mailgun 401 Unauthorized** – Check that you used the Private API key and the domain is verified.\n3. **Backup file too large** – Enable chunked upload in Box node or increase `client_max_body_size` on reverse proxy.\n\n### Performance Tips\n- Compress backups with gzip or zstd to reduce upload time.\n- Run the database dump on the same host as n8n to avoid network overhead.\n\n**Pro Tips:**\n- Store secrets as environment variables and reference them in Code nodes (`process.env.MY_SECRET`).\n- Chain backups with version numbers (`YYYYMMDD_HHmm`) for easy sorting.\n- Use n8n’s built-in execution logging to audit backup history.\n\n---\n\n*This is a community workflow template provided “as-is” without warranty. Adapt and test in a safe environment before using in production.*","workflow":{"id":"JZ8C3IFRtHrntshw","meta":{"instanceId":"99f4e9e67f2a926c174453b6675a71cc5fb71c1fb19cfc06d50531053c661324","templateCredsSetupCompleted":true},"name":"Scheduled Backup Automation – Mailgun & Box","tags":[],"nodes":[{"id":"4554d1e3-9e79-4b68-a7ff-b25bdbe5c7cc","name":"Backup Webhook Trigger","type":"n8n-nodes-base.webhook","position":[-768,208],"webhookId":"c97e285b-9221-4b87-a210-5e0df4774f24","parameters":{"path":"scheduled-backup","options":{},"httpMethod":"POST","responseMode":"lastNode"},"typeVersion":1},{"id":"aeedcfc7-3703-4ff2-84eb-5e67640a918d","name":"Set Default Backup Config","type":"n8n-nodes-base.set","position":[-560,208],"parameters":{"mode":"keep","options":{}},"typeVersion":3},{"id":"df9066be-644c-41d9-b783-7d312012b544","name":"Create Backup Folder","type":"n8n-nodes-base.box","position":[-352,208],"parameters":{"operation":"createFolder"},"typeVersion":1},{"id":"832370ef-c438-4d11-aee4-c8de0bca9e1e","name":"Prepare Backup Items","type":"n8n-nodes-base.code","position":[-112,208],"parameters":{"jsCode":"// create one item per backup target and attach folderId\nconst folderId = $node[\"Create Backup Folder\"].json[\"id\"];\nconst backups = $node[\"Set Default Backup Config\"].json[\"backups\"];\nreturn backups.map(b => ({ json: { ...b, folderId } }));"},"typeVersion":2},{"id":"4d0d0800-82fc-43a4-af24-871c0087851e","name":"Split Backups","type":"n8n-nodes-base.splitInBatches","position":[128,208],"parameters":{"options":{}},"typeVersion":3},{"id":"cd7e3bce-aa42-491b-b106-e0c58c9ffbae","name":"Export Backup Data","type":"n8n-nodes-base.httpRequest","position":[336,208],"parameters":{"url":"={{ $json.exportUrl }}","options":{}},"typeVersion":4},{"id":"f6471164-eb66-45d8-91c2-5bca91f6687c","name":"Was Export Successful?","type":"n8n-nodes-base.if","position":[560,256],"parameters":{"options":{},"conditions":{"number":[{"value1":"={{ $json.statusCode }}","value2":200,"operation":"equal"}]}},"typeVersion":2},{"id":"1d6d8b16-6b7a-44cf-a474-26b63ff737b7","name":"Compress Export","type":"n8n-nodes-base.code","position":[784,96],"parameters":{"jsCode":"const zlib = require('zlib');\nreturn $input.all().map(item => {\n  const binKey = Object.keys(item.binary)[0];\n  const compressed = zlib.gzipSync(Buffer.from(item.binary[binKey].data, 'base64'));\n  return {\n    json: {\n      name: item.json.name,\n      folderId: item.json.folderId\n    },\n    binary: {\n      data: {\n        data: compressed.toString('base64'),\n        mimeType: 'application/gzip',\n        fileName: `${item.json.name}-${new Date().toISOString()}.gz`\n      }\n    }\n  };\n});"},"typeVersion":2},{"id":"3168f8bd-b072-4633-9065-63800b0052d6","name":"Prepare File for Box","type":"n8n-nodes-base.moveBinaryData","position":[976,96],"parameters":{"options":{}},"typeVersion":1},{"id":"c811aed6-a74b-455d-bcc5-9dd468e047eb","name":"Upload to Box","type":"n8n-nodes-base.box","position":[1264,112],"parameters":{},"typeVersion":1},{"id":"caa4fd8b-03f9-4eef-9538-9ebb64f555e7","name":"Was Upload Successful?","type":"n8n-nodes-base.if","position":[1488,48],"parameters":{"options":{},"conditions":{"string":[{"value1":"={{ $json.id }}","operation":"isEmpty"}]}},"typeVersion":2},{"id":"46974add-e908-4e50-9328-39304a56f266","name":"Compose Success Email","type":"n8n-nodes-base.set","position":[1760,16],"parameters":{"mode":"add","options":{}},"typeVersion":3},{"id":"15d4e5b4-edef-4018-8edf-0e21fd1cbfed","name":"Send Success Notification","type":"n8n-nodes-base.mailgun","position":[2016,16],"parameters":{"subject":"={{ $json.emailSubject }}","toEmail":"admin@example.com","fromEmail":"user@example.com"},"typeVersion":1},{"id":"c537b07e-06a7-4906-9ac8-57955aa9fbad","name":"Compose Failure Email","type":"n8n-nodes-base.set","position":[1696,320],"parameters":{"mode":"add","options":{}},"typeVersion":3},{"id":"b1c70504-6bb3-4e37-af0a-64d39b7e01d0","name":"Send Failure Notification","type":"n8n-nodes-base.mailgun","position":[1968,320],"parameters":{"subject":"={{ $json.emailSubject }}","toEmail":"admin@example.com","fromEmail":"user@example.com"},"typeVersion":1},{"id":"eee93b96-50bf-4f8f-b7ec-9a021ce1cf36","name":"Workflow Overview","type":"n8n-nodes-base.stickyNote","position":[-1408,-192],"parameters":{"width":550,"height":738,"content":"## How it works\nThis workflow automates multi-asset backups on demand or from external schedulers. A Webhook trigger receives a POST request that optionally defines which resources to back up. Default objects are added via a Set node and a dated folder is immediately created in Box to hold the day’s backups. Each backup definition is processed in sequence: an HTTP request pulls the latest export, the data stream is compressed to a GZIP archive in a Code node, then safely uploaded to the new Box folder. Conditional IF nodes verify both the export and the upload. Depending on the outcome, the workflow assembles a success or failure message and dispatches it through Mailgun.\n\n## Setup steps\n1. Create Box API credentials and add them to the Box nodes.\n2. Create Mailgun API credentials and attach them to both Mailgun nodes.\n3. Replace the sample export URLs in the Set node with your real endpoints.\n4. Whitelist your server’s IP addresses in the services you are exporting from.\n5. Point your external scheduler (cron, CI/CD, etc.) to POST to the webhook URL.\n6. Test with a single small backup to confirm permissions and folder creation.\n7. Monitor Mailgun logs to ensure notifications are received."},"typeVersion":1},{"id":"875b1908-f91e-4ea6-a01f-193509d939f1","name":"Trigger & Prep Note","type":"n8n-nodes-base.stickyNote","position":[-832,-160],"parameters":{"color":7,"width":898,"height":654,"content":"## Trigger & Preparation\nThis cluster receives the incoming request that kicks off each backup cycle. The Webhook node allows external schedulers such as cron jobs, CI/CD pipelines, or other services to trigger the workflow with a simple POST call. A Set node then merges the incoming payload with sensible defaults, ensuring that at least three core assets—database, file storage, and configuration—are always backed up. Immediately afterward a Box folder is generated; its name is derived from the current date so every run produces a clean, chronological directory. The Code node converts the backup list into individual items while injecting the newly minted folder ID into each one, guaranteeing that every generated archive knows exactly where it belongs. This modular structure simplifies later maintenance: modify backup targets in a single place or override them dynamically via the trigger payload."},"typeVersion":1},{"id":"12fcdc91-0454-451a-a3cf-f660f8755e87","name":"Compression & Storage Note","type":"n8n-nodes-base.stickyNote","position":[64,-160],"parameters":{"color":7,"width":1138,"height":654,"content":"## Compression & Storage\nAfter each backup definition reaches the Split node, an HTTP Request pulls the raw export stream or file from your service of choice. The first IF gate checks for a 200 status code to ensure a valid payload. When successful, the Code node leverages Node.js’ built-in zlib library to wrap the export in a GZIP archive, append a timestamped filename, and attach it as binary data. The Move Binary Data node re-labels the binary property to the name expected by Box, preventing upload errors. Finally, the archive is pushed to the date-stamped Box folder. A second IF gate validates the presence of a returned file ID so the workflow can reliably differentiate between a true upload and an API hiccup. This entire leg keeps your storage platform organised, compressed, and tamper-evident."},"typeVersion":1},{"id":"e669d7c0-5786-4c70-b692-91d8c31bb3ad","name":"Notification & Reporting Note","type":"n8n-nodes-base.stickyNote","position":[1216,-160],"parameters":{"color":7,"width":1138,"height":670,"content":"## Notification & Reporting\nClear visibility is critical for any backup strategy. Once each asset has attempted to upload, the workflow assembles a concise status email. Success paths craft a green-light subject line that includes the asset name and timestamp; failure paths flag the problem and pinpoint whether the export or upload step failed. Both outcomes flow into separate Mailgun nodes that share a common credential but send different subject lines and bodies. Because each asset travels through the loop individually, you get one email per backup item—making it easy to spot partial failures. You can further customise these nodes to aggregate reports, attach logs, or alert additional stakeholders, ensuring the right people know when backups complete or when something needs attention."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"f724815a-3620-4e25-9ed2-17edbec9e902","connections":{"Split Backups":{"main":[[{"node":"Export Backup Data","type":"main","index":0}]]},"Upload to Box":{"main":[[{"node":"Was Upload Successful?","type":"main","index":0}]]},"Compress Export":{"main":[[{"node":"Prepare File for Box","type":"main","index":0}]]},"Export Backup Data":{"main":[[{"node":"Was Export Successful?","type":"main","index":0}]]},"Create Backup Folder":{"main":[[{"node":"Prepare Backup Items","type":"main","index":0}]]},"Prepare Backup Items":{"main":[[{"node":"Split Backups","type":"main","index":0}]]},"Prepare File for Box":{"main":[[{"node":"Upload to Box","type":"main","index":0}]]},"Compose Failure Email":{"main":[[{"node":"Send Failure Notification","type":"main","index":0}]]},"Compose Success Email":{"main":[[{"node":"Send Success Notification","type":"main","index":0}]]},"Backup Webhook Trigger":{"main":[[{"node":"Set Default Backup Config","type":"main","index":0}]]},"Was Export Successful?":{"main":[[{"node":"Compress Export","type":"main","index":0}],[{"node":"Compose Failure Email","type":"main","index":0}]]},"Was Upload Successful?":{"main":[[{"node":"Compose Success Email","type":"main","index":0}],[{"node":"Compose Failure Email","type":"main","index":0}]]},"Set Default Backup Config":{"main":[[{"node":"Create Backup Folder","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":19,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.box":{"count":2},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.mailgun":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.moveBinaryData":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"vinci-king-01","username":"vinci-king-01","bio":"","verified":true,"links":["https://www.linkedin.com/in/marco-vinciguerra-7ba365242/"],"avatar":"https://gravatar.com/avatar/d939eeef03a5fcb5df08bee8196f12ccb248c38209487414e419032004f0c014?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":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":23,"icon":"file:mailgun.svg","name":"n8n-nodes-base.mailgun","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mailgun/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/mailgun/"}]},"categories":["Communication","Development"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"Mailgun"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjUiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBmaWxsPSIjYzAyMTI2IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSIgZD0iTTMyLjA2NiAxOS45Yy02LjcgMC0xMi4xMyA1LjQzMy0xMi4xMyAxMi4xczUuNDQzIDEyLjEgMTIuMTMgMTIuMSAxMi4xMy01LjQzMyAxMi4xMy0xMi4xLTUuNDQzLTEyLjEtMTIuMTMtMTIuMU0xMy4xODEgMzJjMC0xMC40MDggOC40Ni0xOC44NTIgMTguODg1LTE4Ljg1MnMxOC44ODQgOC40NTQgMTguODg0IDE4Ljg2YzAgLjcyLS4wNjYgMS4zNzUtLjEzIDIuMDMtLjEzIDEuODMzIDEuMTggMy4yMDcgMy4wMTYgMy4yMDcgMy4wODIgMCAzLjQtMy45OTMgMy40LTUuMzAyIDAtMTMuOTQzLTExLjI4LTI1LjItMjUuMjQ2LTI1LjJTNi43NTQgMTguMDAxIDYuNzU0IDMxLjk0NHMxMS4yNzkgMjUuMiAyNS4yNDYgMjUuMmM3LjQgMCAxNC4wMzMtMy4yMDcgMTguNy04LjI0OGw1LjE4IDQuMzJBMzEuOTMgMzEuOTMgMCAwIDEgMzIgNjMuODg2Yy0xNy43MDUuMDAyLTMyLTE0LjMzNC0zMi0zMS45NDJDMCAxNC4yNyAxNC4zNiAwIDMyIDBjMTcuNzA1IDAgMzIgMTQuMzM2IDMyIDMxLjk0NCAwIDcuMDctMy40IDEyLjgzLTEwLjE2NCAxMi44My0zLjAxNiAwLTQuNzg3LTEuMzc1LTUuODM2LTIuODgtMy4zNDQgNS4zNjgtOS4yNDYgOC45MDItMTYuMDY2IDguOTAyLTEwLjI5NS4wNjUtMTguNzU0LTguMzgtMTguNzU0LTE4Ljc4NnptMTguODg1LTUuNTY0YzMuMDgyIDAgNS41NzQgMi40ODcgNS41NzQgNS40OTggMCAzLjA3Ny0yLjQ5MiA1LjU2NC01LjU3NCA1LjU2NHMtNS41NzQtMi40NzctNS41NzQtNS41NTRjLjA2Ni0zIDIuNDkyLTUuNDk4IDUuNTc0LTUuNDk4eiIvPjwvc3ltYm9sPjwvc3ZnPg=="},"displayName":"Mailgun","typeVersion":1,"nodeCategories":[{"id":5,"name":"Development"},{"id":6,"name":"Communication"}]},{"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":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"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/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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"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/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/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/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/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/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/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"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/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-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":62,"icon":"fa:exchange-alt","name":"n8n-nodes-base.moveBinaryData","codex":{"data":{"alias":["Move Binary Data"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.converttofile/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Files"]}}},"group":"[\"transform\"]","defaults":{"name":"Convert to/from binary data","color":"#7722CC"},"iconData":{"icon":"exchange-alt","type":"icon"},"displayName":"Convert to/from binary data","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":345,"icon":"file:box.png","name":"n8n-nodes-base.box","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.box/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/box/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Box"},"iconData":{"type":"file","fileBuffer":"data:image/png;base64,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"},"displayName":"Box","typeVersion":1,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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"}]}],"categories":[{"id":16,"name":"DevOps"}],"image":[]}}