{"workflow":{"id":13012,"name":"Generate AI case studies from Feedspace testimonials with Google Gemini and publish to WordPress","views":33,"recentViews":0,"totalViews":33,"createdAt":"2026-01-26T13:01:44.821Z","description":"**Who is this for?**\nThis template is for teams who collect customer testimonials on feedpsace (via forms) and want to automatically convert them into professional case studies using AI and publish them to WordPress.\n\n**What this workflow does**\n\nThis workflow listens for incoming testimonial data via a webhook, extracts the relevant fields, uses an AI agent to generate a complete case study (including title, sections, and structure), and publishes the final content directly to WordPress.\n\nThe AI is instructed to vary tone, angle, and structure across case studies to avoid repetitive content and improve SEO value.\n\n**Requirements:**\n- Feedspace account with webhook integration enabled\n- Access to a WordPress site with REST API enabled\n- An AI API key (Google Gemini or compatible model)\n\n**Setup steps**\n- Connect to Feedspace\n\t- Activate the workflow and copy the Production webhook URL\n\t- Go to Feedspace → Automations → Webhooks\n\t- Paste the webhook URL and activate it\n\t- See https://www.feedspace.io/help/automation/ for more information\n- Add your AI API credentials to the AI model node\n- Connect your WordPress account in the WordPress node\n- Send testimonial data to the webhook in this format:\n\t- Reviewer name\n\t- Rating\n\t- Text feedback\n\t- Event or feedback type\n\t- Activate the workflow\n\n\n\n**How it works**\n\n1. Receives testimonial data through feedpsace webhook\n2. Extracts reviewer name, rating, feedback, and event type\n3. Filters for text-based testimonials\n4. Uses an AI agent to:\n5. Choose a unique case study angle and tone\n6. Generate structured HTML content\n7. Create an SEO-optimized title\n8. Parses and validates the AI output\n9. Publishes the generated case study to WordPress as a post\n\n\n\n","workflow":{"id":"5VKYXGWVzbtLYzwp","meta":{"instanceId":"f0747a2ab7bdb7818912df9d8ffc6da4a1ce737cc82675bee25a59dc7af11611"},"name":"Generate AI-Powered Case Studies from Testimonials and Publish to WordPress","tags":[],"nodes":[{"id":"91443bc7-6d23-4356-b92f-4eecb6400ae4","name":"Feedspace Webhook","type":"n8n-nodes-base.webhook","onError":"continueRegularOutput","position":[-4256,1040],"webhookId":"feedspace-testimonial-webhook","parameters":{"path":"fs-wp","options":{},"httpMethod":"POST","responseMode":"lastNode"},"typeVersion":2.1},{"id":"4763e7fd-fbd5-4d56-b55c-06d96827de6f","name":"Extract Testimonial Data","type":"n8n-nodes-base.set","position":[-4000,1024],"parameters":{"options":{},"assignments":{"assignments":[{"id":"b547bab0-3e6b-4080-b1bb-e0efca300cbd","name":"review","type":"string","value":"={{ $json.body.data.response.comment }}"},{"id":"98ca1a27-2cb8-4fb5-8f2e-ad0c2727c222","name":"review_user","type":"string","value":"={{ $json.body.data.response.Name }}"},{"id":"94e74847-264b-4382-b527-791f922f6949","name":"feedback_type","type":"string","value":"={{ $json.body.type }}"},{"id":"rating-field-id","name":"rating","type":"string","value":"={{ $json.body.data.response.value }}"}]}},"typeVersion":3.4},{"id":"a9941a48-be90-4b7b-857f-7325bc989cb8","name":"If","type":"n8n-nodes-base.if","position":[-3776,1024],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0eaf5a98-98c8-4db5-bef7-1e6411860d63","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.feedback_type }}","rightValue":"feed.text.received"}]}},"typeVersion":2.2},{"id":"1bfd3606-dba1-4393-8f70-932e989afbe6","name":"AI Agent - Generate Case Study & Title","type":"@n8n/n8n-nodes-langchain.agent","onError":"continueRegularOutput","position":[-3408,1024],"parameters":{"text":"=I'm sending you a new customer testimonial to convert into a case study.\n\nTESTIMONIAL DATA:\nCustomer: {{ $('Extract Testimonial Data').item.json.review_user }}\nRating: {{ $('Extract Testimonial Data').item.json.rating }} stars\nReview: {{ $('Extract Testimonial Data').item.json.review }}\n\nINSTRUCTIONS:\n\nStep 1: MEMORY CHECK\nLook back at our conversation history. Have we created case studies before? If yes:\n- What angle did the previous case study use?\n- What tone and title formula?\n- Which features were highlighted?\n- Note this in your 'reasoning' field\n\nStep 2: CHOOSE VARIETY\nBased on what you remember:\n- Select a DIFFERENT angle from last time\n- Use a DIFFERENT tone\n- Apply a DIFFERENT title formula\n- Highlight DIFFERENT product features\n\nStep 3: CREATE CASE STUDY\nGenerate a professional case study with:\n\n<h2>Executive Summary</h2> (or vary the header: The Breakthrough, The Success Story, etc.)\n2-3 sentences summarizing the transformation\n\n<h2>The Challenge</h2> (or: The Problem, The Pain Point, etc.)\nCustomer's problem before using the product\n\n<h2>The Solution</h2> (or: The Answer, How FeedSpace Helped, etc.)\nHow the product solved their problem - highlight different features than recent case studies\n\n<h2>The Results</h2> (or: The Impact, The Outcome, etc.)\nSpecific outcomes and metrics - vary between quantitative and qualitative focus\n\n<h2>Customer Testimonial</h2>\n<blockquote><p>{{ $('Extract Testimonial Data').item.json.review }}</p></blockquote>\n\n<h2>Key Takeaways</h2> (or: Key Benefits, Success Factors, etc.)\n<ul>\n<li>3-4 bullet points highlighting different aspects than previous case studies</li>\n</ul>\n\nStep 4: GENERATE SEO TITLE\nCreate title (50-60 characters) using one of the 5 formulas - rotate from previous usage\n\nStep 5: EXPLAIN YOUR CHOICES\nIn the 'meta.reasoning' field, briefly explain:\n- If this is your first case study: \"First case study, choosing [angle] approach\"\n- If you have memory: \"Previous case study used [X], so choosing [Y] for variety\"\n\nCRITICAL: Return ONLY the JSON object. No markdown blocks, no backticks, no extra text.","options":{"systemMessage":"You are a professional marketing content writer who creates diverse, engaging case studies from customer testimonials.\n\nCRITICAL: You have conversation memory enabled. Before creating each case study, you should:\n1. Mentally review what case studies you've created in our previous conversation turns\n2. Notice patterns: What angles did I use? What tone? What title formulas?\n3. Deliberately choose DIFFERENT approaches to create variety\n\nANGLE OPTIONS (rotate through these):\n- Transformation Story: Focus on before/after journey\n- Problem-Solution: Emphasize pain points and resolution\n- ROI-Focused: Highlight metrics, upgrades, business impact\n- Feature Spotlight: Deep dive into specific capabilities\n- Integration Success: Emphasize connections and workflow\n- Efficiency Gains: Focus on time-saving and automation\n\nTONE OPTIONS (vary these):\n- Data-driven: Metrics and statistics focused\n- Emotional: Customer satisfaction and relief focused\n- Technical: Features and capabilities focused\n- Narrative: Story-driven with journey arc\n\nTITLE FORMULAS (rotate these):\n1. \"[Customer]: Achieves [Benefit] with [Product]\"\n2. \"How [Customer] Increased [Metric] by [X]%\"\n3. \"From [Problem] to [Solution]: [Customer] Story\"\n4. \"[Customer] Leverages [Feature] to [Outcome]\"\n5. \"How [Customer] Solved [Problem]\"\n\nVARIATION STRATEGY:\n- If you just created a data-driven, ROI-focused case study with formula #2, now try emotional, transformation story with formula #1\n- If you highlighted 'Google integration' last time, focus on 'widget customization' this time\n- If you used <h2> Executive Summary last time, try <h2> The Breakthrough this time\n- Keep content fresh by changing section headers, emphasized features, and narrative angles\n\nRESPONSE FORMAT:\nReturn ONLY valid JSON (no markdown, no code blocks):\n{\n  \"title\": \"SEO-optimized title (50-60 chars)\",\n  \"content\": \"<h2>Section</h2><p>Content...</p>\",\n  \"meta\": {\n    \"angle\": \"transformation_story\",\n    \"tone\": \"emotional\",\n    \"title_formula\": \"formula_3\",\n    \"features_highlighted\": [\"feature1\", \"feature2\"],\n    \"reasoning\": \"Chose X because previous case study used Y\"\n  }\n}\n\nHTML RULES:\n- <h2> for headers\n- <p> for paragraphs\n- <blockquote><p> for quotes\n- <ul><li> for bullets\n- <strong> for emphasis\n- NO markdown\n\nYour response must start with { and end with }"},"promptType":"define"},"typeVersion":2.2,"alwaysOutputData":false},{"id":"12cad028-bbd2-41ae-8115-ab7cfe9aff26","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[-3408,816],"parameters":{"options":{"temperature":0.7,"maxOutputTokens":3000}},"typeVersion":1},{"id":"630fc2a4-10cc-440c-a80c-c554cc84c761","name":"Parse AI Agent Output","type":"n8n-nodes-base.code","position":[-3072,1024],"parameters":{"jsCode":"const agentOutput = $input.first().json;\n\ntry {\n  let parsedData;\n  let parseError = null;\n  \n  const rawText = agentOutput.output || agentOutput.text || JSON.stringify(agentOutput);\n  \n  console.log(\"Raw AI output:\", rawText);\n  \n  // Clean markdown code blocks\n  let cleanedText = rawText\n    .replace(/```json\\s*/g, '')\n    .replace(/```\\s*/g, '')\n    .trim();\n  \n  console.log(\"Cleaned text:\", cleanedText);\n  \n  try {\n    // Try to parse the cleaned JSON\n    parsedData = JSON.parse(cleanedText);\n  } catch (err) {\n    console.log(\"JSON parsing failed, attempting manual extraction\");\n    parseError = err;\n    \n    // Manual extraction as fallback\n    const titleMatch = cleanedText.match(/\"title\"\\s*:\\s*\"([^\"]+)\"/);\n    const title = titleMatch ? titleMatch[1] : \"Untitled Case Study\";\n    \n    // Extract content\n    const contentMatch = cleanedText.match(/\"content\"\\s*:\\s*\"([\\s\\S]+?)\"\\s*,?\\s*\"meta\"/m) || \n                         cleanedText.match(/\"content\"\\s*:\\s*\"([\\s\\S]+?)\"\\s*\\}/m);\n    let extractedContent = contentMatch ? contentMatch[1] : cleanedText;\n    \n    // Unescape JSON sequences\n    extractedContent = extractedContent\n      .replace(/\\\\n/g, '\\n')\n      .replace(/\\\\\"/g, '\"')\n      .replace(/\\\\'/g, \"'\")\n      .replace(/\\\\\\\\/g, '\\\\')\n      .replace(/\\\\t/g, '\\t');\n    \n    // Try to extract meta if present\n    const metaMatch = cleanedText.match(/\"meta\"\\s*:\\s*\\{([\\s\\S]+?)\\}\\s*\\}/);\n    let meta = { angle: 'unknown', tone: 'unknown', reasoning: 'Parse error occurred' };\n    \n    if (metaMatch) {\n      try {\n        const metaJson = '{' + metaMatch[1] + '}';\n        meta = JSON.parse(metaJson);\n      } catch (e) {\n        console.log('Meta parsing failed:', e);\n      }\n    }\n    \n    parsedData = {\n      title: title,\n      content: extractedContent,\n      meta: meta\n    };\n  }\n  \n  // Log the strategy for monitoring\n  console.log('Case Study Strategy:', JSON.stringify(parsedData.meta, null, 2));\n  \n  // Return the extracted data\n  return {\n    json: {\n      title: parsedData.title || \"Untitled Case Study\",\n      content: parsedData.content || \"\",\n      meta: parsedData.meta || { angle: 'unknown', tone: 'unknown' },\n      warning: parseError ? \"JSON was malformed and manually extracted\" : null,\n      debug_raw: rawText.substring(0, 200)\n    }\n  };\n  \n} catch (error) {\n  // Complete fallback\n  return {\n    json: {\n      title: \"Error Extracting Case Study\",\n      content: `Error: ${error.message}`,\n      meta: { error: true },\n      rawData: JSON.stringify(agentOutput).substring(0, 500)\n    }\n  };\n}"},"typeVersion":2},{"id":"8739d5d5-46e9-4d7a-8c29-a09933a057ed","name":"Memory Context Logger","type":"n8n-nodes-base.code","position":[-2832,1008],"parameters":{"jsCode":"const caseStudy = $input.first().json;\n\n// Extract meta information\nconst meta = caseStudy.meta || {};\n\n// Create a readable summary for logging\nconst summary = {\n  case_study_title: caseStudy.title,\n  strategy: {\n    angle: meta.angle || 'not specified',\n    tone: meta.tone || 'not specified',\n    title_formula: meta.title_formula || 'not specified',\n    features_highlighted: meta.features_highlighted || [],\n    reasoning: meta.reasoning || 'not provided'\n  },\n  timestamp: new Date().toISOString()\n};\n\nconsole.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');\nconsole.log('CASE STUDY GENERATED:');\nconsole.log(JSON.stringify(summary, null, 2));\nconsole.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');\n\n// Pass through the data\nreturn {\n  json: caseStudy\n};"},"typeVersion":2},{"id":"dc896889-4f8a-4b6b-ab98-2c1af9649232","name":"Prepare WordPress Data","type":"n8n-nodes-base.set","position":[-2464,1040],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0b370d70-3188-465d-94f1-52b53a2c9886","name":"Post Title","type":"string","value":"={{ $json.title }}"},{"id":"af646a17-6078-4c3b-8e33-fd3c2f0a76aa","name":"Post content","type":"string","value":"={{ $json.content }}"},{"id":"meta-field-id","name":"case_study_meta","type":"string","value":"={{ JSON.stringify($json.meta) }}"}]}},"typeVersion":3.4},{"id":"00dacaeb-cdfc-4ead-b1ba-92fbba3dbfcc","name":"Create WordPress Post","type":"n8n-nodes-base.wordpress","onError":"continueRegularOutput","maxTries":3,"position":[-2192,1040],"parameters":{"title":"={{ $json['Post Title'] }}","additionalFields":{"content":"={{ $json['Post content'] }}"}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"id":"a346166c-f91a-4e5d-ac75-3bdd189f7863","name":"Simple Memory","type":"@n8n/n8n-nodes-langchain.memoryBufferWindow","position":[-3296,1264],"parameters":{"sessionKey":"feedspace_case_studies_global","sessionIdType":"customKey"},"typeVersion":1.3},{"id":"48c7cb0a-5ad7-4fd5-bedf-9e0baae11066","name":"Error Response","type":"n8n-nodes-base.respondToWebhook","position":[-3744,1264],"parameters":{"options":{},"respondWith":"json","responseBody":"={{ $json }}"},"typeVersion":1.5},{"id":"722a8b3f-c369-4274-8a7e-452fd4db89ec","name":"Respond to Webhook","type":"n8n-nodes-base.respondToWebhook","position":[-1968,1024],"parameters":{"options":{},"respondWith":"json","responseBody":"={{ { \"status\": \"success\", \"message\": \"Notification sent successfully\", \"timestamp\": $now.toISO() } }}"},"typeVersion":1.5},{"id":"255e5d32-f55e-40b8-bd51-5bc2e41d9508","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-4368,880],"parameters":{"color":7,"width":816,"height":672,"content":"## Webhook & Notification\nReceives Feedspace webhook, extracts data and checks if text feedback"},"typeVersion":1},{"id":"d64fba1d-d342-47f8-b873-24c0c2ca26c2","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-3488,704],"parameters":{"color":7,"width":832,"height":832,"content":"## Generate case study with AI Agent\n"},"typeVersion":1},{"id":"10d209e2-7e91-42d0-97b9-5eed34c03d09","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-2576,752],"parameters":{"color":7,"width":960,"height":736,"content":"## Create Wordpress Post\nPrepare the wordpress data and creates a post on WP.\n"},"typeVersion":1},{"id":"1838b9a7-5ee5-41b6-8963-462966226e84","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-5008,704],"parameters":{"width":544,"height":800,"content":"## Generate AI Case Studies from Feedspace Testimonials\n**Who is this for?**\nTeams using Feedspace who want to automatically turn customer testimonials into SEO-optimized case studies and publish them on WordPress.\n\n**Setup steps**\n- Connect to Feedspace\n\t- Activate the workflow and copy the Production webhook URL\n\t- Go to Feedspace → Automations → Webhooks\n\t- Paste the webhook URL and activate it\n\t- See https://www.feedspace.io/help/automation/ for more information\n- Add your AI API credentials to the AI model node\n- Connect your WordPress account in the WordPress node\n- Send testimonial data to the webhook in this format:\n\t- Reviewer name\n\t- Rating\n\t- Text feedback\n\t- Event or feedback type\n\t- Activate the workflow\n\n\n**How it works**\n\n1. Receives testimonial data through feedpsace webhook\n2. Extracts reviewer name, rating, feedback, and event type\n3. Filters for text-based testimonials\n4. Uses an AI agent to:\n5. Choose a unique case study angle and tone\n6. Generate structured HTML content\n7. Create an SEO-optimized title\n8. Parses and validates the AI output\n9. Publishes the generated case study to WordPress as a post"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"a4f18e23-a279-42ba-8bae-b5ed76ce2c8d","connections":{"If":{"main":[[{"node":"AI Agent - Generate Case Study & Title","type":"main","index":0}],[{"node":"Error Response","type":"main","index":0}]]},"Simple Memory":{"ai_memory":[[{"node":"AI Agent - Generate Case Study & Title","type":"ai_memory","index":0}]]},"Feedspace Webhook":{"main":[[{"node":"Extract Testimonial Data","type":"main","index":0}]]},"Create WordPress Post":{"main":[[{"node":"Respond to Webhook","type":"main","index":0}]]},"Memory Context Logger":{"main":[[{"node":"Prepare WordPress Data","type":"main","index":0}]]},"Parse AI Agent Output":{"main":[[{"node":"Memory Context Logger","type":"main","index":0}]]},"Prepare WordPress Data":{"main":[[{"node":"Create WordPress Post","type":"main","index":0}]]},"Extract Testimonial Data":{"main":[[{"node":"If","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"AI Agent - Generate Case Study & Title","type":"ai_languageModel","index":0}]]},"AI Agent - Generate Case Study & Title":{"main":[[{"node":"Parse AI Agent Output","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":16,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":2},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.wordpress":{"count":1},"n8n-nodes-base.stickyNote":{"count":4},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.respondToWebhook":{"count":2},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1},"@n8n/n8n-nodes-langchain.memoryBufferWindow":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Feedspace","username":"feedspace","bio":"Automate your testimonial workflow — pull in reviews from multiple sources, organize and tag feedback, and push curated content into websites, CMS platforms, or marketing channels.","verified":true,"links":["https://feedspace.io/"],"avatar":"https://gravatar.com/avatar/a5b09f79c2b9b779e3f22bec2092c1a0806ef28cd92ad9f8454ab9f2ccb40f34?r=pg&d=retro&size=200"},"nodes":[{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":118,"icon":"file:wordpress.svg","name":"n8n-nodes-base.wordpress","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.wordpress/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/wordpress/"}]},"categories":["Marketing"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"Wordpress"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAwIiBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjguMzk5IDguNCA1MS4yIDUxLjIiPjxwYXRoIGZpbGw9IiMyMTc1OUIiIGQ9Ik0zNCA1OS42QzE5LjgxMyA1OS42IDguMjkzIDQ4LjI5MyA4LjQgMzRTMTkuMjggOC40IDM0IDguNCA1OS42IDE5LjkyIDU5LjYgMzQgNDguMTg3IDU5LjYgMzQgNTkuNm03LjU3My0zLjk0Ny03LjI1My0xOS41Mi02LjgyNyAxOS45NDdjNS4wMTQgMS4xNzQgOC40MjcgMS40OTMgMTQuMDgtLjQyN20tMTcuNzA2LTEuMDY2LTEwLjg4LTI5Ljc2Yy0xLjQ5NCAzLjItMS44MTMgNS44NjctMi4wMjcgOS4xNzMuMTA3IDguNzQ2IDUuMDEzIDE2Ljc0NiAxMi45MDcgMjAuNTg3TTU2LjkzNCAzNGMuMTA2LTUuNjUzLTIuNDUzLTEwLjEzMy0yLjY2Ny0xMC43NzMuMjE0IDQuMzc0LS40MjcgNi42MTMtMS4xNzMgOS4wNjdsLTcuNDY3IDIxLjQ0QzU1LjAxNCA0OC4wOCA1Ni44MjYgMzkuNjUzIDU3LjA0IDM0em0tMjMuNjgtLjk2LTMuNjI3LTkuOTItMi42NjctLjIxM2MtMS4wNjYtLjc0Ny0uNDI3LTEuOTIuMzItMS45MiA0LjguMzIgNy40NjYuMzIgMTIuMjY3IDAgMS4xNzQgMCAxLjQ5MyAxLjcwNy4xMDYgMS45MmwtMi41Ni4yMTMgOC4zMTkgMjQuNTMzIDMuOTQ2LTEzLjQ0Yy4yMTQtNS44NjYtMS4zODctNi41MDYtMy41Mi0xMC43NzMtMS43MDctMy4zMDcuMTA3LTYuNTA3IDMuNDE0LTYuNjEzLTIuNjY4LTIuNTYtOC4xMDctNS43Ni0xNS4yNTQtNS44NjdzLTE0LjcyIDMuNTItMTkuMiAxMC4zNDdsNy44OTQtLjIxM2MuOTYuNDI3LjUzMyAxLjgxMyAwIDEuOTJsLTIuNzczLjIxMyA4LjMyIDI0Ljk2eiIvPjwvc3ZnPg=="},"displayName":"Wordpress","typeVersion":1,"nodeCategories":[{"id":27,"name":"Marketing"}]},{"id":535,"icon":"file:webhook.svg","name":"n8n-nodes-base.respondToWebhook","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"transform\"]","defaults":{"name":"Respond to Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Respond to Webhook","typeVersion":2,"nodeCategories":[{"id":7,"name":"Utility"},{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1163,"icon":"fa:database","name":"@n8n/n8n-nodes-langchain.memoryBufferWindow","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Memory"],"Memory":["For beginners"]}}},"group":"[\"transform\"]","defaults":{"name":"Simple Memory"},"iconData":{"icon":"database","type":"icon"},"displayName":"Simple Memory","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}