{"workflow":{"id":14164,"name":"Automate service order fulfillment with Claude, Freshworks CRM and SLA escalation","views":31,"recentViews":1,"totalViews":31,"createdAt":"2026-03-18T13:45:19.706Z","description":"## 🚀 How it works\n                                                                                                                                  \n  Fully automates your service order pipeline from incoming booking to supplier confirmation — with built-in SLA enforcement and automatic escalation if a supplier goes silent.\n                                              \n  - 📥 Receives orders via webhook from your booking form or website\n  - 💳 Verifies payment against Stripe before processing anything                                                                                                                                                                                                     \n  - 🤖 Extracts and structures order details (service type, address, date, priority) using Claude AI                                                                                                                                                                  \n  - 👤 Upserts the customer contact and creates a deal in Freshworks CRM automatically                                                                                                                                                                                \n  - 📧 Sends branded confirmation emails to the customer and assigned supplier via Postmark                                                                                                                                                                           \n  - ⏱️  Enforces a 4-hour supplier acceptance SLA — escalates automatically if no response                                                                                                                                                                             \n  - 🔁 Reassigns to a backup supplier and retries for 2 hours before flagging for manual review                                                                                                                                                                       \n  - 🚨 Alerts your team on Slack if manual intervention is required                                                                                                                                                                                                   \n  - 📊 Logs every outcome (confirmed, reassigned, escalated) to Google Sheets for full audit trail                                                                                                                                                                    \n                                                                                                                                                                                                                                                                      \n  ## 🛠️  Set up steps                                                                                                                                                                                                                                                  \n                                                                                                                                                                                                                                                                      \n  **Estimated setup time: ~30 minutes**                                                                                                                                                                                                                               \n                                                                                                                                                                                                                                                                      \n  1. **Webhook** — copy the webhook URL and point it from your booking form or website checkout                                                                                                                                                                       \n  2. **Stripe** — add your Stripe secret key to the HTTP Request node; set the correct `payment_intent` field name from your payload                                                                                                                                  \n  3. **Claude (Anthropic)** — connect your Anthropic API credential; claude-sonnet-4-6 or higher recommended\n  4. **Freshworks CRM** — connect your Freshworks credential; set your domain in the HTTP Request upsert node (e.g. `yourcompany.freshsales.io`)                                                                                                                      \n  5. **Postmark** — add your Postmark Server Token to the HTTP Request nodes; update the sender email address\n  6. **Slack** — connect Slack OAuth2; set your ops/dispatch channel in the alert nodes (e.g. `#dispatch-alerts`)                                                                                                                                                     \n  7. **Google Sheets** — connect Google Sheets OAuth2; set your spreadsheet ID and sheet name in the log nodes                                                                                                                                                        \n  8. Follow the sticky notes inside the workflow — each section has a one-liner setup guide                                                                                                                                                                           \n                                                                                                                                                                                                                                                                      \n  ## 📋 Prerequisites                                                                                                                                                                                                                                                 \n                                                                                                                                                                                                                                                                      \n  - Stripe account with payment intents enabled                                                                                                                                                                                                                       \n  - Anthropic API key (Claude API access)                                                                                                                                                                                                                             \n  - Freshworks CRM account (Growth plan or higher for API access)\n  - Postmark account with a verified sender domain                                                                                                                                                                                                                    \n  - Slack workspace with a bot or OAuth2 app  \n  - Google Sheets spreadsheet set up as your audit log                                                                                                                                                                                                                \n                                                                                                                                                                                                                                                                      \n  ---                                                                                                                                                                                                                                                                 \n                                                                                                                                                                                                                                                                      \n  ## Custom Workflow Request with Personal Dashboard                                                                                                                                                                                                                  \n                  \n  kumar@smartflowcraft.com                                                                                                                                                                                                                                            \n                  \n  https://www.smartflowcraft.com/contact\n\n  ### More free templates\n  https://www.smartflowcraft.com/n8n-templates","workflow":{"meta":{"instanceId":"22fdca31d9968d6f06af303ef9be6a073b9af5f54fda4c07e35417e4d15e704f"},"nodes":[{"id":"2a7f8e52-851d-4bc2-8c17-cb23fd773425","name":"Overview","type":"n8n-nodes-base.stickyNote","position":[-2608,720],"parameters":{"color":7,"width":720,"height":516,"content":"## Service Order Fulfillment & SLA Escalation Engine\nVersion 1.0.0 — Operations\n\nProduction-grade order fulfillment orchestrator for service brokerages (skip hire, field services, logistics). Verifies Stripe payment, extracts structured order details with Claude AI, creates CRM records in Freshworks, sends transactional emails via Postmark, assigns a supplier, enforces a 4-hour SLA, auto-escalates missed SLAs to Slack and reassigns to the next available supplier, then logs every outcome to Google Sheets.\n\nFlow: Webhook => Validate Order => Verify Stripe Payment => Payment OK? => Extract with AI => Upsert Customer (Freshworks) => Create Deal => Send Confirmation (Postmark) => Find Supplier => Send Assignment => SLA Wait 4h => Check Deal Stage => Accepted? => Confirm/Escalate => SLA Retry 2h => Final Check => Log Outcome"},"typeVersion":1},{"id":"a4f5125c-2a1f-41c3-b622-c93d5f5fd041","name":"Prerequisites","type":"n8n-nodes-base.stickyNote","position":[-1872,704],"parameters":{"color":5,"width":440,"height":516,"content":"## Prerequisites\n- Stripe account with secret key (for payment verification)\n- Freshworks CRM account — API key + domain (subdomain.freshsales.io)\n- Postmark account — Server API Token (transactional email stream)\n- Slack workspace — Bot Token + #ops-escalations channel\n- Google Sheets — OAuth2 credential + pre-created fulfillment log sheet\n- Anthropic API key (Claude for order extraction)\n\nFreshworks setup: Go to Admin Settings → API Settings → copy your API key. Suppliers must be CRM contacts tagged 'supplier-available'. Deals need stages: New, Supplier Assigned, Accepted, Escalated, Completed."},"typeVersion":1},{"id":"d945396c-a61a-4530-80d1-d3bc06016bbd","name":"Setup Required","type":"n8n-nodes-base.stickyNote","position":[-1408,688],"parameters":{"color":3,"width":440,"height":532,"content":"## Setup Required\n1. Order Webhook — copy webhook URL into your website/checkout backend\n2. Verify Stripe Payment — add Stripe Secret Key to the HTTP Request header\n3. Extract Order Details — connect Anthropic API credential\n4. Upsert Customer Contact — set FRESHWORKS_DOMAIN + FRESHWORKS_API_KEY\n5. Create Service Deal — connect Freshworks CRM credential, update stageId for 'New'\n6. Send Order Confirmation — add Postmark Server Token, update From address\n7. Find Available Supplier — update tag filter to match your supplier tag in Freshworks\n8. Send Supplier Assignment — update From address and email template\n9. SLA Wait nodes — adjust 4h/2h windows to your SLA policy\n10. Alert Slack — connect Slack credential, confirm channel name #ops-escalations\n11. Log Outcome — connect Google Sheets, replace YOUR_FULFILLMENT_SHEET_ID"},"typeVersion":1},{"id":"3aed4ffe-19c2-4ffa-a325-aa4dd0532656","name":"How It Works","type":"n8n-nodes-base.stickyNote","position":[-3632,1136],"parameters":{"color":4,"width":508,"height":700,"content":"## How It Works\n1. Webhook receives new order from checkout with payment_intent_id and customer details\n2. Validate Code checks required fields and normalises data (email lowercase, postcode uppercase)\n3. Stripe HTTP verifies payment_intent status = 'succeeded' before proceeding\n4. Claude AI extracts waste type, skip size, collection address, priority from order notes\n5. Customer contact upserted in Freshworks CRM via REST API\n6. Service deal created in Freshworks with order value and all custom fields\n7. Postmark sends branded order confirmation to customer\n8. Freshworks searched for available supplier contacts (tagged supplier-available)\n9. Postmark sends supplier assignment request with job details\n10. Wait node holds execution for 4 hours (SLA window)\n11. Deal stage checked — if Accepted, customer notified and success logged\n12. If not: Slack alert fired, next supplier found, reassigned, 2h retry SLA starts\n13. Retry check: if accepted → confirm; if not → Slack urgent alert + Escalated deal stage\n14. All outcomes (success / retry success / escalated) logged to Google Sheets"},"typeVersion":1},{"id":"c2a28536-4292-4eb9-89a5-41ba6e86402a","name":"New Order Webhook","type":"n8n-nodes-base.webhook","position":[-3328,1712],"webhookId":"order-webhook-uuid-001","parameters":{"path":"new-order","options":{"rawBody":false},"httpMethod":"POST","responseMode":"responseNode"},"typeVersion":2},{"id":"ea16f534-d78a-4db5-aad0-37c461c5957a","name":"Validate note","type":"n8n-nodes-base.stickyNote","position":[-3040,1584],"parameters":{"width":270,"height":112,"content":"Validates required fields, normalises email/postcode, assigns order reference"},"typeVersion":1},{"id":"8f534528-038e-4513-94a0-98179d1a8fbb","name":"Validate & Parse Order","type":"n8n-nodes-base.code","position":[-3056,1712],"parameters":{"jsCode":"const item = $input.first().json?.body || $input.first().json;\nconst required = ['payment_intent_id', 'customer_email', 'order_notes'];\nconst missing = required.filter(f => !item[f]);\nif (missing.length > 0) throw new Error(`Missing required fields: ${missing.join(', ')}`);\nconst email = (item.customer_email || '').trim().toLowerCase();\nif (!email.includes('@')) throw new Error('Invalid customer_email format');\nconst orderRef = item.order_ref || `ORD-${Date.now()}`;\nreturn [{ json: {\n  payment_intent_id:  item.payment_intent_id.trim(),\n  customer_email:     email,\n  customer_name:      item.customer_name || '',\n  customer_phone:     item.customer_phone || '',\n  order_notes:        item.order_notes || '',\n  service_type:       item.service_type || 'general',\n  collection_address: item.collection_address || '',\n  postcode:           (item.postcode || '').trim().toUpperCase(),\n  requested_date:     item.requested_date || '',\n  order_value_gbp:    parseFloat(item.order_value_gbp) || 0,\n  order_ref:          orderRef,\n  received_at:        new Date().toISOString()\n}}];"},"typeVersion":2},{"id":"6d6ce05a-2315-4f6d-9aee-49fb3cc41f2f","name":"Stripe note","type":"n8n-nodes-base.stickyNote","position":[-2624,1536],"parameters":{"width":265,"height":112,"content":"Verifies payment_intent status = succeeded via Stripe API before processing"},"typeVersion":1},{"id":"ee6503e4-b4cb-4173-82f6-0e02ee5adffd","name":"Verify Stripe Payment","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[-2800,1712],"parameters":{"url":"=https://api.stripe.com/v1/payment_intents/{{ $json.payment_intent_id }}","options":{"response":{"response":{"neverError":true}}},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer YOUR_TOKEN_HERE"},{"name":"Stripe-Version","value":"2024-11-20.acacia"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"67908e38-ad09-4553-b4f9-ca5d68bb46ff","name":"Consolidate Payment Result","type":"n8n-nodes-base.code","position":[-2544,1696],"parameters":{"jsCode":"const rows = $input.all();\nconst order = $('Validate & Parse Order').first().json;\nconst payment = rows[0]?.json || {};\nconst status = payment.status || 'error';\nconst amountPence = payment.amount || 0;\nreturn [{ json: {\n  ...order,\n  payment_status:      status,\n  payment_valid:       status === 'succeeded',\n  payment_amount_gbp:  amountPence / 100,\n  payment_currency:    payment.currency || 'gbp',\n  stripe_customer_id:  payment.customer || null,\n  payment_error:       payment.last_payment_error?.message || null\n}}];"},"typeVersion":2},{"id":"bc52303b-533b-489d-935e-8140796eced1","name":"Payment check note","type":"n8n-nodes-base.stickyNote","position":[-2304,1520],"parameters":{"width":270,"height":112,"content":"Routes to failure path if payment not succeeded — stops order processing immediately"},"typeVersion":1},{"id":"43cad9a4-ef95-49f8-976e-9c47bcd93bce","name":"Payment Succeeded?","type":"n8n-nodes-base.if","position":[-2288,1696],"parameters":{"options":{},"conditions":{"options":{"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"cond-payment","operator":{"type":"boolean","operation":"equal"},"leftValue":"={{ $json.payment_valid }}","rightValue":true}]}},"typeVersion":2.2},{"id":"e0f96253-3430-428b-805c-dd2bb174f89f","name":"Send Payment Failed Notice","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[-2288,2080],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"57008ebb-925f-40de-a376-de4863d8fee5","name":"Log Failed Payment","type":"n8n-nodes-base.googleSheets","onError":"continueErrorOutput","maxTries":3,"position":[-1968,2064],"parameters":{"columns":{"value":{"Reason":"={{ $json.payment_error || 'payment not succeeded' }}","Status":"payment_failed","Customer":"={{ $json.customer_email }}","Order Ref":"={{ $json.order_ref }}","Timestamp":"={{ DateTime.now().toISO() }}","Order Value":"={{ $json.order_value_gbp }}"},"mappingMode":"defineBelow"},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Order Log"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_FULFILLMENT_SHEET_ID"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"retryOnFail":true,"typeVersion":4.5,"waitBetweenTries":2000},{"id":"55ef6119-8bdc-42f3-910f-bb482f94d150","name":"Extract note","type":"n8n-nodes-base.stickyNote","position":[-1920,1520],"parameters":{"width":265,"height":112,"content":"Claude AI parses free-text order notes into a validated structured schema"},"typeVersion":1},{"id":"d4e67627-ebda-4e94-9126-806fe8e8b562","name":"Extract Order Details","type":"@n8n/n8n-nodes-langchain.agent","position":[-2048,1680],"parameters":{"text":"=Extract and validate the service order details from the following information.\n\nOrder Reference: {{ $json.order_ref }}\nService Type: {{ $json.service_type }}\nCollection Address: {{ $json.collection_address }}\nPostcode: {{ $json.postcode }}\nRequested Date: {{ $json.requested_date }}\nOrder Notes / Customer Instructions:\n{{ $json.order_notes }}\n\nEstimated Order Value: £{{ $json.order_value_gbp }}\n\nParse all details carefully. Extract waste type, skip size if applicable, any access restrictions, time preferences, and urgency level. Flag anything that seems unusual or incomplete in special_instructions.","options":{"systemMessage":"You are an order processing assistant for a service brokerage. Extract structured data from customer order notes with high precision. For skip hire orders: identify skip size (2, 4, 6, 8, 10, 12 yard), waste type (general, construction, garden, commercial, mixed, hazardous), and any site access restrictions. Priority levels: standard = normal orders, urgent = same-day or next-day, emergency = immediate response required. Always output all fields even if some are null.","returnIntermediateSteps":false},"promptType":"define","hasOutputParser":true},"typeVersion":1.8},{"id":"48d70af6-9f7d-4b5a-9ff8-1f96e28099cc","name":"Claude — Extract","type":"@n8n/n8n-nodes-langchain.lmChatAnthropic","position":[-2128,1856],"parameters":{"model":{"__rl":true,"mode":"list","value":"claude-3-5-sonnet-20241022"},"options":{"temperature":0}},"typeVersion":1.3},{"id":"572c3262-7fca-45b1-ad16-d868ad6dd9d6","name":"Order Details Schema","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-1824,1888],"parameters":{"schemaType":"manual","inputSchema":"{\"type\":\"object\",\"properties\":{\"service_type\":{\"type\":\"string\"},\"collection_address\":{\"type\":\"string\"},\"postcode\":{\"type\":\"string\"},\"waste_type\":{\"type\":\"string\",\"enum\":[\"general\",\"construction\",\"garden\",\"commercial\",\"mixed\",\"hazardous\",\"other\"]},\"skip_size\":{\"type\":\"string\"},\"requested_date\":{\"type\":\"string\"},\"customer_name\":{\"type\":\"string\"},\"customer_email\":{\"type\":\"string\"},\"customer_phone\":{\"type\":\"string\"},\"special_instructions\":{\"type\":\"string\"},\"access_restrictions\":{\"type\":\"string\"},\"estimated_value_gbp\":{\"type\":\"number\"},\"priority\":{\"type\":\"string\",\"enum\":[\"standard\",\"urgent\",\"emergency\"]}},\"required\":[\"service_type\",\"collection_address\",\"postcode\",\"waste_type\",\"customer_name\",\"customer_email\",\"customer_phone\",\"priority\"]}"},"typeVersion":1.2},{"id":"726bd9eb-a04d-404a-bf1c-a059abc4868e","name":"Upsert note","type":"n8n-nodes-base.stickyNote","position":[-1616,1520],"parameters":{"width":270,"height":112,"content":"Creates or updates customer contact in Freshworks CRM via upsert REST endpoint"},"typeVersion":1},{"id":"c7c99847-6227-49c5-947a-bfec9d4ca45a","name":"Upsert Customer Contact","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[-1760,1680],"parameters":{"url":"=https://YOUR_DOMAIN.freshsales.io/api/upsert/contacts","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"Authorization","value":"Token token=YOUR_FRESHWORKS_API_KEY"},{"name":"Content-Type","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"559828af-1583-41c4-a417-6353aea7b7c0","name":"Consolidate Contact","type":"n8n-nodes-base.code","position":[-1504,1664],"parameters":{"jsCode":"const rows = $input.all();\nconst order = $('Validate & Parse Order').first().json;\nconst payment = $('Consolidate Payment Result').first().json;\nconst aiOutput = $('Extract Order Details').first().json.output || {};\nconst contact = rows[0]?.json?.contact || rows[0]?.json || {};\nreturn [{ json: {\n  ...order,\n  payment_amount_gbp:   payment.payment_amount_gbp,\n  stripe_customer_id:   payment.stripe_customer_id,\n  extracted:            aiOutput,\n  contact_id:           String(contact.id || contact.contact?.id || ''),\n  customer_name:        aiOutput.customer_name || order.customer_name,\n  customer_email:       aiOutput.customer_email || order.customer_email,\n  customer_phone:       aiOutput.customer_phone || order.customer_phone,\n  collection_address:   aiOutput.collection_address || order.collection_address,\n  postcode:             aiOutput.postcode || order.postcode,\n  waste_type:           aiOutput.waste_type || 'general',\n  skip_size:            aiOutput.skip_size || '',\n  priority:             aiOutput.priority || 'standard',\n  special_instructions: aiOutput.special_instructions || '',\n  access_restrictions:  aiOutput.access_restrictions || ''\n}}];"},"typeVersion":2},{"id":"612d16a1-5b05-44df-ac7c-ba3f0dde13dd","name":"Deal note","type":"n8n-nodes-base.stickyNote","position":[-1232,1504],"parameters":{"width":265,"height":128,"content":"Creates service deal in Freshworks CRM linked to the customer contact"},"typeVersion":1},{"id":"b6faf3dd-af13-421f-8f40-7374a834bbaa","name":"Create Service Deal","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[-1248,1664],"parameters":{"name":"={{ $json.service_type | upper }} — {{ $json.postcode }} — {{ $json.order_ref }}","resource":"deal","additionalFields":{"probability":100}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"8f673c13-917c-452a-beae-9fa1f5d3c1d8","name":"Consolidate Deal","type":"n8n-nodes-base.code","position":[-960,1648],"parameters":{"jsCode":"const rows = $input.all();\nconst ctx = $('Consolidate Contact').first().json;\nconst deal = rows[0]?.json || {};\nconst dealId = String(deal.id || deal.deal?.id || '');\nreturn [{ json: {\n  ...ctx,\n  deal_id:   dealId,\n  deal_name: deal.name || deal.deal?.name || ctx.order_ref\n}}];"},"typeVersion":2},{"id":"7544f7e7-12fb-4bcd-8f45-e193021c0658","name":"Confirmation note","type":"n8n-nodes-base.stickyNote","position":[-816,1504],"parameters":{"width":260,"height":112,"content":"Sends branded order confirmation email to customer via Postmark"},"typeVersion":1},{"id":"8c16eb41-7587-4571-beb9-3ba91be27f77","name":"Send Order Confirmation","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[-720,1648],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"e56a200d-1127-4e95-a7c0-30d7790f7ca5","name":"Find Supplier note","type":"n8n-nodes-base.stickyNote","position":[-512,1504],"parameters":{"width":265,"height":96,"content":"Queries Freshworks for contacts tagged 'supplier-available' — picks the first match"},"typeVersion":1},{"id":"5c4c1463-a95f-482c-a5e7-eaa48cbb9b9f","name":"Find Available Supplier","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[-464,1632],"parameters":{"limit":5,"resource":"contact","operation":"getAll"},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"e0ce11bb-319c-4850-9329-c7b333c527b3","name":"Consolidate Supplier","type":"n8n-nodes-base.code","position":[-192,1616],"parameters":{"jsCode":"const rows = $input.all();\nconst ctx = $('Consolidate Deal').first().json;\nconst suppliers = rows.filter(r => !r.json.error && r.json.id);\nif (suppliers.length === 0) {\n  // No supplier found — flag for manual assignment\n  return [{ json: {\n    ...ctx,\n    supplier_id:    null,\n    supplier_email: null,\n    supplier_name:  'UNASSIGNED',\n    supplier_phone: null,\n    supplier_found: false,\n    all_supplier_ids: []\n  }}];\n}\nconst primary = suppliers[0].json;\nconst allIds = suppliers.map(s => String(s.json.id));\nreturn [{ json: {\n  ...ctx,\n  supplier_id:      String(primary.id),\n  supplier_email:   primary.email,\n  supplier_name:    `${primary.first_name || ''} ${primary.last_name || ''}`.trim(),\n  supplier_phone:   primary.mobile_number || primary.phone || '',\n  supplier_found:   true,\n  all_supplier_ids: allIds\n}}];"},"typeVersion":2},{"id":"2784d278-49b4-4884-82d6-b6b673e86098","name":"Supplier Request note","type":"n8n-nodes-base.stickyNote","position":[-64,1504],"parameters":{"width":265,"height":60,"content":"Sends job assignment request to supplier with full order details and acceptance deadline"},"typeVersion":1},{"id":"7f72d3b7-457d-489c-b9cb-020516c3295a","name":"Send Supplier Assignment","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[64,1616],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"90e7c7a1-76e9-4c1c-a231-94ebb16e4c7d","name":"SLA Wait note","type":"n8n-nodes-base.stickyNote","position":[320,1472],"parameters":{"width":260,"height":60,"content":"Holds execution for 4 hours — the primary SLA window for supplier acceptance"},"typeVersion":1},{"id":"1e70b02a-4960-4a86-bfea-1306d3c0c345","name":"SLA Wait — 4 Hours","type":"n8n-nodes-base.wait","position":[352,1600],"webhookId":"sla-wait-4h-uuid-002","parameters":{},"typeVersion":1.1},{"id":"b749c37a-0eef-4eff-89b4-ce275adad397","name":"Status check note","type":"n8n-nodes-base.stickyNote","position":[624,1488],"parameters":{"width":260,"height":60,"content":"Polls Freshworks deal stage to determine if supplier has accepted the job"},"typeVersion":1},{"id":"3f688afc-e92e-4b86-b9b5-0cb47edc194e","name":"Check Deal Stage","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[640,1600],"parameters":{"dealId":"={{ $json.deal_id }}","resource":"deal","operation":"get"},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"649027d3-44bc-49df-91ee-a2b5c3b0f928","name":"Consolidate SLA Status","type":"n8n-nodes-base.code","position":[912,1584],"parameters":{"jsCode":"const rows = $input.all();\nconst ctx = $('Consolidate Supplier').first().json;\nconst deal = rows[0]?.json || {};\nconst stageName = (deal.deal_stage?.name || deal.stage_name || '').toLowerCase();\nconst acceptedStages = ['accepted', 'confirmed', 'partner confirmed', 'supplier accepted', 'in progress'];\nconst isAccepted = acceptedStages.some(s => stageName.includes(s));\nreturn [{ json: {\n  ...ctx,\n  current_deal_stage:  stageName,\n  supplier_accepted:   isAccepted,\n  sla_check_at:        new Date().toISOString(),\n  sla_attempt:         1\n}}];"},"typeVersion":2},{"id":"bd4c7390-e339-454a-a54e-063cab044138","name":"Accepted check note","type":"n8n-nodes-base.stickyNote","position":[1088,1424],"parameters":{"width":265,"height":60,"content":"Routes TRUE if supplier accepted within SLA, FALSE triggers escalation path"},"typeVersion":1},{"id":"fd534425-fcc2-45f5-9ca0-f5e09c0566b6","name":"Supplier Accepted SLA?","type":"n8n-nodes-base.if","position":[1104,1584],"parameters":{"options":{},"conditions":{"options":{"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"cond-accept","operator":{"type":"boolean","operation":"equal"},"leftValue":"={{ $json.supplier_accepted }}","rightValue":true}]}},"typeVersion":2.2},{"id":"e3628d89-588f-4842-8f7f-f10b70661bf4","name":"Update Deal — Confirmed","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[1360,1488],"parameters":{"dealId":"={{ $json.deal_id }}","resource":"deal","operation":"update","updateFields":{}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"f2c7f4a5-0964-4425-a5f2-22199910e694","name":"Send Customer — Job Confirmed","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[1648,1472],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"081edf20-bd4f-43bb-bcab-c14d5a59833f","name":"Log Success","type":"n8n-nodes-base.googleSheets","onError":"continueErrorOutput","maxTries":3,"position":[1904,1456],"parameters":{"columns":{"value":{"Status":"confirmed","Deal ID":"={{ $('Consolidate SLA Status').first().json.deal_id }}","Service":"={{ $('Consolidate SLA Status').first().json.service_type }}","Customer":"={{ $('Consolidate SLA Status').first().json.customer_email }}","Postcode":"={{ $('Consolidate SLA Status').first().json.postcode }}","Supplier":"={{ $('Consolidate SLA Status').first().json.supplier_name }}","Order Ref":"={{ $('Consolidate SLA Status').first().json.order_ref }}","Skip Size":"={{ $('Consolidate SLA Status').first().json.skip_size }}","Timestamp":"={{ DateTime.now().toISO() }}","Waste Type":"={{ $('Consolidate SLA Status').first().json.waste_type }}","Order Value":"={{ $('Consolidate SLA Status').first().json.payment_amount_gbp }}","SLA Attempt":"1"},"mappingMode":"defineBelow"},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Order Log"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_FULFILLMENT_SHEET_ID"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"retryOnFail":true,"typeVersion":4.5,"waitBetweenTries":2000},{"id":"76d24a75-bcc1-4d92-90bd-70b9967c4ccd","name":"Slack SLA note","type":"n8n-nodes-base.stickyNote","position":[1376,1776],"parameters":{"width":265,"height":60,"content":"Fires Slack alert to ops team with full order context when SLA is missed"},"typeVersion":1},{"id":"afdd43a6-4150-403c-9c3d-0822f235a2a1","name":"Alert Slack — SLA Missed","type":"n8n-nodes-base.slack","onError":"continueErrorOutput","maxTries":3,"position":[1360,1904],"webhookId":"e0db88f4-4744-4a2e-a7b3-f0d16f7e0470","parameters":{"text":"=:warning: *SLA MISSED — Supplier did not accept within 4 hours*\n\n*Order:* {{ $json.order_ref }}\n*Customer:* {{ $json.customer_name }} ({{ $json.customer_email }})\n*Service:* {{ $json.service_type }} — {{ $json.skip_size || 'TBC' }}\n*Address:* {{ $json.collection_address }}, {{ $json.postcode }}\n*Priority:* {{ $json.priority | upper }}\n*Supplier Assigned:* {{ $json.supplier_name }} ({{ $json.supplier_email }})\n*Order Value:* £{{ $json.payment_amount_gbp }}\n*Deal ID:* {{ $json.deal_id }}\n\nSearching for next available supplier and initiating 2-hour retry SLA now.","otherOptions":{}},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":2000},{"id":"46726918-6b49-4abf-b9a7-e26e6764917d","name":"Find Next Supplier","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[1648,1888],"parameters":{"limit":10,"resource":"contact","operation":"getAll"},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"e3d750e2-d21b-40a4-adc6-56feb974ae5a","name":"Consolidate Next Supplier","type":"n8n-nodes-base.code","position":[1888,1872],"parameters":{"jsCode":"const rows = $input.all();\nconst ctx = $('Consolidate SLA Status').first().json;\nconst firstSupplierId = ctx.supplier_id;\n// Skip the first supplier who already failed to respond\nconst available = rows.filter(r => !r.json.error && r.json.id && String(r.json.id) !== firstSupplierId);\nif (available.length === 0) {\n  return [{ json: {\n    ...ctx,\n    next_supplier_id:    null,\n    next_supplier_email: null,\n    next_supplier_name:  'NONE AVAILABLE',\n    next_supplier_found: false\n  }}];\n}\nconst next = available[0].json;\nreturn [{ json: {\n  ...ctx,\n  next_supplier_id:    String(next.id),\n  next_supplier_email: next.email,\n  next_supplier_name:  `${next.first_name || ''} ${next.last_name || ''}`.trim(),\n  next_supplier_phone: next.mobile_number || next.phone || '',\n  next_supplier_found: true\n}}];"},"typeVersion":2},{"id":"1b2ca8e6-048a-4436-b41c-ea291b6e574a","name":"Reassign note","type":"n8n-nodes-base.stickyNote","position":[2064,1760],"parameters":{"width":265,"height":60,"content":"Sends reassignment request to next available supplier with escalation context"},"typeVersion":1},{"id":"5c3f6f44-d8e6-4a1b-91b9-9e6d7b28d6de","name":"Send Reassignment Request","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[2144,1872],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"cfc42bca-57f0-4133-972e-9146a7225765","name":"Retry wait note","type":"n8n-nodes-base.stickyNote","position":[2592,1728],"parameters":{"width":255,"height":60,"content":"Holds execution for 2 hours — the retry SLA window after reassignment"},"typeVersion":1},{"id":"02edae99-954e-42db-8bff-61cc5e7aa692","name":"Retry Wait — 2 Hours","type":"n8n-nodes-base.wait","position":[2416,1856],"webhookId":"wait-retry-2h-uuid-003","parameters":{},"typeVersion":1.1},{"id":"b650afd5-e923-4ab2-8903-3b7032d8d6e5","name":"Check Retry Deal Stage","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[2672,1856],"parameters":{"dealId":"={{ $json.deal_id }}","resource":"deal","operation":"get"},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"65b4c331-9c0d-4ed1-88f0-5724024ef280","name":"Consolidate Retry Status","type":"n8n-nodes-base.code","position":[2928,1840],"parameters":{"jsCode":"const rows = $input.all();\nconst ctx = $('Consolidate Next Supplier').first().json;\nconst deal = rows[0]?.json || {};\nconst stageName = (deal.deal_stage?.name || deal.stage_name || '').toLowerCase();\nconst acceptedStages = ['accepted', 'confirmed', 'partner confirmed', 'supplier accepted', 'in progress'];\nconst isAccepted = acceptedStages.some(s => stageName.includes(s));\nreturn [{ json: {\n  ...ctx,\n  retry_deal_stage:  stageName,\n  retry_accepted:    isAccepted,\n  retry_check_at:    new Date().toISOString(),\n  sla_attempt:       2\n}}];"},"typeVersion":2},{"id":"900c2353-523a-4fab-8722-c7feb9ab0a39","name":"Retry accepted note","type":"n8n-nodes-base.stickyNote","position":[3312,1600],"parameters":{"width":265,"height":60,"content":"Final decision: retry accepted triggers confirmation; failure triggers manual intervention alert"},"typeVersion":1},{"id":"82a95362-c7a9-44c1-903c-f95c138b25e5","name":"Retry Accepted?","type":"n8n-nodes-base.if","position":[3184,1840],"parameters":{"options":{},"conditions":{"options":{"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"cond-retry","operator":{"type":"boolean","operation":"equal"},"leftValue":"={{ $json.retry_accepted }}","rightValue":true}]}},"typeVersion":2.2},{"id":"0051e5f6-4683-4ace-8717-881fdb4092f2","name":"Update Deal — Confirmed (Retry)","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[3440,1744],"parameters":{"dealId":"={{ $json.deal_id }}","resource":"deal","operation":"update","updateFields":{}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"09ab49dd-a34a-49be-8332-184c1b60f56b","name":"Send Customer — Confirmed (Retry)","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":3,"position":[3712,1728],"parameters":{"url":"https://api.postmarkapp.com/email","method":"POST","options":{"response":{"response":{"neverError":true}}},"sendBody":true,"sendHeaders":true,"bodyParameters":{"parameters":[{}]},"headerParameters":{"parameters":[{"name":"X-Postmark-Server-Token","value":"YOUR_POSTMARK_SERVER_TOKEN"},{"name":"Accept","value":"application/json"}]}},"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":2000},{"id":"12a17015-4bfc-4046-944f-15ae152e41cc","name":"Log Success (Retry)","type":"n8n-nodes-base.googleSheets","onError":"continueErrorOutput","maxTries":3,"position":[3984,1712],"parameters":{"columns":{"value":{"Status":"confirmed_retry","Deal ID":"={{ $('Consolidate Retry Status').first().json.deal_id }}","Service":"={{ $('Consolidate Retry Status').first().json.service_type }}","Customer":"={{ $('Consolidate Retry Status').first().json.customer_email }}","Postcode":"={{ $('Consolidate Retry Status').first().json.postcode }}","Supplier":"={{ $('Consolidate Retry Status').first().json.next_supplier_name }}","Order Ref":"={{ $('Consolidate Retry Status').first().json.order_ref }}","Skip Size":"={{ $('Consolidate Retry Status').first().json.skip_size }}","Timestamp":"={{ DateTime.now().toISO() }}","Waste Type":"={{ $('Consolidate Retry Status').first().json.waste_type }}","Order Value":"={{ $('Consolidate Retry Status').first().json.payment_amount_gbp }}","SLA Attempt":"2"},"mappingMode":"defineBelow"},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Order Log"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_FULFILLMENT_SHEET_ID"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"retryOnFail":true,"typeVersion":4.5,"waitBetweenTries":2000},{"id":"0175903a-ffba-427e-834d-9c76a7b74019","name":"Manual alert note","type":"n8n-nodes-base.stickyNote","position":[3456,1968],"parameters":{"width":265,"height":60,"content":"Both SLA attempts failed — urgent Slack alert for immediate manual intervention"},"typeVersion":1},{"id":"d3b03def-5764-48ca-8c67-116f850cebad","name":"Alert Slack — Manual Intervention","type":"n8n-nodes-base.slack","onError":"continueErrorOutput","maxTries":3,"position":[3440,2112],"webhookId":"cb6fb123-9bfb-4b64-a610-3eb604b79068","parameters":{"text":"=:rotating_light: *CRITICAL — MANUAL INTERVENTION REQUIRED*\n\nBoth 4-hour and 2-hour SLA windows have expired with no supplier acceptance. This order requires immediate manual handling to avoid SLA breach penalty.\n\n*Order:* {{ $json.order_ref }}\n*Customer:* {{ $json.customer_name }} — {{ $json.customer_email }} — {{ $json.customer_phone }}\n*Service:* {{ $json.service_type }} — {{ $json.skip_size || 'TBC' }}\n*Address:* {{ $json.collection_address }}, {{ $json.postcode }}\n*Priority:* {{ $json.priority | upper }}\n*Order Value:* £{{ $json.payment_amount_gbp }}\n*Requested Date:* {{ $json.extracted.requested_date || 'ASAP' }}\n*Special Notes:* {{ $json.special_instructions || 'None' }}\n*Supplier 1 (failed):* {{ $json.supplier_name }}\n*Supplier 2 (failed):* {{ $json.next_supplier_name }}\n*Freshworks Deal:* {{ $json.deal_id }}\n\nDeal has been marked Escalated. Assign manually in Freshworks immediately.","otherOptions":{}},"retryOnFail":true,"typeVersion":2.2,"waitBetweenTries":2000},{"id":"95b783b4-c8bc-4763-9756-4ffd65c7d3f1","name":"Update Deal — Escalated","type":"n8n-nodes-base.freshworksCrm","onError":"continueErrorOutput","maxTries":3,"position":[3728,2096],"parameters":{"dealId":"={{ $json.deal_id }}","resource":"deal","operation":"update","updateFields":{}},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":2000},{"id":"1cfe2b69-bb31-44b6-bea3-e2ff798d196e","name":"Log Escalated","type":"n8n-nodes-base.googleSheets","onError":"continueErrorOutput","maxTries":3,"position":[3968,2080],"parameters":{"columns":{"value":{"Status":"escalated_manual","Deal ID":"={{ $json.deal_id }}","Service":"={{ $json.service_type }}","Customer":"={{ $json.customer_email }}","Postcode":"={{ $json.postcode }}","Supplier":"={{ $json.supplier_name }} / {{ $json.next_supplier_name }}","Order Ref":"={{ $json.order_ref }}","Skip Size":"={{ $json.skip_size }}","Timestamp":"={{ DateTime.now().toISO() }}","Waste Type":"={{ $json.waste_type }}","Order Value":"={{ $json.payment_amount_gbp }}","SLA Attempt":"2"},"mappingMode":"defineBelow"},"options":{},"operation":"appendOrUpdate","sheetName":{"__rl":true,"mode":"name","value":"Order Log"},"documentId":{"__rl":true,"mode":"id","value":"YOUR_FULFILLMENT_SHEET_ID"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account 2"}},"retryOnFail":true,"typeVersion":4.5,"waitBetweenTries":2000}],"pinData":{},"connections":{"Retry Accepted?":{"main":[[{"node":"Update Deal — Confirmed (Retry)","type":"main","index":0}],[{"node":"Alert Slack — Manual Intervention","type":"main","index":0}]]},"Check Deal Stage":{"main":[[{"node":"Consolidate SLA Status","type":"main","index":0}]]},"Consolidate Deal":{"main":[[{"node":"Send Order Confirmation","type":"main","index":0}]]},"New Order Webhook":{"main":[[{"node":"Validate & Parse Order","type":"main","index":0}]]},"Claude — Extract":{"ai_languageModel":[[{"node":"Extract Order Details","type":"ai_languageModel","index":0}]]},"Find Next Supplier":{"main":[[{"node":"Consolidate Next Supplier","type":"main","index":0}]]},"Payment Succeeded?":{"main":[[{"node":"Extract Order Details","type":"main","index":0}],[{"node":"Send Payment Failed Notice","type":"main","index":0}]]},"Consolidate Contact":{"main":[[{"node":"Create Service Deal","type":"main","index":0}]]},"Create Service Deal":{"main":[[{"node":"Consolidate Deal","type":"main","index":0}]]},"Consolidate Supplier":{"main":[[{"node":"Send Supplier Assignment","type":"main","index":0}]]},"Order Details Schema":{"ai_outputParser":[[{"node":"Extract Order Details","type":"ai_outputParser","index":0}]]},"SLA Wait — 4 Hours":{"main":[[{"node":"Check Deal Stage","type":"main","index":0}]]},"Extract Order Details":{"main":[[{"node":"Upsert Customer Contact","type":"main","index":0}]]},"Verify Stripe Payment":{"main":[[{"node":"Consolidate Payment Result","type":"main","index":0}]]},"Check Retry Deal Stage":{"main":[[{"node":"Consolidate Retry Status","type":"main","index":0}]]},"Consolidate SLA Status":{"main":[[{"node":"Supplier Accepted SLA?","type":"main","index":0}]]},"Retry Wait — 2 Hours":{"main":[[{"node":"Check Retry Deal Stage","type":"main","index":0}]]},"Supplier Accepted SLA?":{"main":[[{"node":"Update Deal — Confirmed","type":"main","index":0}],[{"node":"Alert Slack — SLA Missed","type":"main","index":0}]]},"Validate & Parse Order":{"main":[[{"node":"Verify Stripe Payment","type":"main","index":0}]]},"Find Available Supplier":{"main":[[{"node":"Consolidate Supplier","type":"main","index":0}]]},"Send Order Confirmation":{"main":[[{"node":"Find Available Supplier","type":"main","index":0}]]},"Upsert Customer Contact":{"main":[[{"node":"Consolidate Contact","type":"main","index":0}]]},"Consolidate Retry Status":{"main":[[{"node":"Retry Accepted?","type":"main","index":0}]]},"Send Supplier Assignment":{"main":[[{"node":"SLA Wait — 4 Hours","type":"main","index":0}]]},"Consolidate Next Supplier":{"main":[[{"node":"Send Reassignment Request","type":"main","index":0}]]},"Send Reassignment Request":{"main":[[{"node":"Retry Wait — 2 Hours","type":"main","index":0}]]},"Update Deal — Confirmed":{"main":[[{"node":"Send Customer — Job Confirmed","type":"main","index":0}]]},"Update Deal — Escalated":{"main":[[{"node":"Log Escalated","type":"main","index":0}]]},"Alert Slack — SLA Missed":{"main":[[{"node":"Find Next Supplier","type":"main","index":0}]]},"Consolidate Payment Result":{"main":[[{"node":"Payment Succeeded?","type":"main","index":0}]]},"Send Payment Failed Notice":{"main":[[{"node":"Log Failed Payment","type":"main","index":0}]]},"Send Customer — Job Confirmed":{"main":[[{"node":"Log Success","type":"main","index":0}]]},"Update Deal — Confirmed (Retry)":{"main":[[{"node":"Send Customer — Confirmed (Retry)","type":"main","index":0}]]},"Alert Slack — Manual Intervention":{"main":[[{"node":"Update Deal — Escalated","type":"main","index":0}]]},"Send Customer — Confirmed (Retry)":{"main":[[{"node":"Log Success (Retry)","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":60,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.code":{"count":8},"n8n-nodes-base.wait":{"count":2},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":21},"n8n-nodes-base.httpRequest":{"count":8},"n8n-nodes-base.googleSheets":{"count":4},"n8n-nodes-base.freshworksCrm":{"count":8},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatAnthropic":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Kumar SmartFlow Craft","username":"smartflowautomate","bio":"Founder of SmartFlowCraft — an AI agent platform for deploying production-ready automation for sales, support, and content ops. I build n8n workflow templates for real B2B use cases: SDR pipelines, churn detection, \n  multi-agent orchestration, content repurposing, and revenue operations.","verified":true,"links":["https://www.smartflowcraft.com/"],"avatar":"https://gravatar.com/avatar/da2267caca3c05aef7c35ee3394094a845dd4b2d1696e5e455c8bf5e9ce8f1c6?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":506,"icon":"file:freshworksCrm.svg","name":"n8n-nodes-base.freshworksCrm","codex":{"data":{"alias":["Freshdesk"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.freshworkscrm/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/freshworkscrm/"}]},"categories":["Marketing","Sales"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"transform\"]","defaults":{"name":"Freshworks CRM"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIGlkPSJsYXllciIgd2lkdGg9IjEwMi42IiBoZWlnaHQ9IjEwMi42IiB2ZXJzaW9uPSIxLjEiPjxzdHlsZSBpZD0ic3R5bGUxMDgiIHR5cGU9InRleHQvY3NzIj4uc3Qxe2ZpbGw6IzliNjVjM30uc3QxNHtmaWxsOiM4YmRmNTV9PC9zdHlsZT48ZyBpZD0iZzE2OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjYgLTI3OS4zKSI+PHBhdGggaWQ9InBhdGgxMzAiIGQ9Ik0yMi4yIDMzOC4yYzEuNyAxMS4xIDYuOSAyMS4xIDE0LjQgMjguNmwxNy41LTE3LjVjMC0xNy43IDkuMi0zNC45IDI1LjYtNDQuNHoiIGNsYXNzPSJzdDEiLz48cGF0aCBpZD0icGF0aDEzMiIgZD0iTTU0LjEgMzQ5LjNjLTguNyAwLTE3LjUtMi4yLTI1LjYtNi45LTIuMi0xLjMtNC4zLTIuNy02LjMtNC4zIDEuNyAxMS4xIDYuOSAyMS4xIDE0LjQgMjguNnoiIGNsYXNzPSJzdDEiLz48cGF0aCBpZD0icGF0aDEzNCIgZD0ibTU0LjEgMzQ5LjMtMTcuNSAxNy41YzcuNiA3LjYgMTcuNSAxMi44IDI4LjYgMTQuNGwzMy4yLTU3LjVjLTkuNCAxNi40LTI2LjYgMjUuNi00NC4zIDI1LjYiIHN0eWxlPSJmaWxsOiNiZTYzYzUiLz48cGF0aCBpZD0icGF0aDEzNiIgZD0iTTYxIDM3NWMtNC43LTguMS02LjktMTYuOS02LjktMjUuNmwtMTcuNSAxNy41YzcuNiA3LjYgMTcuNSAxMi44IDI4LjYgMTQuNHEtMi4yNS0zLTQuMi02LjMiIHN0eWxlPSJmaWxsOiNiZjYzYzYiLz48cGF0aCBpZD0icGF0aDEzOCIgZD0iTTExOS4zIDI4Mi4xIDc5LjggMzA1Yy0xNi40IDkuNS0zNS45IDguOC01MS4yIDAtNC40IDcuNS02LjkgMTYuMy02LjkgMjUuNiAwIDIuNi4yIDUuMS42IDcuNiAyIDEuNiA0LjEgMyA2LjMgNC4zIDguMSA0LjcgMTYuOSA2LjkgMjUuNiA2LjlsNjYuMi02Ni4yYy0uNC0uNC0uNy0uOC0xLjEtMS4xIiBzdHlsZT0iZmlsbDojMzI3OGIxIi8+PHBhdGggaWQ9InBhdGgxNDAiIGQ9Ik0yOC41IDM0Mi41YzguMSA0LjcgMTYuOSA2LjkgMjUuNiA2LjkgMC0xNy43IDkuMi0zNC45IDI1LjYtNDQuNGwtNTcuNiAzMy4yYzIuMSAxLjUgNC4yIDMgNi40IDQuMyIgc3R5bGU9ImZpbGw6IzMyNzhiMiIvPjxwYXRoIGlkPSJwYXRoMTQyIiBkPSJNMjguNSAzMDVjLTQuNCA3LjUtNi45IDE2LjMtNi45IDI1LjYgMCAyLjYuMiA1LjEuNiA3LjZMNzkuOCAzMDVjLTE2LjUgOS40LTM2IDguOC01MS4zIDAiIHN0eWxlPSJmaWxsOiM0NWE0ZWMiLz48cGF0aCBpZD0icGF0aDE0NCIgZD0iTTEyMC40IDI4My4xYy0uMy0uMy0uNy0uNy0xLjEtMS0uNS0uNC0xLS44LTEuNi0xLjEtMS45LTEuMS00LjEtMS43LTYuNC0xLjdINzIuOWMtMTkgMC0zNS41IDEwLjMtNDQuNCAyNS42IDE1LjMgOC44IDM0LjggOS41IDUxLjIgMC0xNi40IDkuNS0yNS42IDI2LjctMjUuNiA0NC40IDE3LjcgMCAzNC45LTkuMiA0NC40LTI1LjZsMjIuOC0zOS41Yy0uMy0uNC0uNi0uOC0uOS0xLjEiIHN0eWxlPSJmaWxsOiMxOWJiN2QiLz48cGF0aCBpZD0icGF0aDE0NiIgZD0ibTc5LjggMzA1IDM5LjUtMjIuOGMtLjUtLjQtMS0uOC0xLjYtMS4xTDI4LjUgMzA1YzE1LjMgOC44IDM0LjggOS40IDUxLjMgMCIgc3R5bGU9ImZpbGw6IzA4YzdmYiIvPjxwYXRoIGlkPSJwYXRoMTQ4IiBkPSJNMTExLjMgMjc5LjNINzIuOWMtMTkgMC0zNS41IDEwLjMtNDQuNCAyNS42bDg5LjItMjMuOWMtMS45LTEtNC0xLjctNi40LTEuNyIgc3R5bGU9ImZpbGw6IzU5ZjJmNiIvPjxwYXRoIGlkPSJwYXRoMTUyIiBkPSJtOTguNSAzMjMuNyAyMi44LTM5LjVjLS4zLS40LS42LS43LTEtMS4xbC02Ni4yIDY2LjJjMCA4LjcgMi4yIDE3LjUgNi45IDI1LjYgMS4zIDIuMiAyLjcgNC4zIDQuMyA2LjMgMi41LjQgNSAuNiA3LjYuNiA5LjMgMCAxOC4xLTIuNSAyNS42LTYuOS04LjgtMTUuMy05LjUtMzQuOCAwLTUxLjIiIHN0eWxlPSJmaWxsOiNkYTM3NTciLz48cGF0aCBpZD0icGF0aDE1NCIgZD0iTTU0LjEgMzQ5LjNjMCA4LjcgMi4yIDE3LjUgNi45IDI1LjYgMS4zIDIuMiAyLjcgNC4zIDQuMyA2LjNsMzMuMi01Ny41Yy05LjUgMTYuNC0yNi43IDI1LjYtNDQuNCAyNS42IiBzdHlsZT0iZmlsbDojZDMzYzRlIi8+PHBhdGggaWQ9InBhdGgxNTYiIGQ9Im05OC41IDMyMy43LTMzLjIgNTcuNmMyLjUuNCA1IC42IDcuNi42IDkuMyAwIDE4LjEtMi41IDI1LjYtNi45LTguOC0xNS40LTkuNS0zNC45IDAtNTEuMyIgc3R5bGU9ImZpbGw6I2VlNWEyNCIvPjxwYXRoIGlkPSJwYXRoMTU4IiBkPSJNMTIyLjQgMjg1LjhjLS4zLS42LS43LTEuMS0xLjEtMS42LS4zLS40LS42LS43LTEtMS4xLS4zLS4zLS43LS43LTEuMS0xTDc5LjggMzA1Yy0xNi40IDkuNS0yNS42IDI2LjctMjUuNiA0NC40IDE3LjcgMCAzNC45LTkuMiA0NC40LTI1LjYtOS41IDE2LjQtOC44IDM1LjkgMCA1MS4yIDE1LjMtOC45IDI1LjYtMjUuNCAyNS42LTQ0LjR2LTM4LjRjLS4xLTIuNC0uNy00LjYtMS44LTYuNCIgY2xhc3M9InN0MTQiLz48cGF0aCBpZD0icGF0aDE2MCIgZD0iTTExOS4zIDI4Mi4xIDc5LjggMzA1Yy0xNi40IDkuNS0yNS42IDI2LjctMjUuNiA0NC40bDY2LjItNjYuMmMtLjQtLjQtLjctLjgtMS4xLTEuMSIgc3R5bGU9ImZpbGw6IzI1YzE2ZiIvPjxwYXRoIGlkPSJwYXRoMTYyIiBkPSJNNTQuMSAzNDkuM2MxNy43IDAgMzQuOS05LjIgNDQuNC0yNS42bDIyLjgtMzkuNWMtLjMtLjQtLjYtLjctMS0xLjF6IiBjbGFzcz0ic3QxNCIvPjxwYXRoIGlkPSJwYXRoMTY0IiBkPSJtMTIxLjMgMjg0LjItMjIuOCAzOS41Yy05LjUgMTYuNC04LjggMzUuOSAwIDUxLjJsMjMuOS04OS4yYy0uMy0uNS0uNy0xLTEuMS0xLjUiIHN0eWxlPSJmaWxsOiNmYjAiLz48cGF0aCBpZD0icGF0aDE2NiIgZD0iTTk4LjUgMzc1YzE1LjMtOC45IDI1LjYtMjUuNCAyNS42LTQ0LjR2LTM4LjRjMC0yLjMtLjYtNC41LTEuNy02LjR6IiBzdHlsZT0iZmlsbDojZmZhODAwIi8+PC9nPjwvc3ZnPg=="},"displayName":"Freshworks CRM","typeVersion":1,"nodeCategories":[{"id":2,"name":"Sales"},{"id":27,"name":"Marketing"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":39,"name":"CRM"},{"id":49,"name":"AI Summarization"}],"image":[]}}