{"workflow":{"id":14027,"name":"Get long-lived Facebook Page access tokens and subscribe Messenger webhook fields via Graph API","views":100,"recentViews":1,"totalViews":100,"createdAt":"2026-03-13T21:46:22.259Z","description":"# **Get Long-Lived Facebook Page Access Token** and Subscribe Messenger Webhook Fields\n\nThis n8n template automates two critical one-time setup steps required before any Facebook automation can go live: it exchanges a short-lived **User Access Token** for a long-lived one (~60 days), retrieves **Page Access Tokens** for all connected Facebook Pages, and subscribes each Page to the **webhook fields** your app needs — all in a single manual run.\n\nIf you're building a Messenger chatbot or automating comment replies on Facebook Pages, run this utility workflow once as part of your initial setup.\n\n## How it works\n\n* **Needed Value node:** Set your `app_id`, `app_secret`, short-lived `short_user_access_token`, and `field_to_add` (the webhook subscription fields) in one place — no other node needs editing.\n* **Token Exchange:** Calls the *Facebook Graph API* to exchange the short-lived token for a **long-lived User Access Token**, then resolves the app-scoped User ID.\n* **Page Token Retrieval:** Fetches **long-lived Page Access Tokens** for all Pages connected to this user.\n* **Per-Page Webhook Subscription:** Loops through each Page — fetches its existing subscribed fields, merges them with your new fields, and POSTs the combined list back to the Graph API.\n* **Rate Limiting:** A 1-second *Wait* node between each Page prevents hitting Facebook's API rate limits.\n\n## How to use\n\n1. **Get credentials:** Retrieve your `App ID` and `App Secret` from [Meta for Developers](https://developers.facebook.com/apps/).\n2. **Generate a short-lived token:** Use [Graph API Explorer](https://developers.facebook.com/tools/explorer/) with `pages_manage_metadata` and `pages_show_list` permissions.\n3. **Fill in `Needed Value`:** Enter all four config fields. Set `field_to_add` based on your use case (e.g., `messages,messaging_postbacks` for Messenger chatbots, or add `feed` for comment automation).\n4. **Run manually:** Click \"Execute Workflow\". The output of **Get long-lived page access token** contains the Page Access Token — copy it into your chatbot workflows.\n\n## Requirements\n\n* **n8n Version:** Built and tested on **n8n 2.9.4+**. *(It is highly recommended to update to the latest n8n version.)*\n* A **Facebook App** with Messenger product enabled and `pages_manage_metadata` permission approved.\n* **No external credentials** needed inside n8n — all API calls use the token from the `Needed Value` node.\n\n## Customizing this workflow\n\n* **Different webhook fields:** Update `field_to_add` — common values: `messages`, `messaging_postbacks`, `messaging_optins`, `message_deliveries`, `feed`.\n* **Auto-refresh tokens:** Swap the Manual Trigger for a **Schedule Trigger** every 50 days so your long-lived tokens never expire unexpectedly.\n* **Notify on completion:** Add a **Telegram** or **Gmail** node after the loop to confirm successful subscription for each Page.\n\n---\n\n**Related workflows by the same author:**\n- [Smart human takeover & auto pause AI-powered Facebook Messenger chatbot](https://n8n.io/workflows/11920)\n- [Build a Facebook Messenger customer service AI chatbot with Google Gemini](https://n8n.io/workflows/13080)\n- [Smart message batching AI-powered Facebook Messenger chatbot use Data Table](https://n8n.io/workflows/9192)\n\n---\n\n## About the Author\n\n**Created by:** Nguyễn Thiệu Toàn (Jay Nguyen) - n8n Verified Creator\n**Email:** me@nguyenthieutoan.com\n**Website:** [nguyenthieutoan.com](https://nguyenthieutoan.com)\n**Company:** GenStaff (CEO/Founder) ([genstaff.net](https://genstaff.net))\n**Socials (Facebook / X / LinkedIn):** @nguyenthieutoan\n**More templates:** [n8n.io/creators/nguyenthieutoan](https://n8n.io/creators/nguyenthieutoan)","workflow":{"meta":{"instanceId":"735886904af210643f438394a538e64374f0cb4ab13fd94d97005987482d652a"},"nodes":[{"id":"10546596-ebe7-4d84-82f3-605c3201902f","name":"Main Overview","type":"n8n-nodes-base.stickyNote","position":[-80,16],"parameters":{"width":560,"height":960,"content":"## Get Long-Lived Facebook Page Access Token & Subscribe Webhook Fields\n\nThis utility workflow automates two critical setup steps for any Facebook automation project: it exchanges a short-lived User Access Token for a **long-lived one**, retrieves **Page Access Tokens** for all connected Pages, then subscribes each Page to the webhook fields you need — all in one run.\n\nIf you're building a Messenger chatbot or automating Facebook Page comment replies, run this workflow once before activating your main automation.\n\n### How it works\n1. **Needed Value** — enter your App ID, App Secret, short-lived User Access Token, and the webhook fields to add.\n2. **Token Exchange** — calls the Graph API to get a long-lived User Access Token, then resolves the app-scoped User ID.\n3. **Page Tokens** — retrieves all Page Access Tokens linked to this user.\n4. **Loop per Page** — for each Page, fetches its currently subscribed webhook fields, merges them with your new fields, and POSTs the combined list back to the Graph API.\n5. **Rate Limit** — a 1-second Wait between pages prevents Graph API rate limit errors.\n\n### Setup\n* [ ] Get your **App ID** and **App Secret** from [Meta for Developers](https://developers.facebook.com/apps/).\n* [ ] Generate a **short-lived User Access Token** using [Graph API Explorer](https://developers.facebook.com/tools/explorer/) with `pages_manage_metadata` permission.\n* [ ] Fill in the **Needed Value** node with all four config fields.\n* [ ] Run the workflow manually. Copy the **Page Access Token** from the output for use in your chatbot workflows.\n\n### Customization tips\n* Change `field_to_add` to any combination: `messages`, `messaging_postbacks`, `feed`, `message_reads`.\n* Swap the Manual Trigger for a Schedule Trigger (every 50 days) to auto-refresh tokens.\n* Add a Telegram node at the end to notify yourself when subscription is updated.\n\n### LICENCE\nThis template is shared free of charge. Copyright belongs to Nguyen Thieu Toan (Jay Nguyen). Any copying or modification must credit the author."},"typeVersion":1},{"id":"f312f0c5-97b6-4513-b516-63fbd9dc9a36","name":"Warning Edit","type":"n8n-nodes-base.stickyNote","position":[688,560],"parameters":{"color":3,"width":464,"height":256,"content":"## ⚠️ Edit this node!\n\nFill in all 4 fields before running:\n- `app_id` — from Meta App Dashboard\n- `app_secret` — from Meta App Dashboard\n- `short_user_access_token` — from Graph API Explorer\n- `field_to_add` — webhook fields to subscribe (e.g. `messages,feed`)\n\nGet your token at [developers.facebook.com/tools/explorer](https://developers.facebook.com/tools/explorer)"},"typeVersion":1},{"id":"de1b33b8-c182-4c66-9b1f-428a7a13f15b","name":"Section 1","type":"n8n-nodes-base.stickyNote","position":[496,96],"parameters":{"color":7,"width":1296,"height":496,"content":"## Section 1: Token Exchange\nExchanges the short-lived User Access Token → **long-lived User Access Token** (~60 days) → resolves app-scoped User ID → retrieves all **Page Access Tokens** linked to this user account."},"typeVersion":1},{"id":"11ed6a39-495b-4899-9c9b-555df9b08723","name":"Section 2","type":"n8n-nodes-base.stickyNote","position":[1840,96],"parameters":{"color":7,"width":976,"height":496,"content":"## Section 2: Per-Page Webhook Field Subscription\nSplits pages → loops one by one → **GET** currently subscribed fields → **merges** with new fields from config → **POST** combined field list to Graph API. A 1-second Wait between iterations prevents rate limiting."},"typeVersion":1},{"id":"bc60732f-c7fe-4875-98bc-8fe1b481a6d0","name":"Author Message","type":"n8n-nodes-base.stickyNote","position":[2832,96],"parameters":{"color":4,"width":560,"height":492,"content":"## Author Message\n\nHi! I am **Nguyen Thieu Toan (Jay Nguyen)** — a Verified n8n Creator. Thank you for using this template!\n\nThis workflow is shared with you for free. If it brings value to your work, saves you time, or helps your automation projects, you can buy me a coffee here: **[My Donate Website](https://nguyenthieutoan.com/payment/)** *(PayPal, Momo, Bank Transfer)*\n\n**Related workflows:**\n- [Smart human takeover for Messenger chatbot](https://n8n.io/workflows/11920)\n- [AI Facebook Messenger chatbot with Gemini](https://n8n.io/workflows/13080)\n- [Smart message batching Messenger chatbot](https://n8n.io/workflows/9192)\n\n* Website: [nguyenthieutoan.com](https://nguyenthieutoan.com)\n* Email: me@nguyenthieutoan.com\n* Company: GenStaff ([genstaff.net](https://genstaff.net))\n* Socials: @nguyenthieutoan\n\n*More templates:* **[n8n.io/creators/nguyenthieutoan](https://n8n.io/creators/nguyenthieutoan)**"},"typeVersion":1},{"id":"4517d2f7-0fe1-4dc9-b5bb-5ce46a9b7226","name":"When clicking 'Execute workflow'","type":"n8n-nodes-base.manualTrigger","position":[544,368],"parameters":{},"typeVersion":1},{"id":"f4a52d2a-6186-4455-82c6-3426deae5d23","name":"Needed Value","type":"n8n-nodes-base.set","position":[768,368],"parameters":{"options":{},"assignments":{"assignments":[{"id":"62c906fd-b796-4c22-b111-4d3172e67c93","name":"app_id","type":"string","value":"[YOUR_APP_ID]"},{"id":"48ad86f0-ec99-4b49-8976-4f50f1cea64c","name":"app_secret","type":"string","value":"[YOUR_APP_SECRET]"},{"id":"0479be3c-5928-4bd6-90d7-90266a942fdd","name":"short_user_access_token","type":"string","value":"[YOUR_SHORT_USER_ACCESS_TOKEN]"},{"id":"333e5c5f-2c76-41dc-9564-e9096758b041","name":"field_to_add","type":"string","value":"messages,messaging_postbacks,feed"}]}},"typeVersion":3.4},{"id":"7905085e-a83f-48ed-8a93-363672fdb42d","name":"Get long-lived user access token","type":"n8n-nodes-base.httpRequest","position":[992,368],"parameters":{"url":"https://graph.facebook.com/v25.0/oauth/access_token","options":{"response":{"response":{"fullResponse":true}}},"sendQuery":true,"queryParameters":{"parameters":[{"name":"grant_type","value":"fb_exchange_token"},{"name":"client_id","value":"={{ $json.app_id }}"},{"name":"client_secret","value":"={{ $json.app_secret }}"},{"name":"fb_exchange_token","value":"={{ $json.short_user_access_token }}"}]}},"typeVersion":4.4},{"id":"745b52a8-487a-4a1f-aa97-d8b0dab755c3","name":"Get app scoped user id","type":"n8n-nodes-base.httpRequest","position":[1216,368],"parameters":{"url":"=https://graph.facebook.com/me?access_token={{ $json.body.access_token }}","options":{}},"typeVersion":4.4},{"id":"132db33f-e67b-4a0d-8b9c-b70480bf02e0","name":"Get long-lived page access token","type":"n8n-nodes-base.httpRequest","position":[1440,368],"parameters":{"url":"=https://graph.facebook.com/v25.0/{{ $json.id }}/accounts","options":{"response":{"response":{"fullResponse":true}}},"sendQuery":true,"queryParameters":{"parameters":[{"name":"access_token","value":"={{ $('Get long-lived user access token').item.json.body.access_token }}"}]}},"typeVersion":4.4},{"id":"2a36e297-a0e9-4122-b936-e16487025df6","name":"Split Out Pages","type":"n8n-nodes-base.splitOut","position":[1664,368],"parameters":{"options":{},"fieldToSplitOut":"body.data"},"typeVersion":1},{"id":"31a81107-c901-46eb-afc3-cdc039cb0be8","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[1888,368],"parameters":{"options":{}},"typeVersion":3},{"id":"159a536c-e616-4409-81af-e6309facb131","name":"GET Current Fields","type":"n8n-nodes-base.httpRequest","position":[2112,368],"parameters":{"url":"=https://graph.facebook.com/v25.0/{{ $('Loop Over Items').item.json.id }}/subscribed_apps","options":{},"sendQuery":true,"queryParameters":{"parameters":[{"name":"access_token","value":"={{ $('Loop Over Items').item.json.access_token }}"}]}},"typeVersion":4.4},{"id":"677c30cd-2d1c-4ae6-a1fd-7f913e85aa3f","name":"Merge Fields","type":"n8n-nodes-base.code","position":[2336,368],"parameters":{"jsCode":"// Build merged subscribed_fields list for this page\nconst dataArray = $input.first().json.data;\nconst results = dataArray.map(item => {\n  const subscribed_fields = item.subscribed_fields || [];\n  return subscribed_fields.join(\",\");\n});\nreturn results.map(r => ({ json: { result: r } }));\n"},"typeVersion":2},{"id":"3fa4bffd-ea33-4a46-887e-e0f2233cc135","name":"POST Merged Fields","type":"n8n-nodes-base.httpRequest","position":[2560,368],"parameters":{"url":"=https://graph.facebook.com/v25.0/{{ $('Loop Over Items').item.json.id }}/subscribed_apps","method":"POST","options":{},"sendBody":true,"contentType":"form-urlencoded","bodyParameters":{"parameters":[{"name":"subscribed_fields","value":"={{ $json.result }},{{ $('Needed Value').item.json.field_to_add }}"},{"name":"access_token","value":"={{ $('Loop Over Items').item.json.access_token }}"}]}},"typeVersion":4.4},{"id":"e7e53f65-979a-4e93-b57f-9945dd49fa56","name":"Wait 1s (rate limit)","type":"n8n-nodes-base.wait","position":[2336,176],"webhookId":"41856205-42cb-47fa-b6d1-6818f84769ef","parameters":{"amount":1},"typeVersion":1.1},{"id":"f570cd62-aa67-48c5-a037-fb641c35f980","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-80,992],"parameters":{"color":5,"width":608,"content":"## **Related workflows**\n- [Smart human takeover & auto pause AI-powered Facebook Messenger chatbot](https://n8n.io/workflows/11920)\n- [Build a Facebook Messenger customer service AI chatbot with Google Gemini](https://n8n.io/workflows/13080)\n- [Smart message batching AI-powered Facebook Messenger chatbot use Data Table](https://n8n.io/workflows/9192)"},"typeVersion":1}],"pinData":{},"connections":{"Merge Fields":{"main":[[{"node":"POST Merged Fields","type":"main","index":0}]]},"Needed Value":{"main":[[{"node":"Get long-lived user access token","type":"main","index":0}]]},"Loop Over Items":{"main":[[{"node":"GET Current Fields","type":"main","index":0}]]},"Split Out Pages":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"GET Current Fields":{"main":[[{"node":"Merge Fields","type":"main","index":0}]]},"POST Merged Fields":{"main":[[{"node":"Wait 1s (rate limit)","type":"main","index":0}]]},"Wait 1s (rate limit)":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Get app scoped user id":{"main":[[{"node":"Get long-lived page access token","type":"main","index":0}]]},"Get long-lived page access token":{"main":[[{"node":"Split Out Pages","type":"main","index":0}]]},"Get long-lived user access token":{"main":[[{"node":"Get app scoped user id","type":"main","index":0}]]},"When clicking 'Execute workflow'":{"main":[[{"node":"Needed Value","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":17,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.httpRequest":{"count":5},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Nguyễn Thiệu Toàn (Jay Nguyen)","username":"nguyenthieutoan","bio":"I’m the Founder & CEO of GenStaff. My work focuses on building AI Staff and automation systems that help businesses operate with fewer manual processes and greater efficiency.\n\nI’m particularly interested in how AI and no-code tools can transform complex workflows into scalable systems.\n\nI also share what I learn about AI, automation, and system thinking along the way.","verified":true,"links":["https://nguyenthieutoan.com"],"avatar":"https://gravatar.com/avatar/7141eae597e5b2df502a89ec82a34a51fa2138a7b108ebfec95f50f383b37be7?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":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":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"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/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.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":40,"name":"Support Chatbot"}],"image":[]}}