{"workflow":{"id":14916,"name":"Collect and publish customer testimonials with Claude, email, CRM and review sites","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-08T13:29:54.396Z","description":"This workflow automatically collects, processes, and publishes customer testimonials and reviews after project completion or purchase. It uses AI to generate polished testimonials from raw feedback and distributes them across your marketing channels.\n\n### How it works\n\n1. **Trigger** - Detects project completion, purchase, or manual trigger\n2. **Customer Lookup** - Fetches customer details from CRM/database\n3. **Smart Timing Check** - Determines optimal follow-up timing based on purchase/completion date\n4. **Send Feedback Request** - Sends personalized email/SMS requesting review\n5. **Track Form Submissions** - Monitors feedback form responses\n6. **Sentiment Analysis** - AI analyzes feedback sentiment and quality\n7. **Generate Polished Testimonial** - Claude AI converts raw feedback into professional testimonials\n8. **Quality Filter** - Filters testimonials based on rating and sentiment\n9. **Format for Channels** - Prepares testimonials for different platforms\n10. **Publish to Website** - Auto-posts to WordPress/Webflow/custom CMS\n11. **Post to Social Proof Tools** - Sends to Trustpilot, Google Reviews, testimonial widgets\n12. **Update CRM** - Logs testimonial status in customer records\n13. **Send Thank You** - Automated appreciation message to customer\n14. **Analytics Dashboard** - Tracks collection rates and testimonial performance\n\n### Setup Steps\n\n1. Import workflow into n8n\n2. Configure credentials:\n   - **Anthropic API** - Claude AI for testimonial generation\n   - **CRM Integration** - HubSpot/Salesforce/Airtable for customer data\n   - **Email Service** - SendGrid/Mailgun for follow-up emails\n   - **SMS Provider** - Twilio for SMS reminders\n   - **Website CMS** - WordPress/Webflow API for publishing\n   - **Social Proof Tools** - Trustpilot, Google My Business, Yotpo\n   - **Form Builder** - Typeform/Google Forms for feedback collection\n3. Set your timing rules (e.g., 7 days after purchase)\n4. Configure AI testimonial generation prompts\n5. Set quality thresholds (minimum 4-star rating)\n6. Map testimonial fields to your website/tools\n7. Activate the workflow\n\n### Sample Trigger Payload\n```json\n{\n  \"customerId\": \"CUST-12345\",\n  \"customerEmail\": \"john@example.com\",\n  \"customerName\": \"John Smith\",\n  \"projectType\": \"Website Development\",\n  \"completionDate\": \"2024-04-01\",\n  \"projectValue\": 5000,\n  \"followUpDelay\": 7,\n  \"preferredChannel\": \"email\"\n}\n```\n\n### AI Testimonial Generation Features\n- Converts casual feedback into professional testimonials\n- Maintains authenticity while improving clarity\n- Generates multiple versions for different platforms\n- Extracts key benefits and outcomes mentioned\n- Creates compelling headlines from feedback\n- Suggests best quotes for marketing materials\n\n### Publishing Channels\n- Website testimonial sections (auto-inject HTML)\n- Google My Business reviews\n- Trustpilot/G2/Capterra\n- Social media testimonial posts\n- Email signature testimonials\n- Case study content\n- Landing page social proof widgets\n\n### Smart Features\n- Multi-touch follow-up sequences (email → SMS → reminder)\n- Optimal timing based on customer journey stage\n- Personalized feedback requests with project context\n- Automatic language detection and translation\n- Video testimonial collection via integrated forms\n- Screenshot/photo attachment handling\n- Auto-detection of negative feedback for internal review\n- A/B testing of follow-up messaging\n- Response rate tracking and optimization","workflow":{"id":"oHOypWGqJ2ss3UTc","meta":{"instanceId":"dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281","templateCredsSetupCompleted":true},"name":"Automated Testimonial & Review Collector","tags":[],"nodes":[{"id":"7d97d219-5f0f-4a3f-a8e1-f25a3cab644b","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[0,-544],"parameters":{"width":920,"height":1884,"content":"## Automated Testimonial & Review Collector\n\nThis workflow automatically collects, processes, and publishes customer testimonials and reviews after project completion or purchase. It uses AI to generate polished testimonials from raw feedback and distributes them across your marketing channels.\n\n### How it works\n\n1. **Trigger** - Detects project completion, purchase, or manual trigger\n2. **Customer Lookup** - Fetches customer details from CRM/database\n3. **Smart Timing Check** - Determines optimal follow-up timing based on purchase/completion date\n4. **Send Feedback Request** - Sends personalized email/SMS requesting review\n5. **Track Form Submissions** - Monitors feedback form responses\n6. **Sentiment Analysis** - AI analyzes feedback sentiment and quality\n7. **Generate Polished Testimonial** - Claude AI converts raw feedback into professional testimonials\n8. **Quality Filter** - Filters testimonials based on rating and sentiment\n9. **Format for Channels** - Prepares testimonials for different platforms\n10. **Publish to Website** - Auto-posts to WordPress/Webflow/custom CMS\n11. **Post to Social Proof Tools** - Sends to Trustpilot, Google Reviews, testimonial widgets\n12. **Update CRM** - Logs testimonial status in customer records\n13. **Send Thank You** - Automated appreciation message to customer\n14. **Analytics Dashboard** - Tracks collection rates and testimonial performance\n\n### Setup Steps\n\n1. Import workflow into n8n\n2. Configure credentials:\n   - **Anthropic API** - Claude AI for testimonial generation\n   - **CRM Integration** - HubSpot/Salesforce/Airtable for customer data\n   - **Email Service** - SendGrid/Mailgun for follow-up emails\n   - **SMS Provider** - Twilio for SMS reminders\n   - **Website CMS** - WordPress/Webflow API for publishing\n   - **Social Proof Tools** - Trustpilot, Google My Business, Yotpo\n   - **Form Builder** - Typeform/Google Forms for feedback collection\n3. Set your timing rules (e.g., 7 days after purchase)\n4. Configure AI testimonial generation prompts\n5. Set quality thresholds (minimum 4-star rating)\n6. Map testimonial fields to your website/tools\n7. Activate the workflow\n\n### Sample Trigger Payload\n```json\n{\n  \"customerId\": \"CUST-12345\",\n  \"customerEmail\": \"john@example.com\",\n  \"customerName\": \"John Smith\",\n  \"projectType\": \"Website Development\",\n  \"completionDate\": \"2024-04-01\",\n  \"projectValue\": 5000,\n  \"followUpDelay\": 7,\n  \"preferredChannel\": \"email\"\n}\n```\n\n### AI Testimonial Generation Features\n- Converts casual feedback into professional testimonials\n- Maintains authenticity while improving clarity\n- Generates multiple versions for different platforms\n- Extracts key benefits and outcomes mentioned\n- Creates compelling headlines from feedback\n- Suggests best quotes for marketing materials\n\n### Publishing Channels\n- Website testimonial sections (auto-inject HTML)\n- Google My Business reviews\n- Trustpilot/G2/Capterra\n- Social media testimonial posts\n- Email signature testimonials\n- Case study content\n- Landing page social proof widgets\n\n### Smart Features\n- Multi-touch follow-up sequences (email → SMS → reminder)\n- Optimal timing based on customer journey stage\n- Personalized feedback requests with project context\n- Automatic language detection and translation\n- Video testimonial collection via integrated forms\n- Screenshot/photo attachment handling\n- Auto-detection of negative feedback for internal review\n- A/B testing of follow-up messaging\n- Response rate tracking and optimization"},"typeVersion":1},{"id":"2b655dc1-2576-499d-8347-c90a11e06672","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[992,-48],"parameters":{"color":4,"width":640,"height":500,"content":"## 1. Trigger & Customer Data"},"typeVersion":1},{"id":"592db6ef-09dc-49a6-8228-5fa6e1033e9f","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1694,-252],"parameters":{"color":4,"width":836,"height":700,"content":"## 2. Smart Follow-up & Feedback Collection"},"typeVersion":1},{"id":"c6b51cab-9103-45d5-83d7-bf65a08d5c5a","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[992,496],"parameters":{"color":3,"width":792,"height":684,"content":"## 3. AI Processing & Enhancement (Claude)"},"typeVersion":1},{"id":"82d2f881-8dd6-457b-b244-002463ede322","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1822,504],"parameters":{"color":3,"width":1412,"height":728,"content":"## 4. Publish, Distribute & Track"},"typeVersion":1},{"id":"ec5a88ea-58e9-4514-866b-1f68af9641d3","name":"Webhook Trigger - Project Completion","type":"n8n-nodes-base.webhook","position":[1056,288],"webhookId":"aef96675-716a-4176-acfc-357c16a53099","parameters":{"path":"testimonial-trigger","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":1.1},{"id":"96cdf67a-07d6-4d62-8303-7423f20d2e23","name":"Daily Batch Check","type":"n8n-nodes-base.scheduleTrigger","position":[1056,96],"parameters":{"rule":{"interval":[{"field":"cronExpression","expression":"0 9 * * *"}]}},"typeVersion":1.2},{"id":"9d4d0310-a176-4ee6-afa2-9d8538d00628","name":"Prepare Customer Context","type":"n8n-nodes-base.set","position":[1280,192],"parameters":{"options":{},"assignments":{"assignments":[{"id":"customer-id","name":"customerId","type":"string","value":"={{ $json.body?.customerId || $json.customerId || 'MANUAL-' + Date.now() }}"},{"id":"customer-email","name":"customerEmail","type":"string","value":"={{ $json.body?.customerEmail || $json.customerEmail }}"},{"id":"customer-name","name":"customerName","type":"string","value":"={{ $json.body?.customerName || $json.customerName }}"},{"id":"project-type","name":"projectType","type":"string","value":"={{ $json.body?.projectType || $json.projectType || 'General Service' }}"},{"id":"completion-date","name":"completionDate","type":"string","value":"={{ $json.body?.completionDate || $json.completionDate || new Date().toISOString() }}"},{"id":"followup-days","name":"followUpDelay","type":"number","value":"={{ $json.body?.followUpDelay || 7 }}"},{"id":"preferred-channel","name":"preferredChannel","type":"string","value":"={{ $json.body?.preferredChannel || 'email' }}"},{"id":"job-id","name":"jobId","type":"string","value":"=REVIEW-{{ Date.now() }}-{{ Math.random().toString(36).substr(2, 6).toUpperCase() }}"}]}},"typeVersion":3.4},{"id":"ddbd4822-9e47-4812-bf45-d59b303a8fd9","name":"Fetch Full Customer Profile from CRM","type":"n8n-nodes-base.httpRequest","position":[1504,192],"parameters":{"url":"=https://api.hubspot.com/crm/v3/objects/contacts/{{ $json.customerId }}","options":{"timeout":10000},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"74fa2fa2-24d5-47cf-b2ab-a6c44c2900b0","name":"Check Optimal Follow-up Timing","type":"n8n-nodes-base.code","position":[1728,192],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Determine if now is the right time to send follow-up\nconst context = $input.item.json;\nconst completionDate = new Date(context.completionDate);\nconst now = new Date();\nconst daysSinceCompletion = Math.floor((now - completionDate) / (1000 * 60 * 60 * 24));\nconst targetDelay = context.followUpDelay || 7;\n\n// Check if we're within the follow-up window\nconst isReadyForFollowup = daysSinceCompletion >= targetDelay && daysSinceCompletion <= targetDelay + 3;\n\n// Fetch CRM data if available\nconst crmData = $('Fetch Full Customer Profile from CRM').item?.json?.properties || {};\nconst hasGivenReview = crmData.testimonial_submitted === 'true';\n\nreturn {\n  json: {\n    ...context,\n    customerData: {\n      email: context.customerEmail,\n      name: context.customerName,\n      phone: crmData.phone || null,\n      company: crmData.company || null,\n      industry: crmData.industry || null,\n      totalPurchases: parseInt(crmData.total_purchases) || 1,\n      lifetimeValue: parseFloat(crmData.lifetime_value) || 0\n    },\n    timing: {\n      completionDate: completionDate.toISOString(),\n      daysSinceCompletion,\n      targetDelay,\n      isReadyForFollowup,\n      hasAlreadyReviewed: hasGivenReview,\n      shouldSendFollowup: isReadyForFollowup && !hasGivenReview\n    },\n    projectContext: {\n      type: context.projectType,\n      description: crmData.last_project_description || `${context.projectType} project`,\n      outcome: crmData.project_outcome || 'Successfully completed',\n      deliverables: crmData.project_deliverables?.split(',') || []\n    },\n    processedAt: new Date().toISOString()\n  }\n};"},"typeVersion":2},{"id":"9d665f13-302f-4232-8f7b-b64594da2988","name":"Filter Ready for Follow-up","type":"n8n-nodes-base.filter","position":[1952,192],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"boolean","operation":"true"},"leftValue":"={{ $json.timing.shouldSendFollowup }}"},{"operator":{"type":"string","operation":"exists"},"leftValue":"={{ $json.customerData.email }}"}]}},"typeVersion":2.2},{"id":"5e21bf1c-0d45-41e6-98f1-4d7c4230e5a0","name":"Generate Personalized Feedback Form","type":"n8n-nodes-base.httpRequest","position":[2176,96],"parameters":{"url":"https://api.typeform.com/forms","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"title\": \"How was your {{ $json.projectContext.type }} experience?\",\n  \"fields\": [\n    {\n      \"type\": \"opinion_scale\",\n      \"title\": \"How satisfied are you with our service?\",\n      \"properties\": {\n        \"start_at_one\": true,\n        \"steps\": 5,\n        \"labels\": {\n          \"left\": \"Not satisfied\",\n          \"right\": \"Extremely satisfied\"\n        }\n      },\n      \"required\": true\n    },\n    {\n      \"type\": \"long_text\",\n      \"title\": \"What did you like most about working with us?\",\n      \"required\": true\n    },\n    {\n      \"type\": \"long_text\",\n      \"title\": \"What specific results or outcomes did you achieve?\",\n      \"required\": false\n    },\n    {\n      \"type\": \"yes_no\",\n      \"title\": \"Would you recommend us to others?\",\n      \"required\": true\n    },\n    {\n      \"type\": \"long_text\",\n      \"title\": \"Any additional feedback or suggestions?\",\n      \"required\": false\n    }\n  ],\n  \"hidden\": [\n    \"customer_id={{ $json.customerId }}\",\n    \"project_type={{ $json.projectContext.type }}\"\n  ]\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"391a9654-395d-4b88-8494-0890af98f558","name":"Send Feedback Request Email","type":"n8n-nodes-base.httpRequest","position":[2176,288],"parameters":{"url":"https://api.sendgrid.com/v3/mail/send","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"personalizations\": [{\n    \"to\": [{\"email\": \"{{ $json.customerData.email }}\", \"name\": \"{{ $json.customerData.name }}\"}],\n    \"dynamic_template_data\": {\n      \"customer_name\": \"{{ $json.customerData.name }}\",\n      \"project_type\": \"{{ $json.projectContext.type }}\",\n      \"completion_date\": \"{{ new Date($json.timing.completionDate).toLocaleDateString() }}\",\n      \"feedback_form_url\": \"{{ $('Generate Personalized Feedback Form').item.json.form_url || 'https://form.example.com/feedback' }}\",\n      \"company_name\": \"Your Company\"\n    }\n  }],\n  \"from\": {\"email\": \"reviews@yourcompany.com\", \"name\": \"Your Company Team\"},\n  \"template_id\": \"YOUR_SENDGRID_TEMPLATE_ID\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"807672f4-1fab-4bf7-828e-7b9453d332f5","name":"Webhook - Form Submission Received","type":"n8n-nodes-base.webhook","position":[1056,816],"webhookId":"de19a057-f3a3-4474-be52-2f1fb9f71016","parameters":{"path":"feedback-submission","options":{},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":1.1},{"id":"66675c6f-b2ea-4736-a49a-2d744060eaa1","name":"Parse Feedback Response","type":"n8n-nodes-base.code","position":[1280,816],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Parse incoming feedback form submission\nconst submission = $input.item.json;\nconst formData = submission.form_response || submission;\n\n// Extract answers (adapt based on your form platform)\nconst answers = formData.answers || [];\nconst rating = answers.find(a => a.type === 'opinion_scale')?.opinion_scale || 5;\nconst whatLiked = answers.find(a => a.field?.title?.includes('like most'))?.text || '';\nconst results = answers.find(a => a.field?.title?.includes('results'))?.text || '';\nconst wouldRecommend = answers.find(a => a.type === 'yes_no')?.boolean || true;\nconst additionalFeedback = answers.find(a => a.field?.title?.includes('additional'))?.text || '';\n\n// Extract hidden fields\nconst customerId = formData.hidden?.customer_id || 'UNKNOWN';\nconst projectType = formData.hidden?.project_type || 'General Service';\n\n// Combine all feedback text\nconst fullFeedback = [\n  whatLiked,\n  results,\n  additionalFeedback\n].filter(Boolean).join(' ');\n\nreturn {\n  json: {\n    submissionId: formData.response_id || `SUB-${Date.now()}`,\n    customerId,\n    projectType,\n    rating,\n    wouldRecommend,\n    feedback: {\n      whatLiked,\n      results,\n      additionalFeedback,\n      fullText: fullFeedback\n    },\n    metadata: {\n      submittedAt: formData.submitted_at || new Date().toISOString(),\n      formId: formData.form_id,\n      responseId: formData.response_id\n    },\n    rawSubmission: formData\n  }\n};"},"typeVersion":2},{"id":"83ef5b59-949a-44fd-851d-e9e4f675d8f5","name":"AI Sentiment & Quality Analysis","type":"@n8n/n8n-nodes-langchain.agent","position":[1504,512],"parameters":{"text":"=Analyze this customer feedback and provide a structured assessment.\n\n**Customer Feedback:**\nRating: {{ $json.rating }}/5 stars\nWould Recommend: {{ $json.wouldRecommend ? 'Yes' : 'No' }}\n\nWhat they liked: {{ $json.feedback.whatLiked }}\n\nResults achieved: {{ $json.feedback.results }}\n\nAdditional comments: {{ $json.feedback.additionalFeedback }}\n\n**Analysis Required:**\n1. Sentiment (VERY_POSITIVE, POSITIVE, NEUTRAL, NEGATIVE, VERY_NEGATIVE)\n2. Quality score (0-100) - how detailed and useful is this feedback?\n3. Key themes mentioned (max 5)\n4. Specific benefits/outcomes mentioned\n5. Emotional tone indicators\n6. Testimonial-worthy quotes (extract 1-3 best sentences)\n7. Suggestion for improvement areas mentioned\n8. Authenticity score (does it sound genuine?)\n\nReturn JSON only:\n{\n  \"sentiment\": \"POSITIVE\",\n  \"sentimentScore\": 85,\n  \"qualityScore\": 75,\n  \"keyThemes\": [\"professional service\", \"timely delivery\", \"great communication\"],\n  \"benefitsMentioned\": [\"increased sales by 40%\", \"saved 10 hours per week\"],\n  \"emotionalTone\": \"enthusiastic and grateful\",\n  \"bestQuotes\": [\"Working with them was a game-changer for our business\"],\n  \"improvementSuggestions\": [],\n  \"authenticityScore\": 90,\n  \"isTestimonialWorthy\": true,\n  \"reasoning\": \"Specific results, genuine enthusiasm, concrete benefits\"\n}","options":{"systemMessage":"You are an expert in analyzing customer feedback and testimonials. Return only valid JSON with no markdown formatting."},"promptType":"define"},"typeVersion":1.6},{"id":"b5fecc46-14b7-42e1-b266-52ff9aae2b1a","name":"Generate Polished Testimonial with Claude","type":"@n8n/n8n-nodes-langchain.agent","position":[1504,912],"parameters":{"text":"=Transform this raw customer feedback into professional testimonials while maintaining authenticity.\n\n**Raw Feedback:**\nRating: {{ $json.rating }}/5 stars\nCustomer: {{ $json.customerId }}\nProject: {{ $json.projectType }}\n\nFeedback: {{ $json.feedback.fullText }}\n\n**Sentiment Analysis:**\n{{ JSON.stringify($('AI Sentiment & Quality Analysis').item.json, null, 2) }}\n\n**Requirements:**\n1. Create 3 versions: Short (1 sentence), Medium (2-3 sentences), Long (paragraph)\n2. Maintain the customer's voice and authenticity\n3. Highlight specific results and benefits mentioned\n4. Make it compelling but truthful\n5. Include a headline/title for each version\n6. Suggest best use cases for each version\n\nReturn JSON only:\n{\n  \"testimonials\": {\n    \"short\": {\n      \"text\": \"One sentence testimonial\",\n      \"headline\": \"Great Results!\",\n      \"bestFor\": [\"social media\", \"email signatures\"]\n    },\n    \"medium\": {\n      \"text\": \"2-3 sentence testimonial\",\n      \"headline\": \"Transformed Our Business\",\n      \"bestFor\": [\"website homepage\", \"landing pages\"]\n    },\n    \"long\": {\n      \"text\": \"Full paragraph testimonial\",\n      \"headline\": \"A Game-Changing Partnership\",\n      \"bestFor\": [\"case studies\", \"detailed reviews\"]\n    }\n  },\n  \"pullQuote\": \"Most impactful single sentence\",\n  \"socialMediaPost\": \"Ready-to-post version with emojis\",\n  \"metaDescription\": \"SEO-friendly summary\",\n  \"keyBenefits\": [\"benefit 1\", \"benefit 2\"],\n  \"recommendedPlatforms\": [\"website\", \"google\", \"trustpilot\"],\n  \"contentRating\": \"family_friendly\"\n}","options":{"systemMessage":"You are an expert copywriter specializing in testimonials. Transform raw feedback into compelling, authentic testimonials that maintain the customer's voice. Return only valid JSON."},"promptType":"define"},"typeVersion":1.6},{"id":"d2467b46-4251-4299-aa67-b18e430ea2ce","name":"Claude AI Model","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[1576,736],"parameters":{"model":"=claude-sonnet-4-20250514","options":{"temperature":0.3}},"credentials":{"anthropicApi":{"id":"credential-id","name":"Anthropic account - test"}},"typeVersion":1},{"id":"d8b3bbdb-ebb0-4b97-957c-6f1f27f97aec","name":"Parse AI Generated Content","type":"n8n-nodes-base.code","position":[1856,816],"parameters":{"mode":"runOnceForEachItem","jsCode":"// Parse both sentiment analysis and testimonial generation\nconst sentimentResponse = $('AI Sentiment & Quality Analysis').item.json;\nconst testimonialResponse = $('Generate Polished Testimonial with Claude').item.json;\n\nconst originalFeedback = $('Parse Feedback Response').item.json;\n\n// Extract AI responses (handle different response formats)\nlet sentimentData, testimonialData;\n\ntry {\n  const sentimentText = sentimentResponse.response || sentimentResponse.output || sentimentResponse.text || '';\n  const cleanSentiment = sentimentText.replace(/```json\\s*/g, '').replace(/```\\s*/g, '').trim();\n  sentimentData = JSON.parse(cleanSentiment);\n} catch (e) {\n  sentimentData = {\n    sentiment: 'POSITIVE',\n    qualityScore: 70,\n    isTestimonialWorthy: true\n  };\n}\n\ntry {\n  const testimonialText = testimonialResponse.response || testimonialResponse.output || testimonialResponse.text || '';\n  const cleanTestimonial = testimonialText.replace(/```json\\s*/g, '').replace(/```\\s*/g, '').trim();\n  testimonialData = JSON.parse(cleanTestimonial);\n} catch (e) {\n  testimonialData = {\n    testimonials: {\n      short: { text: originalFeedback.feedback.fullText.substring(0, 100) }\n    }\n  };\n}\n\nreturn {\n  json: {\n    submissionId: originalFeedback.submissionId,\n    customerId: originalFeedback.customerId,\n    projectType: originalFeedback.projectType,\n    rating: originalFeedback.rating,\n    wouldRecommend: originalFeedback.wouldRecommend,\n    originalFeedback: originalFeedback.feedback,\n    sentimentAnalysis: sentimentData,\n    generatedTestimonials: testimonialData,\n    metadata: {\n      ...originalFeedback.metadata,\n      processedAt: new Date().toISOString()\n    }\n  }\n};"},"typeVersion":2},{"id":"50807ec9-88fc-4534-a2f1-e8a5ee4a1cb1","name":"Filter High-Quality Testimonials","type":"n8n-nodes-base.filter","position":[2080,720],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"number","operation":"gte"},"leftValue":"={{ $json.rating }}","rightValue":4},{"operator":{"type":"boolean","operation":"true"},"leftValue":"={{ $json.sentimentAnalysis.isTestimonialWorthy }}"},{"operator":{"type":"number","operation":"gte"},"leftValue":"={{ $json.sentimentAnalysis.qualityScore }}","rightValue":60}]}},"typeVersion":2.2},{"id":"228f1aad-94f3-4302-b919-557b8a8498b8","name":"Format for Publishing Platforms","type":"n8n-nodes-base.code","position":[2304,720],"parameters":{"jsCode":"// Format testimonial for different platforms\nconst items = $input.all();\n\nconst formatted = items.map(item => {\n  const d = item.json;\n  const testimonials = d.generatedTestimonials.testimonials;\n  \n  return {\n    json: {\n      ...d,\n      platformFormats: {\n        website: {\n          html: `<div class=\"testimonial\">\n  <div class=\"rating\">${'★'.repeat(d.rating)}${'☆'.repeat(5-d.rating)}</div>\n  <blockquote>${testimonials.medium.text}</blockquote>\n  <cite>— ${d.customerId}</cite>\n  <p class=\"project-type\">${d.projectType}</p>\n</div>`,\n          json: {\n            rating: d.rating,\n            text: testimonials.medium.text,\n            author: d.customerId,\n            projectType: d.projectType,\n            date: d.metadata.submittedAt\n          }\n        },\n        google: {\n          rating: d.rating,\n          comment: testimonials.long.text\n        },\n        trustpilot: {\n          rating: d.rating,\n          title: testimonials.medium.headline,\n          content: testimonials.long.text\n        },\n        socialMedia: {\n          twitter: testimonials.short.text + ' ⭐'.repeat(d.rating),\n          linkedin: testimonials.medium.text,\n          instagram: d.generatedTestimonials.socialMediaPost\n        },\n        emailSignature: {\n          text: `\"${d.generatedTestimonials.pullQuote}\" - ${d.customerId}`\n        }\n      },\n      publishReady: true\n    }\n  };\n});\n\nreturn formatted;"},"typeVersion":2},{"id":"94d14c5f-c4da-4f9c-9fd6-a064e8ec678d","name":"Publish to Website (WordPress)","type":"n8n-nodes-base.httpRequest","position":[2528,528],"parameters":{"url":"=https://yoursite.com/wp-json/wp/v2/testimonials","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"title\": \"{{ $json.generatedTestimonials.testimonials.medium.headline }}\",\n  \"content\": \"{{ $json.platformFormats.website.html }}\",\n  \"status\": \"publish\",\n  \"meta\": {\n    \"rating\": {{ $json.rating }},\n    \"customer_id\": \"{{ $json.customerId }}\",\n    \"project_type\": \"{{ $json.projectType }}\",\n    \"submission_date\": \"{{ $json.metadata.submittedAt }}\"\n  }\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Basic YOUR_WORDPRESS_AUTH_TOKEN"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"822923ab-bed2-4865-b7b6-28f0850d56c5","name":"Submit to Trustpilot","type":"n8n-nodes-base.httpRequest","position":[2528,720],"parameters":{"url":"https://api.trustpilot.com/v1/private/business-units/YOUR_BUSINESS_ID/reviews","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"consumer\": {\n    \"email\": \"{{ $('Check Optimal Follow-up Timing').item.json.customerData.email }}\",\n    \"name\": \"{{ $('Check Optimal Follow-up Timing').item.json.customerData.name }}\"\n  },\n  \"rating\": {{ $json.rating }},\n  \"title\": \"{{ $json.generatedTestimonials.testimonials.medium.headline }}\",\n  \"text\": \"{{ $json.platformFormats.trustpilot.content }}\",\n  \"referenceId\": \"{{ $json.submissionId }}\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"8bd2a816-e376-4cb9-85d9-1e4f85dd8115","name":"Update CRM with Testimonial Status","type":"n8n-nodes-base.httpRequest","position":[2528,912],"parameters":{"url":"=https://api.hubspot.com/crm/v3/objects/contacts/{{ $json.customerId }}","method":"PATCH","options":{"timeout":10000},"jsonBody":"={\n  \"properties\": {\n    \"testimonial_submitted\": \"true\",\n    \"testimonial_rating\": {{ $json.rating }},\n    \"testimonial_date\": \"{{ $json.metadata.submittedAt }}\",\n    \"testimonial_text\": \"{{ $json.generatedTestimonials.testimonials.short.text }}\",\n    \"last_review_score\": {{ $json.sentimentAnalysis.qualityScore }}\n  }\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"011c030b-ab08-47f6-a559-8206d5831d61","name":"Send Thank You Email","type":"n8n-nodes-base.httpRequest","position":[2752,624],"parameters":{"url":"https://api.sendgrid.com/v3/mail/send","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"personalizations\": [{\n    \"to\": [{\"email\": \"{{ $('Check Optimal Follow-up Timing').item.json.customerData.email }}\"}],\n    \"dynamic_template_data\": {\n      \"customer_name\": \"{{ $('Check Optimal Follow-up Timing').item.json.customerData.name }}\",\n      \"testimonial_used\": true\n    }\n  }],\n  \"from\": {\"email\": \"thanks@yourcompany.com\"},\n  \"template_id\": \"YOUR_THANKYOU_TEMPLATE_ID\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"350502d3-086e-42c7-a411-d6a55d4993cc","name":"Log to Analytics Dashboard","type":"n8n-nodes-base.httpRequest","position":[2080,912],"parameters":{"url":"https://api.airtable.com/v0/YOUR_BASE_ID/Testimonials","method":"POST","options":{"timeout":10000},"jsonBody":"={\n  \"fields\": {\n    \"Submission ID\": \"{{ $json.submissionId }}\",\n    \"Customer ID\": \"{{ $json.customerId }}\",\n    \"Rating\": {{ $json.rating }},\n    \"Sentiment\": \"{{ $json.sentimentAnalysis.sentiment }}\",\n    \"Quality Score\": {{ $json.sentimentAnalysis.qualityScore }},\n    \"Published\": {{ $json.publishReady }},\n    \"Submitted At\": \"{{ $json.metadata.submittedAt }}\",\n    \"Project Type\": \"{{ $json.projectType }}\",\n    \"Short Version\": \"{{ $json.generatedTestimonials.testimonials.short.text }}\",\n    \"Medium Version\": \"{{ $json.generatedTestimonials.testimonials.medium.text }}\"\n  }\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Content-Type","value":"application/json"}]}},"typeVersion":4.2,"continueOnFail":true},{"id":"7699560e-1aab-4ab2-a3b6-8bd4e12197fb","name":"Return Success Response","type":"n8n-nodes-base.respondToWebhook","position":[2976,624],"parameters":{"options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/json"}]}},"respondWith":"json","responseBody":"={{ JSON.stringify({ success: true, message: 'Testimonial processed and published', submissionId: $json.submissionId }, null, 2) }}"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"e1df2522-0633-40ae-aa47-74f7182dc375","connections":{"Claude AI Model":{"ai_languageModel":[[{"node":"AI Sentiment & Quality Analysis","type":"ai_languageModel","index":0},{"node":"Generate Polished Testimonial with Claude","type":"ai_languageModel","index":0}]]},"Daily Batch Check":{"main":[[{"node":"Prepare Customer Context","type":"main","index":0}]]},"Send Thank You Email":{"main":[[{"node":"Return Success Response","type":"main","index":0}]]},"Submit to Trustpilot":{"main":[[{"node":"Send Thank You Email","type":"main","index":0}]]},"Parse Feedback Response":{"main":[[{"node":"AI Sentiment & Quality Analysis","type":"main","index":0},{"node":"Generate Polished Testimonial with Claude","type":"main","index":0}]]},"Prepare Customer Context":{"main":[[{"node":"Fetch Full Customer Profile from CRM","type":"main","index":0}]]},"Filter Ready for Follow-up":{"main":[[{"node":"Generate Personalized Feedback Form","type":"main","index":0},{"node":"Send Feedback Request Email","type":"main","index":0}]]},"Parse AI Generated Content":{"main":[[{"node":"Filter High-Quality Testimonials","type":"main","index":0},{"node":"Log to Analytics Dashboard","type":"main","index":0}]]},"Check Optimal Follow-up Timing":{"main":[[{"node":"Filter Ready for Follow-up","type":"main","index":0}]]},"Publish to Website (WordPress)":{"main":[[{"node":"Send Thank You Email","type":"main","index":0}]]},"AI Sentiment & Quality Analysis":{"main":[[{"node":"Parse AI Generated Content","type":"main","index":0}]]},"Format for Publishing Platforms":{"main":[[{"node":"Publish to Website (WordPress)","type":"main","index":0},{"node":"Submit to Trustpilot","type":"main","index":0},{"node":"Update CRM with Testimonial Status","type":"main","index":0}]]},"Filter High-Quality Testimonials":{"main":[[{"node":"Format for Publishing Platforms","type":"main","index":0}]]},"Update CRM with Testimonial Status":{"main":[[{"node":"Send Thank You Email","type":"main","index":0}]]},"Webhook - Form Submission Received":{"main":[[{"node":"Parse Feedback Response","type":"main","index":0}]]},"Fetch Full Customer Profile from CRM":{"main":[[{"node":"Check Optimal Follow-up Timing","type":"main","index":0}]]},"Webhook Trigger - Project Completion":{"main":[[{"node":"Prepare Customer Context","type":"main","index":0}]]},"Generate Polished Testimonial with Claude":{"main":[[{"node":"Parse AI Generated Content","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":27,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":4},"n8n-nodes-base.filter":{"count":2},"n8n-nodes-base.webhook":{"count":2},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.httpRequest":{"count":8},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":1},"n8n-nodes-base.respondToWebhook":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Oneclick AI Squad","username":"oneclick-ai","bio":"The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations  from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.","verified":true,"links":["https://www.oneclickitsolution.com/"],"avatar":"https://gravatar.com/avatar/848fca91367142f65f9e5c55d64e5c9952b160d7b060d103b52aa343c6bc7b3d?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":844,"icon":"fa:filter","name":"n8n-nodes-base.filter","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Filter","color":"#229eff"},"iconData":{"icon":"filter","type":"icon"},"displayName":"Filter","typeVersion":2,"nodeCategories":[{"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":1145,"icon":"file:anthropic.svg","name":"@n8n/n8n-nodes-langchain.lmChatAnthropic","codex":{"data":{"alias":["claude","sonnet","opus"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatanthropic/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Anthropic Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzdEN0Q4NyIgZD0iTTMyLjczIDBoLTYuOTQ1TDM4LjQ1IDMyaDYuOTQ1ek0xMi42NjUgMCAwIDMyaDcuMDgybDIuNTktNi43MmgxMy4yNWwyLjU5IDYuNzJoNy4wODJMMTkuOTI5IDB6bS0uNzAyIDE5LjMzNyA0LjMzNC0xMS4yNDYgNC4zMzQgMTEuMjQ2eiIvPjwvc3ZnPg=="},"displayName":"Anthropic Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":49,"name":"AI Summarization"}],"image":[]}}