{"workflow":{"id":12665,"name":"Manage Patreon and Ko-fi leads with Gmail, OpenAI and Google Sheets","views":18,"recentViews":0,"totalViews":18,"createdAt":"2026-01-12T16:15:24.855Z","description":"## Who is this for?\nThis is for creators who run Patreon and/or Kofi pages, support donations and want to automate their communication process.\n\n## About\nThis system is listening for webhooks from patreon and kofi.\nOnce received, it detects the service by looking at headers. \n\nFor Kofi it parses and validates the payload to make sure it's not fake. Once validated, it checks whether the person is on your newsletter lead list. If not, it adds person to your newsletter list. Then it checks the status of the payload, either it's a donation, subscription or shop purchase. \n\nFor Patreon it checks whether the person is on your newsletter lead list and adds him if not. Then it checks the payload type using AI and returns a status, e.g. new patron, cancelled subscription etc.\n\n## Customization\nFor Kofi you can customize emails that you'll be sending to members. For shop orders you can add invoice generation, supplier file generation, connect with your stock etc.\nFor Patreon you can customize emails you'll send to followers and patrons.\nFor both you can enable a crm where you'll track how much each person paid you so you know whether somebody upgrades or downgrades their subscription based on CRM data.","workflow":{"meta":{"instanceId":"bd831602e9ec394ca2150adf9cce18ac8463d1be9315e1ac1624092ac026bf6b","templateCredsSetupCompleted":true},"nodes":[{"id":"156504d4-d521-4e12-9062-096ac1ef6078","name":"Webhook","type":"n8n-nodes-base.webhook","position":[-288,1320],"webhookId":"e180c04c-2d55-44b8-8f82-800cad5ac10e","parameters":{"path":"e180c04c-2d55-44b8-8f82-800cad5ac10e","options":{},"httpMethod":"POST"},"typeVersion":2.1},{"id":"a28d3e11-e26b-4fa9-913d-6b461809b95f","name":"Switch","type":"n8n-nodes-base.switch","position":[-64,1320],"parameters":{"rules":{"values":[{"outputKey":"patreon","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"ca8bc4e6-b702-4fd4-9b67-44b591313723","operator":{"type":"string","operation":"contains"},"leftValue":"={{ $json.headers['user-agent'] }}","rightValue":"Patreon"}]},"renameOutput":true},{"outputKey":"kofi","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"10184ef4-1078-4a92-94d8-ed517177a875","operator":{"type":"string","operation":"contains"},"leftValue":"={{ $json.headers['user-agent'] }}","rightValue":"Kofi"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.4},{"id":"70f7cdb3-acf6-4f15-92df-afb98700658c","name":"Set Token","type":"n8n-nodes-base.set","position":[160,1800],"parameters":{"options":{},"assignments":{"assignments":[{"id":"1c0061ae-b9c8-4650-9f96-6aa2ff08758a","name":"token","type":"string","value":""}]}},"typeVersion":3.4},{"id":"1e25c67b-0f3f-44c7-9afc-e99618be9bd1","name":"Parse Kofi Payload","type":"n8n-nodes-base.code","position":[384,1800],"parameters":{"jsCode":"// Input comes from n8n as items\nconst input = $('Webhook').first().json.body.data; // your JSON string\n\nlet parsed;\ntry {\n    parsed = JSON.parse(input); // parse the inner JSON\n} catch (e) {\n    console.error(\"Invalid JSON:\", e.message);\n    parsed = {};\n}\n\n// n8n requires an array of objects\nreturn [\n    {\n        json: parsed\n    }\n];\n"},"typeVersion":2},{"id":"035c60bb-c8a7-4795-9820-ea548a78b957","name":"Switch1","type":"n8n-nodes-base.switch","position":[1856,1688],"parameters":{"rules":{"values":[{"outputKey":"Donation","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"5aab1f09-af6d-433d-8bf9-079780c9bf98","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Parse Kofi Payload').item.json.type }}","rightValue":"Donation"}]},"renameOutput":true},{"outputKey":"Subscription","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"ac034dcc-9cc1-4c22-9a74-3e957ab76587","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Parse Kofi Payload').item.json.type }}","rightValue":"Subscription"}]},"renameOutput":true},{"outputKey":"Shop Order","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8956ef1d-adbb-488b-a160-5eac2155c003","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $('Parse Kofi Payload').item.json.type }}","rightValue":"Shop Order"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.4},{"id":"de2be0e3-b586-45a6-87f9-cb12b6b83c25","name":"Token Validation","type":"n8n-nodes-base.if","position":[608,1800],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"98973fc2-dbe3-451a-b1f3-cef4c7a72283","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.verification_token }}","rightValue":"={{ $('Set Token').item.json.token }}"}]}},"typeVersion":2.3},{"id":"f05fdc67-54e6-4836-88a8-e3341cb039c9","name":"Fake Payload Alert","type":"n8n-nodes-base.gmail","position":[832,1896],"webhookId":"104795d1-03ba-4e66-950c-08ef21cf9474","parameters":{"sendTo":"user@example.com","message":"Someone just sent a fake payload to your Kofi webhook.","options":{},"subject":"fake payload detected!","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"38ef2260-d4fc-44ac-9ed4-9e8919f84dde","name":"Thank you Letter","type":"n8n-nodes-base.gmail","position":[2080,1512],"webhookId":"36c806f5-f7fa-4ec7-b0fe-e32e21f7d753","parameters":{"sendTo":"={{ $json.email }}","message":"Say how happy you are.","options":{},"subject":"=Thanks!","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"0705c1aa-a3f4-4422-a405-052ccc42d7d6","name":"Thank you Letter1","type":"n8n-nodes-base.gmail","position":[2080,1704],"webhookId":"36c806f5-f7fa-4ec7-b0fe-e32e21f7d753","parameters":{"sendTo":"={{ $json.email }}","message":"Say how happy you are.","options":{},"subject":"=Thanks!","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"d89e18e9-8406-4ca4-a0be-2ff47e928761","name":"Thank you Letter2","type":"n8n-nodes-base.gmail","position":[2080,1896],"webhookId":"36c806f5-f7fa-4ec7-b0fe-e32e21f7d753","parameters":{"sendTo":"={{ $json.email }}","message":"Say how happy you are.","options":{},"subject":"=Thanks!","emailType":"text"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"e5f4cf22-e035-40ed-9786-c6f82c33345e","name":"Merge1","type":"n8n-nodes-base.merge","position":[1632,1704],"parameters":{},"typeVersion":3.2},{"id":"a0f542ef-9dce-4c07-9d75-a11891e90cc5","name":"Get Newsletter Subs1","type":"n8n-nodes-base.googleSheets","position":[832,1704],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $json.email }}","lookupColumn":"email"}]},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit?usp=drivesdk","cachedResultName":"Newsletter"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"typeVersion":4.7,"alwaysOutputData":true},{"id":"c0231a04-0da6-4773-b178-379070d89589","name":"Person Exists on the List?1","type":"n8n-nodes-base.if","position":[1120,1704],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"7121acf2-f7c6-4284-baf4-d669bd982594","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.isEmpty() }}","rightValue":""}]}},"typeVersion":2.3},{"id":"93650e4a-bbb3-4c20-adc3-156d8ccdf540","name":"Add New Sub to Newsletter1","type":"n8n-nodes-base.googleSheets","position":[1408,1632],"parameters":{"columns":{"value":{"name":"={{ $('Parse Kofi Payload').item.json.from_name }}","email":"={{ $('Parse Kofi Payload').item.json.email }}"},"schema":[{"id":"email","type":"string","display":true,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"name","type":"string","display":true,"removed":false,"required":false,"displayName":"name","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit?usp=drivesdk","cachedResultName":"Newsletter"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"6b89b036-8a7e-4c58-914e-f4daf78110eb","name":"Switch2","type":"n8n-nodes-base.switch","position":[1440,576],"parameters":{"rules":{"values":[{"outputKey":"brand_new_follower","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"9c7bde94-2d61-47c8-a1f1-b9c362792ce3","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"brand_new_follower"}]},"renameOutput":true},{"outputKey":"brand_new_patron_one_time","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"fb210a5c-eac9-4ea2-95dd-320d31230c00","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"brand_new_patron_one_time"}]},"renameOutput":true},{"outputKey":"brand_new_patron_subscription","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"a8c8eaa4-5554-46ca-b38a-a47f70c5a51d","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"brand_new_patron_subscription"}]},"renameOutput":true},{"outputKey":"follower_to_one_time","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8014762c-4ed0-45f6-b1f5-23acfa4f2de6","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"follower_to_one_time"}]},"renameOutput":true},{"outputKey":"follower_to_subscription","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"87de895d-99e9-4496-b75a-33c685cefefc","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"follower_to_subscription"}]},"renameOutput":true},{"outputKey":"subscription_upgraded","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"fd10deae-ef40-4154-8246-e73836d375ff","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"subscription_upgraded"}]},"renameOutput":true},{"outputKey":"subscription_downgraded","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"84132fef-f0c6-48f7-8b6d-bac1f114da6c","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"subscription_downgraded"}]},"renameOutput":true},{"outputKey":"subscription_cancelled","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"1d2abbb5-dcc5-49e1-b77f-3302765a066a","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.output[0].content[0].text.status }}","rightValue":"subscription_cancelled"}]},"renameOutput":true}]},"options":{}},"typeVersion":3.4},{"id":"68db8766-0dd3-4e09-8392-28a34c18c51d","name":"Message a model","type":"@n8n/n8n-nodes-langchain.openAi","position":[1056,672],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4.1-mini","cachedResultName":"GPT-4.1-MINI"},"options":{"textFormat":{"textOptions":{"type":"json_object"}}},"responses":{"values":[{"role":"system","content":"=You are classifying Patreon webhook events.\n\nYou are given:\n\n1. Full webhook payload in `body.data`\n2. An additional field called `event_type`, taken from webhook headers (`x-patreon-event`)\n\nIMPORTANT RULES (STRICT):\n\n* `event_type` is authoritative and OVERRIDES any inference from `body.data`.\n* If `event_type == \"members:delete\"`, always return `subscription_cancelled`.\n* If `event_type == \"members:update\"`, you must never return a `brand_new_*` status. Only return `follower_to_one_time`, `follower_to_subscription`, `subscription_upgraded`, `subscription_downgraded`, or `subscription_cancelled`.\n* If `event_type == \"members:create\"`, you may return a `brand_new_*` status if the data matches.\n\nStatuses (choose exactly one):\n\n* brand_new_follower\n* brand_new_patron_one_time\n* brand_new_patron_subscription\n* follower_to_one_time\n* follower_to_subscription\n* subscription_upgraded\n* subscription_downgraded\n* subscription_cancelled\n\nHow to classify:\n\n1. subscription_cancelled\n\n   * If `event_type == \"members:delete\"`, return this. Always.\n\n2. Brand-new statuses (`brand_new_*`)\n\n   * Only if `event_type == \"members:create\"`.\n   * `brand_new_follower`: No prior membership, `patron_status` null or not a patron, no payment.\n   * `brand_new_patron_one_time`: First-ever patron, `pledge_cadence == 0`.\n   * `brand_new_patron_subscription`: First-ever patron, `pledge_cadence >= 1`.\n\n3. Updates (`members:update`)\n\n   * Never return any `brand_new_*` status.\n   * `follower_to_one_time`: Previously a follower, now `pledge_cadence == 0`.\n   * `follower_to_subscription`: Previously a follower, now `pledge_cadence >= 1`.\n   * `subscription_upgraded`: Existing subscription, payment/tier increased.\n   * `subscription_downgraded`: Existing subscription, payment/tier decreased.\n\nOutput format (STRICT):\n\n```\n{\n  \"status\": \"<one_of_the_statuses_above>\"\n}\n```\n\n---\n\nThis version is simplified, fully respects `event_type`, and prevents the LLM from incorrectly marking updates as \"brand new\".\n"},{"content":"={{ JSON.stringify($('Webhook').item.json.body.data) }}\n\nevent_type: {{ $('Webhook').item.json.headers['x-patreon-event'] }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"credential-id","name":"OpenAi account"}},"typeVersion":2.1},{"id":"ab8acaeb-ebb6-4761-a094-c63ea6d2b637","name":"Merge","type":"n8n-nodes-base.merge","position":[832,672],"parameters":{},"typeVersion":3.2},{"id":"1f388f14-3b64-4bdc-91b4-3a62b4060685","name":"Get Newsletter Subs","type":"n8n-nodes-base.googleSheets","position":[160,672],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $json.body.data.attributes.email }}","lookupColumn":"email"}]},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit?usp=drivesdk","cachedResultName":"Newsletter"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"typeVersion":4.7,"alwaysOutputData":true},{"id":"9604ff3c-3f46-4f1e-b411-cb7d9721f9a1","name":"Person Exists on the List?","type":"n8n-nodes-base.if","position":[384,672],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"7121acf2-f7c6-4284-baf4-d669bd982594","operator":{"type":"boolean","operation":"true","singleValue":true},"leftValue":"={{ $json.isEmpty() }}","rightValue":""}]}},"typeVersion":2.3},{"id":"ccfec126-ec11-4710-a023-241e87a05d9b","name":"Add New Sub to Newsletter","type":"n8n-nodes-base.googleSheets","position":[608,608],"parameters":{"columns":{"value":{"name":"={{ $('Webhook').item.json.body.data.attributes.full_name }}","email":"={{ $('Webhook').item.json.body.data.attributes.email }}"},"schema":[{"id":"email","type":"string","display":true,"required":false,"displayName":"email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"name","type":"string","display":true,"removed":false,"required":false,"displayName":"name","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1uaPJWmAa8yEUPHad6OvDkoqLrahzZORDFjExyxR3064/edit?usp=drivesdk","cachedResultName":"Newsletter"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"471eb7ee-ca1f-4a4a-b5a6-2adb0d49869f","name":"Send a message","type":"n8n-nodes-base.gmail","position":[1664,0],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"fc089d56-268f-4a53-968b-f2f836d07ad5","name":"Send a message1","type":"n8n-nodes-base.gmail","position":[1664,192],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"29521d5f-974c-4a4a-a986-620398782bf6","name":"Send a message2","type":"n8n-nodes-base.gmail","position":[1664,384],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"23f7e83f-107a-4dbb-9d96-ec5b689a3a2a","name":"Send a message3","type":"n8n-nodes-base.gmail","position":[1664,768],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"8117b97d-384e-4862-812f-664f07c03116","name":"Send a message4","type":"n8n-nodes-base.gmail","position":[1664,960],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"c2c39b8c-5217-4f42-8469-bda9d6abdc13","name":"Send a message5","type":"n8n-nodes-base.gmail","position":[1664,1152],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"470a5590-889b-4ee0-81ab-3b2fcb1af8a8","name":"Send a message6","type":"n8n-nodes-base.gmail","position":[1664,1344],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"7f619e67-2afe-4744-9593-8c373d6ee240","name":"Send a message7","type":"n8n-nodes-base.gmail","position":[1664,576],"webhookId":"1c3bd1ef-be6d-4118-a01d-ac217344590e","parameters":{"options":{}},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"Gmail account"}},"typeVersion":2.2},{"id":"ef9296e0-c8dc-4ad4-a2d5-f27f2b5e6fd1","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-672,272],"parameters":{"width":500,"height":894,"content":"## Patreon & Ko-fi Webhook Processor\n\n### About\nThis system is listening for webhooks from patreon and kofi.\nOnce received, it detects the service by looking at headers. \n\nFor Kofi it parses and validates the payload to make sure it's not fake. Once validated, it checks whether the person is on your newsletter lead list. If not, it adds person to your newsletter list. Then it checks the status of the payload, either it's a donation, subscription or shop purchase. \n\nFor Patreon it checks whether the person is on your newsletter lead list and adds him if not. Then it checks the payload type using AI and returns a status, e.g. new patron, cancelled subscription etc.\n\n### Setup\n- [ ] Connect your Gmail account used to send thank-you and alert messages\n- [ ] Connect Google Sheets and select the Newsletter spreadsheet and sheet\n- [ ] Add your OpenAI API key and select the desired model for classification\n- [ ] Set the Ko-fi verification token in the workflow and Ko-fi webhook settings\n- [ ] Configure your Patreon webhook to send payloads to the webhook URL and forward x-patreon-event. Configure 6 events that are not deprecated and are not post-related.\n- [ ] Customize emails you'll be sending for each branch\n\n### Customization\nFor Kofi you can customize emails that you'll be sending to members. For shop orders you can add invoice generation, supplier file generation, connect with your stock etc.\nFor Patreon you can customize emails you'll send to followers and patrons.\nFor both you can enable a crm where you'll track how much each person paid you so you know whether somebody upgrades or downgrades their subscription based on CRM data."},"typeVersion":1},{"id":"fe6bf38d-e74d-4d4a-9457-c5a9b97bdb8c","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[112,1680],"parameters":{"color":3,"width":192,"height":288,"content":"## Set Token\nGet an auth token from Kofi to validate your payloads."},"typeVersion":1},{"id":"da980daf-09d1-412a-80e6-e129a674c935","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[784,1520],"parameters":{"color":7,"width":1024,"height":352,"content":"## Newsletter\nWe check whether person is on our newsletter list or not. If not, we add him. If not, skip.\nCreate a \"Newsletter\" spreadsheet with columns \"email\" and \"name\". Set up the node and feel free to add more columns if needed."},"typeVersion":1},{"id":"644975a7-20c3-44be-bf56-384b66076095","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1824,1392],"parameters":{"color":7,"width":528,"height":688,"content":"## Letters\nSet up letters that you're gonna send to members."},"typeVersion":1},{"id":"78442062-d6cc-4654-877c-b94dbfd41791","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[80,480],"parameters":{"color":7,"width":912,"height":352,"content":"## Newsletter\nWe check whether person is on our newsletter list or not. If not, we add him. If not, skip.\nCreate a \"Newsletter\" spreadsheet with columns \"email\" and \"name\". Set up the node and feel free to add more columns if needed."},"typeVersion":1},{"id":"d5d54e94-2377-4222-ac0e-cac5ad3673b6","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1008,528],"parameters":{"color":7,"width":368,"height":304,"content":"## Status Validation\nWe use OpenAI to determine the status of operations"},"typeVersion":1},{"id":"ff263dd8-bbdc-4877-8e3e-dd035fed1333","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1392,-112],"parameters":{"color":7,"width":528,"height":1616,"content":"## Letters\nSet up letters that you're gonna send to members."},"typeVersion":1}],"pinData":{"Webhook":[{"body":{"data":{"id":"d29e61b6-f73b-4662-955e-dade715cef83","type":"member","attributes":{"note":"","email":"jw@example.com","full_name":"Jules Winnfield","is_gifted":false,"is_follower":false,"is_free_trial":false,"patron_status":"active_patron","pledge_cadence":1,"last_charge_date":null,"next_charge_date":"2025-04-01T07:00:00.000+00:00","last_charge_status":null,"will_pay_amount_cents":1337,"lifetime_support_cents":1337,"pledge_relationship_start":"2025-03-02T13:37:00.000+00:00","campaign_lifetime_support_cents":1337,"currently_entitled_amount_cents":1337},"relationships":{"user":{"data":{"id":"108692085","type":"user"},"links":{"related":"https://www.patreon.com/api/oauth2/v2/user/108692085"}},"address":{"data":null},"campaign":{"data":{"id":"11410294","type":"campaign"},"links":{"related":"https://www.patreon.com/api/oauth2/v2/campaigns/11410294"}},"currently_entitled_tiers":{"data":[{"id":"196241737","type":"tier"}]}}},"links":{"self":"https://www.patreon.com/api/oauth2/v2/members/d29e61b6-f73b-4662-955e-dade715cef83"},"included":[{"id":"11410294","type":"campaign","attributes":{"url":"https://www.patreon.com/thebriefcase","vanity":"thebriefcase","has_rss":false,"is_nsfw":false,"summary":null,"image_url":"https://c10.patreonusercontent.com/4/patreon-media/p/campaign/69073700/0267c2da7994410084f34411b9ce619c/eyJ3IjoxOTIwLCJ3ZSI6MX0%3D/1?token-time=1743724800&token-hash=gaXo-j34utqldsEeggT1K66nQXiJvMgttWq1PfZt3kE%3D","one_liner":"","created_at":"2025-03-02T13:37:00.000+00:00","is_monthly":true,"pledge_url":"/checkout/thebriefcase","thanks_msg":"","patron_count":0,"pay_per_name":"month","published_at":"2025-03-02T13:37:00.000+00:00","thanks_embed":"","creation_name":"","main_video_url":null,"rss_feed_title":null,"image_small_url":"https://c10.patreonusercontent.com/4/patreon-media/p/campaign/69073700/0267c2da7994410084f34411b9ce619c/eyJ3IjoxOTIwLCJ3ZSI6MX0%3D/1?token-time=1743724800&token-hash=gaXo-j34utqldsEeggT1K66nQXiJvMgttWq1PfZt3kE%3D","rss_artwork_url":null,"main_video_embed":null,"thanks_video_url":"","discord_server_id":null,"google_analytics_id":null,"has_sent_rss_notify":false,"is_charged_immediately":false}},{"id":"108692085","type":"user","attributes":{"url":"https://www.patreon.com/saywhat","about":"About!","vanity":"saywhat","created":"2025-03-02T13:37:00.000+00:00","full_name":"Jules Winnfield","image_url":"https://c8.patreon.com/3/200/108692085","last_name":"Winnfield","thumb_url":"https://c8.patreon.com/3/200/108692085","first_name":"Jules","is_creator":false,"like_count":0,"hide_pledges":false,"social_connections":{"vimeo":null,"google":null,"reddit":null,"tiktok":null,"twitch":null,"discord":null,"spotify":null,"twitter":null,"youtube":null,"facebook":null,"twitter2":null,"instagram":null,"spotify_open_access":null}}},{"id":"196241737","type":"tier","attributes":{"url":"/checkout/thebriefcase?rid=196241737","title":"Elite Tier","edited_at":"2025-03-02T13:37:00.000+00:00","image_url":null,"published":true,"remaining":null,"created_at":"2025-03-02T13:37:00.000+00:00","post_count":0,"user_limit":null,"description":"Tier for Top Patrons","amount_cents":1337,"patron_count":0,"published_at":"2025-03-02T13:37:00.000+00:00","unpublished_at":null,"discord_role_ids":null,"requires_shipping":false}}]},"query":{},"params":{},"headers":{"host":"maksik.app.n8n.cloud","accept":"*/*","cf-ray":"9bcdc51b4674c236-SJC","baggage":"sentry-trace_id=5260aac8402a437d9c80b70ac89e339f,sentry-environment=production,sentry-release=507017062d2081042f7a233a16f9ab41b747587e,sentry-public_key=9784cc8aed574851b2540c4903b37506","cdn-loop":"cloudflare; loops=1; subreqs=1","cf-ew-via":"15","cf-worker":"n8n.cloud","x-real-ip":"13.57.145.212","cf-visitor":"{\"scheme\":\"https\"}","tracestate":"dd=p:35affc9e127a4796;s:-1;t.dm:-3;t.tid:696516a300000000","user-agent":"Patreon HTTP Robot","traceparent":"00-696516a3000000007373233b57e3d31f-35affc9e127a4796-00","cf-ipcountry":"US","content-type":"application/json","sentry-trace":"5260aac8402a437d9c80b70ac89e339f-9e655486497241a0","x-is-trusted":"yes","content-length":"4579","x-datadog-tags":"_dd.p.dm=-3,_dd.p.tid=696516a300000000","accept-encoding":"gzip, br","x-forwarded-for":"13.57.145.212, 104.22.17.37","x-patreon-event":"members:pledge:delete","cf-connecting-ip":"13.57.145.212","x-forwarded-host":"maksik.app.n8n.cloud","x-forwarded-port":"443","x-forwarded-proto":"https","x-datadog-trace-id":"8319031674468029215","x-forwarded-server":"traefik-prod-users-gwc-98-5f74ff6676-78p7s","x-datadog-parent-id":"3868588360779581334","x-patreon-signature":"43d037f99e206d4bf57565f9635964d0","x-datadog-sampling-priority":"-1"},"webhookUrl":"https://maksik.app.n8n.cloud/webhook-test/e180c04c-2d55-44b8-8f82-800cad5ac10e","executionMode":"test"}],"Set Token":[{"token":"ac0691d2-fadd-4076-80e2-98a5e7e138a7"}],"Parse Kofi Payload":[{"url":"https://ko-fi.com/Home/CoffeeShop?txid=00000000-1111-2222-3333-444444444444","type":"Donation","email":"jo.example@example.com","amount":"3.00","message":"Good luck with the integration!","currency":"USD","shipping":null,"from_name":"Jo Example","is_public":true,"tier_name":null,"timestamp":"2026-01-12T10:40:31Z","message_id":"b421c890-7266-4574-971d-03821f3d8c8e","shop_items":null,"discord_userid":"012345678901234567","discord_username":"Jo#4105","verification_token":"ac0691d2-fadd-4076-80e2-98a5e7e138a7","kofi_transaction_id":"00000000-1111-2222-3333-444444444444","is_subscription_payment":false,"is_first_subscription_payment":false}]},"connections":{"Merge":{"main":[[{"node":"Message a model","type":"main","index":0}]]},"Merge1":{"main":[[{"node":"Switch1","type":"main","index":0}]]},"Switch":{"main":[[{"node":"Get Newsletter Subs","type":"main","index":0}],[{"node":"Set Token","type":"main","index":0}]]},"Switch1":{"main":[[{"node":"Thank you Letter","type":"main","index":0}],[{"node":"Thank you Letter1","type":"main","index":0}],[{"node":"Thank you Letter2","type":"main","index":0}]]},"Switch2":{"main":[[{"node":"Send a message","type":"main","index":0}],[{"node":"Send a message1","type":"main","index":0}],[{"node":"Send a message2","type":"main","index":0}],[{"node":"Send a message7","type":"main","index":0}],[{"node":"Send a message3","type":"main","index":0}],[{"node":"Send a message4","type":"main","index":0}],[{"node":"Send a message5","type":"main","index":0}],[{"node":"Send a message6","type":"main","index":0}]]},"Webhook":{"main":[[{"node":"Switch","type":"main","index":0}]]},"Set Token":{"main":[[{"node":"Parse Kofi Payload","type":"main","index":0}]]},"Message a model":{"main":[[{"node":"Switch2","type":"main","index":0}]]},"Token Validation":{"main":[[{"node":"Get Newsletter Subs1","type":"main","index":0}],[{"node":"Fake Payload Alert","type":"main","index":0}]]},"Parse Kofi Payload":{"main":[[{"node":"Token Validation","type":"main","index":0}]]},"Get Newsletter Subs":{"main":[[{"node":"Person Exists on the List?","type":"main","index":0}]]},"Get Newsletter Subs1":{"main":[[{"node":"Person Exists on the List?1","type":"main","index":0}]]},"Add New Sub to Newsletter":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Add New Sub to Newsletter1":{"main":[[{"node":"Merge1","type":"main","index":0}]]},"Person Exists on the List?":{"main":[[{"node":"Add New Sub to Newsletter","type":"main","index":0}],[{"node":"Merge","type":"main","index":1}]]},"Person Exists on the List?1":{"main":[[{"node":"Add New Sub to Newsletter1","type":"main","index":0}],[{"node":"Merge1","type":"main","index":1}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":35,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.gmail":{"count":12},"n8n-nodes-base.merge":{"count":2},"n8n-nodes-base.switch":{"count":3},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.googleSheets":{"count":4},"@n8n/n8n-nodes-langchain.openAi":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Max Savenko","username":"maksik","bio":"","verified":true,"links":["https://www.upwork.com/freelancers/~01aa55a171c76ad0b7"],"avatar":"https://gravatar.com/avatar/921f392c5660a6d474471c247a2b28ab7321b782086485338e4ab0727a057179?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"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-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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"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/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-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/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"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/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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with 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-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/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":37,"name":"Lead Generation"},{"id":49,"name":"AI Summarization"}],"image":[]}}