{ "meta": { "instanceId": "workflow-3644fc21", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:42.760576", "updatedAt": "2025-09-29T07:07:42.760601", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "nodes": [ { "id": "23291d25-3e1a-4b0d-9b1d-d066e8c04a1f", "name": "Customer Lead AI Agent", "type": "n8n-nodes-base.noOp", "position": [ -640, 460 ], "parameters": { "text": "=**System Prompt:**\n\nYou are an AI assistant designed to process new leads and generate appropriate responses. Your role includes analyzing lead notes, categorizing them, and generating an email from the system to inform the relevant contact about the inquiry. Do not send the email as if it is directly from the customer; instead, draft it as a notification from the system summarizing the inquiry.\n\n### **Process Flow**\n\n1. **Analyzing Lead Notes:**\n - Extract key details such as the customer name, organization, contact information, and their specific request. \n - Determine if the inquiry relates to products, services, or solutions offered by the company.\n\n2. **Finding the Appropriate Contact(s):**\n - Search the contact database to find the responsible person(s) for the relevant product, service, or solution. \n - If one person is responsible, provide their email. \n - If multiple people are responsible, list all emails separated by commas.\n\n3. **Generating an Email Notification:**\n - Draft a professional email as a notification from the system.\n - Summarize the customer’s inquiry.\n - Include all relevant details to assist the recipient in addressing the inquiry.\n\n4. **Handling Invalid Leads:**\n - If the inquiry is unrelated to products, services, or solutions (e.g., job inquiries or general product inquiries), classify it as invalid and return: \n `\"Invalid Lead - Not related to products, services, or solutions.\"`\n\n### **Output Requirements**\n\n1. **For Relevant Leads:**\n - **Email Address(es):** Provide the appropriate email(s). \n - **Email Message Body:** Generate an email notification from the system summarizing the inquiry.\n\n2. **For Invalid Leads:**\n - Return: `\"Invalid Lead - Not related to products, services, or solutions.\"`\n\n\n### **Email Template for Relevant Leads**\n\n**Email Address(es):** [Relevant Email IDs]\n\n**Email Message Body:**\n\n_Subject: New Inquiry from Customer Regarding [Product/Service/Solution]_ \n\nDear [Recipient(s)], \n\nWe have received a new inquiry from a customer through our system. Below are the details: \n\n**Customer Name:** [Customer Name] \n**Organization:** [Organization Name] \n**Contact Information:** [Contact Details] \n\n**Inquiry Summary:** \n[Summarized description of the customer's request, e.g., “The customer is seeking to upgrade their restroom facilities with touchless soap dispensers and tissue holders installed behind mirrors. They have requested a site visit to assess the location and provide a proposal.”] \n\n**Action Required:** \nPlease prioritize this inquiry and reach out to the customer promptly to address their requirements. \n\nThank you, \n[Your System Name] \n\n\n### **Example Output**\n\n**Input Lead Notes:**\n*\"Dear Syncbricks, We are looking to Develop Workflow Automation Soluition for our company, can you let us know the details what do you offer in tems of this.\"*\n\n**Output:**\n\n- **Email Address(es):** employee@syncbricks.com\n\n- **Email Message Body:** \n\n_Subject: Workflow Automation Platform Integration_ \n\nDear -Emploiyee Name (s) --, \n\nWe have received a new inquiry from a customer through our system. Below are the details: \n\n**Customer Name:** Amjid Ali \n**Organization:** Syncbricks LLC\n**Contact Information:** 123456789 \n\n**Inquiry Summary:** \nThe customer is asking for workflow automation for their company \n\n**Action Required:** \nPlease prioritize this inquiry and reach out to the customer promptly to address their requirements. \n\nThank you, \nSyncbricks LLC\n\n---\nHere are the Lead Details\nLead Name : {{ $json.data.lead_name }}\nCompany : {{ $json.data.company_name }}\nSource : {{ $json.data.source }}\nNotes : {{ $json.data.notes }}\nCity : {{ $json.data.city }}\nCountry : {{ $json.data.country }}\nMobile : {{ $json.data.mobile_no }}", "options": {}, "promptType": "define" }, "typeVersion": 1.7, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "1831dc36-910b-4a72-a90e-b411f105a8c3", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "position": [ -800, 800 ], "parameters": { "options": {} }, "credentials": { "openAiApi": { "id": "hTl3a2XqteCwExYY", "name": "OpenAi account" } }, "typeVersion": 1, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "79713c56-2f7c-4872-90e4-331715f54048", "name": "Abbriviations", "type": "n8n-nodes-base.googleSheetsTool", "position": [ -640, 800 ], "parameters": { "options": {}, "sheetName": { "__rl": true, "mode": "list", "value": "gid=0", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "abbrivaitions" }, "documentId": { "__rl": true, "mode": "list", "value": "1gtdrAe-jjQH9gQdXA9PJ5y3dSAN4i6k_Rs5sDyALIfU", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Abbriviations List" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "L3lApjbQfMm36LLX", "name": "Google Sheets account" } }, "typeVersion": 4.5, "notes": "This googleSheetsTool node performs automated tasks as part of the workflow." }, { "id": "73b1e3c9-4703-4f87-8399-e7a9bf368d4c", "name": "Lead Body", "type": "n8n-nodes-base.set", "position": [ -1640, 640 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "82a674a2-4d12-45f2-b276-cc95cf7b2e93", "name": "body", "type": "object", "value": "={{ $json.body }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "5f25d846-c639-49e5-bea2-160000bfb104", "name": "Source Website and Status Open", "type": "n8n-nodes-base.if", "position": [ -1920, 640 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "2b184de2-a64e-44e3-8f25-645539681533", "operator": { "name": "filter.operator.equals", "type": "string", "operation": "equals" }, "leftValue": "={{ $json.body.source }}", "rightValue": "Website" }, { "id": "9632cf65-11a1-483c-95c8-94bfe84fb243", "operator": { "name": "filter.operator.equals", "type": "string", "operation": "equals" }, "leftValue": "={{ $json.body.status }}", "rightValue": "Open" } ] } }, "typeVersion": 2.2, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "12ba65c9-0890-4862-9704-98492eb8f637", "name": "Microsoft Outlook", "type": "n8n-nodes-base.microsoftOutlook", "position": [ 1180, 580 ], "parameters": { "subject": "={{ $('Fields for Outlook').item.json.subject }}", "bodyContent": "={{ $json.html }}\nHere is Lead {{ $('Source Website and Status Open').item.json.body.name }} \n", "toRecipients": "= {{ $('Fields for Outlook').item.json.email_addresses }}", "additionalFields": { "bodyContentType": "html" } }, "credentials": { "microsoftOutlookOAuth2Api": { "id": "9gy3uvf3pmBdpEsq", "name": "Microsoft Outlook Al Ansari" } }, "typeVersion": 2, "notes": "This microsoftOutlook node performs automated tasks as part of the workflow." }, { "id": "b1410997-3705-4234-918e-a14e4ccc6b70", "name": "Email Body Text Generated by AI", "type": "n8n-nodes-base.set", "position": [ 700, 580 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "cdce31fb-2ec9-45ce-a4ac-a6ff9c811dc3", "name": "email_body", "type": "string", "value": "={{ $json.email_body }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "b10684b9-9f72-42b3-a9f9-c54e711ceb59", "name": "Fields for Outlook", "type": "n8n-nodes-base.code", "position": [ 360, 600 ], "parameters": { "jsCode": "// Input text from the `output` field\nconst textOutput = $json?.output || '';\n\n// Function to extract values from the text\nfunction extractFields(text) {\n const fields = {};\n\n // Regular expressions to extract each field\n const emailMatch = text.match(/\\*\\*Email Address\\(es\\):\\*\\*\\s*([^\\n]+)/);\n const subjectMatch = text.match(/_Subject:\\s*([^_]+)/);\n const emailBodyMatch = text.match(/Dear[\\s\\S]+/);\n\n // Assign extracted values to the fields\n fields.email_addresses = emailMatch ? emailMatch[1].trim() : null;\n fields.subject = subjectMatch ? subjectMatch[1].trim() : null;\n fields.email_body = emailBodyMatch ? emailBodyMatch[0].trim() : null;\n\n return fields;\n}\n\n// Extract fields from the output\nconst extractedFields = extractFields(textOutput);\n\n// Return the fields as JSON\nreturn {\n json: extractedFields\n};\n" }, "typeVersion": 2, "notes": "This code node performs automated tasks as part of the workflow." }, { "id": "e2c10569-fde2-425c-8b20-fdb32a6e2bd5", "name": "Email Body for Outlook", "type": "n8n-nodes-base.code", "position": [ 860, 580 ], "parameters": { "jsCode": "// Input email body\nconst emailBody = $json.email_body || '';\n\n// Function to convert plain text email body into HTML\nfunction formatEmailBodyAsHtml(body) {\n // Replace markdown-like sections with corresponding HTML\n let htmlBody = body\n .replace(/\\*\\*Customer Name:\\*\\* (.+)/, '

Customer Name: $1

')\n .replace(/\\*\\*Organization:\\*\\* (.+)/, '

Organization: $1

')\n .replace(/\\*\\*Contact Information:\\*\\* (.+)/, '

Contact Information: $1

')\n .replace(/\\*\\*Inquiry Summary:\\*\\*\\s*([\\s\\S]+?)(?=\\n\\n\\*\\*Action Required:)/, '

Inquiry Summary: $1

')\n .replace(/\\*\\*Action Required:\\*\\*\\s*([\\s\\S]+)/, '

Action Required: $1

');\n\n // Wrap each paragraph in `

` tags for better readability\n htmlBody = htmlBody\n .replace(/Dear (.+?),/, '

Dear $1,

')\n .replace(/Thank you,\\s+(.+)/, '

Thank you,
$1

');\n\n return htmlBody;\n}\n\n// Convert the email body into HTML\nconst formattedHtmlBody = formatEmailBodyAsHtml(emailBody);\n\n// Return the formatted HTML\nreturn {\n html: formattedHtmlBody\n};\n" }, "typeVersion": 2, "notes": "This code node performs automated tasks as part of the workflow." }, { "id": "3297550b-ed78-4528-ad65-facdc879590a", "name": "Inquiry has Notes", "type": "n8n-nodes-base.if", "position": [ -1080, 640 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "bc81994a-2ad8-4af7-8c58-2c7e58a0fd2e", "operator": { "type": "string", "operation": "exists", "singleValue": true }, "leftValue": "={{ $json.data.notes }}", "rightValue": "" } ] } }, "typeVersion": 2.2, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "e2544a27-8b6d-4bb0-84f1-00c3a5e66978", "name": "Inquiry is Valid?", "type": "n8n-nodes-base.if", "position": [ 40, 620 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "ddd5e8a2-277f-4db6-b38d-28a7b91a2f66", "operator": { "type": "string", "operation": "notEquals" }, "leftValue": "={{ $json.output }}", "rightValue": "**Invalid Lead - Not related to products, services, or solutions.**" } ] } }, "typeVersion": 2.2, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "39cc73e7-ceb3-4e8e-a5bc-55648595f784", "name": "Company Profile", "type": "n8n-nodes-base.googleDocsTool", "position": [ -540, 800 ], "parameters": { "operation": "get", "documentURL": "{{ $env.BASE_URL }}" }, "credentials": { "googleDocsOAuth2Api": { "id": "RdTuYvYpBqEKhIQ3", "name": "Google Docs account" } }, "typeVersion": 2, "notes": "This googleDocsTool node performs automated tasks as part of the workflow." }, { "id": "8ee24c59-1acb-4d76-a136-74e69d694a49", "name": "Company Policies", "type": "n8n-nodes-base.googleDocsTool", "position": [ -420, 780 ], "parameters": { "operation": "get", "documentURL": "{{ $env.BASE_URL }}" }, "credentials": { "googleDocsOAuth2Api": { "id": "RdTuYvYpBqEKhIQ3", "name": "Google Docs account" } }, "typeVersion": 2, "notes": "This googleDocsTool node performs automated tasks as part of the workflow." }, { "id": "a5db3aa7-8a77-4553-9c13-a96c51f32745", "name": "Company Contact Database", "type": "n8n-nodes-base.googleSheetsTool", "position": [ -300, 780 ], "parameters": { "sheetName": { "__rl": true, "mode": "list", "value": "", "cachedResultUrl": "", "cachedResultName": "" }, "documentId": { "__rl": true, "mode": "id", "value": "=Telephone Directory" } }, "credentials": { "googleSheetsOAuth2Api": { "id": "L3lApjbQfMm36LLX", "name": "Google Sheets account" } }, "typeVersion": 4.5, "notes": "This googleSheetsTool node performs automated tasks as part of the workflow." }, { "id": "f3e73266-faa4-4e6d-8c60-92669d64233b", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ -2000, 257.53836663807056 ], "parameters": { "color": 6, "width": 297.84037615575886, "height": 643.0692298205195, "content": "### Filter the Lead\nI have done only for theose which are open and where the source is Website. You can remove this if you want to have all leads." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "0056e35c-4901-406d-9a95-f6da26808841", "name": "Sticky Note6", "type": "n8n-nodes-base.stickyNote", "position": [ -60, 280 ], "parameters": { "color": 3, "width": 302.58963031819115, "height": 660, "content": "### Output from AI Agent\nIf the INquiry is invalid, not related to the products and services offered, it will invalidate that you can optionnally link the invalid output to email or anything. Options are limitless" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5e0e9561-0fb8-4225-aa59-58e25abc8ca1", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -880, 280.0000000000002 ], "parameters": { "color": 7, "width": 764.2159851725196, "height": 648.5051458745236, "content": "### Customer Experience Agent (AI)\nNow this Node is an AI Agent who is speicalized to understand the Lead Source and the Inquiry sent by Cusomter. The Agent will look at company information, which has detials of producuts and services defined in Google Docs, and the Contacts Sheet where a column must be added mentioning that who is the person dealing in which products, solutions and services. Once the inquiry is about speicifc product solution and service it will look from the sheet and then will decide to whom the email has to be sent. Details is defined in the Agent.\nMake sure to drag fields from http request node" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5a3ca9c9-07c2-4c74-ba8c-6b14f487fc4d", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -2420, 260 ], "parameters": { "color": 5, "width": 398, "height": 642, "content": "### Once the Lead is generatd in ERP\n\nConsider creating creating an inquiry web form in ERPNext and let the Website Visitor fill that Inquiry form, as soon as the iqnuiry form is filled this workflow will start.\n\nMake sure to create a webhook in ERPNext. Follow Below steps in ERPNext.\n\nGo to Wehbooks \nDoctype : Lead\nTrigger : on_insert\n\nPaste this webhook there, as test first and finally production" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "cf930f52-d06b-40c1-91f5-fa1c3dfee09a", "name": "Sticky Note7", "type": "n8n-nodes-base.stickyNote", "position": [ 618.1625654107004, 260 ], "parameters": { "color": 4, "width": 388.6432532629275, "height": 662, "content": "### Email Body\nGet only Email body from Previous Node and then Convert this to HTML Format so that it looks professional. \n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "a1023b2b-3e0d-486f-9050-8ff98ff060b5", "name": "Sticky Note12", "type": "n8n-nodes-base.stickyNote", "position": [ -1440, 260 ], "parameters": { "color": 5, "width": 248.905549047384, "height": 654.6630436071407, "content": "### Get Details of Lead from ERPNext. For us most important is Notes" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "732046b2-967a-4e0c-85e4-ae04e8c0f9cf", "name": "Sticky Note13", "type": "n8n-nodes-base.stickyNote", "position": [ -1680, 260 ], "parameters": { "color": 6, "width": 222.5278407657604, "height": 651.0941643427163, "content": "### Get Lead ID\nThis will extract the Lead Name in ERPNext. Ensure to send doc.name from the webhook in ERPnext\n\nIt will then send this to next node to get full details of this lead." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "b80448ee-5a15-4569-99e4-c3e616a5600d", "name": "Sticky Note14", "type": "n8n-nodes-base.stickyNote", "position": [ 1035.2592266730085, 260 ], "parameters": { "color": 6, "width": 399.43186296400074, "height": 662, "content": "### Send Email\n\nNow drag and drop the fields from Previous Nodes. Email Addresses Subject and Body.\n\nRemember all fields are selected by AI Agent, whom to send email, what to send and so on. \n\nYou can alternatively inform your employees by whatsapp for quick action." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "3d190d34-f6e0-47bc-9216-d312d1d6ee38", "name": "Sticky Note11", "type": "n8n-nodes-base.stickyNote", "position": [ -2920, 260 ], "parameters": { "color": 4, "width": 475.27306699862953, "height": 636.1483291619771, "content": "## Developed by Amjid Ali\n\nThank you for using this workflow template. It has taken me countless hours of hard work, research, and dedication to develop, and I sincerely hope it adds value to your work.\n\nIf you find this template helpful, I kindly ask you to consider supporting my efforts. Your support will help me continue improving and creating more valuable resources.\n\nYou can contribute via PayPal here:\n\n{{ $env.WEBHOOK_URL }}\n\nFor Full Course about ERPNext or Automation using AI follow below link\n\n{{ $env.WEBHOOK_URL }}\n\nAdditionally, when sharing this template, I would greatly appreciate it if you include my original information to ensure proper credit is given.\n\nThank you for your generosity and support!\nEmail : amjid@amjidali.com\n{{ $env.WEBHOOK_URL }}\n{{ $env.WEBHOOK_URL }}\n{{ $env.WEBHOOK_URL }}" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "cfd7effc-92aa-43c6-9fc5-054b53de74a2", "name": "Sticky Note16", "type": "n8n-nodes-base.stickyNote", "position": [ -1160, 280 ], "parameters": { "color": 5, "width": 248.905549047384, "height": 654.6630436071407, "content": "### Inquiry with Notes\nIf inquiry is having notes then only it will forward to next node." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "e5b0992c-e360-4323-82cb-c7ddec45deb5", "name": "Get Lead Data from ERPNext", "type": "n8n-nodes-base.httpRequest", "position": [ -1360, 640 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "authentication": "{{ $credentials.predefinedCredentialType }}", "nodeCredentialType": "YOUR_CREDENTIAL_HERE" }, "credentials": { "erpNextApi": { "id": "PInpnsxvPkvaiW0z", "name": "ERPNext account" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "87508043-baf5-4fa6-aa38-0f06881dc267", "name": "Sticky Note10", "type": "n8n-nodes-base.stickyNote", "position": [ 280, 280 ], "parameters": { "color": 3, "width": 302.58963031819115, "height": 660, "content": "### Prepare for Email\nThis node will get approprate Fields for Email \nEmail Addresses:\nSubject : \nEmail Body : " }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79", "name": "Webhook", "type": "n8n-nodes-base.webhook", "position": [ -2300, 640 ], "webhookId": "a39ea4e2-99b7-4ae1-baff-9fb370333e2a", "parameters": { "path": "new-lead-generated-in-erpnext", "options": {}, "httpMethod": "POST" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "e5b0992c-e360-4323-82cb-c7ddec45deb5": { "main": [ [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-7fa4ed36", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-808bd572", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-dab05e6b", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-b12f0188", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-c630e409", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-c2a45203", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-f9678f75", "type": "main", "index": 0 } ], [ { "node": "error-handler-e5b0992c-e360-4323-82cb-c7ddec45deb5-dbf1be82", "type": "main", "index": 0 } ] ] }, "2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79": { "main": [ [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-01763dd4", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-4acf6355", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-51d130a6", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-95d22f7c", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-0ad3318a", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-bd801277", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-fb08f209", "type": "main", "index": 0 } ], [ { "node": "error-handler-2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79-dbf6f34d", "type": "main", "index": 0 } ] ] }, "1831dc36-910b-4a72-a90e-b411f105a8c3": { "main": [ [ { "node": "error-handler-1831dc36-910b-4a72-a90e-b411f105a8c3-b215b107", "type": "main", "index": 0 } ] ] }, "79713c56-2f7c-4872-90e4-331715f54048": { "main": [ [ { "node": "error-handler-79713c56-2f7c-4872-90e4-331715f54048-f0fefbc5", "type": "main", "index": 0 } ] ] }, "39cc73e7-ceb3-4e8e-a5bc-55648595f784": { "main": [ [ { "node": "error-handler-39cc73e7-ceb3-4e8e-a5bc-55648595f784-a759f2df", "type": "main", "index": 0 } ] ] }, "8ee24c59-1acb-4d76-a136-74e69d694a49": { "main": [ [ { "node": "error-handler-8ee24c59-1acb-4d76-a136-74e69d694a49-47b23ecc", "type": "main", "index": 0 } ] ] }, "a5db3aa7-8a77-4553-9c13-a96c51f32745": { "main": [ [ { "node": "error-handler-a5db3aa7-8a77-4553-9c13-a96c51f32745-71569289", "type": "main", "index": 0 } ] ] } }, "name": "Agent Workflow", "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "description": "Automated workflow: Agent Workflow. This workflow integrates 12 different services: webhook, microsoftOutlook, stickyNote, httpRequest, code. It contains 36 nodes and follows best practices for error handling and security.", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Agent Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }