feat: add folder support for workflows (fixes #70)

This commit is contained in:
Praveen Mudalgeri
2025-08-05 09:40:47 +05:30
parent 307d530f9b
commit c4885eee92
2057 changed files with 985290 additions and 974268 deletions

View File

@@ -0,0 +1,224 @@
{
"id": "5Y8QXJ3N67wnmR2R",
"meta": {
"instanceId": "433fa4b57c582f828a127c9c601af0fc38d9d6424efd30a3ca802a4cc3acd656",
"templateCredsSetupCompleted": true
},
"name": "POC - Chatbot Order by Sheet Data",
"tags": [],
"nodes": [
{
"id": "cc9ab139-303f-411a-a7c8-5985d92e3040",
"name": "Calculator",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
1460,
480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "97a6d3a8-001c-4c62-84c2-da5b46a286a9",
"name": "Chat OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
740,
480
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "XXXXXXXXXX",
"name": "OpenAI Credentials"
}
},
"typeVersion": 1
},
{
"id": "1ad05eb6-0f6a-4da7-9d86-871dfa7cbce1",
"name": "Window Buffer Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
900,
480
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "f4883308-3e4a-49b1-82f5-c18dc2121c47",
"name": "Get Products",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
1060,
480
],
"parameters": {
"url": "https://n8n.io/webhook/get-products",
"toolDescription": "Retrieve detailed information about the product menu."
},
"typeVersion": 1.1
},
{
"id": "058b1cf5-b8c0-414d-b4c6-e4c016e4d181",
"name": "Order Product",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
1200,
480
],
"parameters": {
"url": "https://n8n.io/webhook/order-product",
"method": "POST",
"sendBody": true,
"parametersBody": {
"values": [
{
"name": "message",
"value": "={{ $json.chatInput }}",
"valueProvider": "fieldValue"
}
]
},
"toolDescription": "Process product orders."
},
"typeVersion": 1.1
},
{
"id": "6e0b433c-1d8f-4cf8-aa06-cc1b8d51e2d9",
"name": "Get Order",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
1320,
480
],
"parameters": {
"url": "https://n8n.io/webhook/get-orders",
"toolDescription": "Get the order status."
},
"typeVersion": 1.1
},
{
"id": "a0ee2e49-52cf-40d8-b108-4357bf562505",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
540,
160
],
"webhookId": "d925cc6e-6dd7-4459-a917-e68d57ab0e2a",
"parameters": {
"public": true,
"options": {},
"initialMessages": "Hellooo! 👋 My name is Pizzaro 🍕. I'm here to help with your pizza order. How can I assist you?\n\n📣 INFO: If youd like to order a pizza, please include your name + pizza type + quantity. Thank you!"
},
"typeVersion": 1.1
},
{
"id": "81892405-e09c-4452-99b3-f5edbe49b830",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
780,
160
],
"parameters": {
"text": "={{ $json.chatInput }}",
"options": {
"systemMessage": "=Your name is Pizzaro, and you are an assistant for handling customer pizza orders.\n\n1. If a customer asks about the menu, provide information on the available products.\n2. If a customer is placing an order, confirm the order details, inform them that the order is being processed, and thank them.\n3. If a customer inquires about their order status, provide the order date, pizza type, and quantity."
},
"promptType": "define"
},
"executeOnce": false,
"typeVersion": 1.6
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6431e20b-e135-43b2-bbcb-ed9c705d1237",
"connections": {
"Get Order": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Calculator": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Chat OpenAI": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Products": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Order Product": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Window Buffer Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
}
}
}

View File

@@ -0,0 +1,41 @@
{
"nodes": [
{
"name": "Mock Data",
"type": "n8n-nodes-base.function",
"position": [
550,
300
],
"parameters": {
"functionCode": "return [{json:[\"item-1\", \"item-2\", \"item-3\", \"item-4\"]}];"
},
"typeVersion": 1
},
{
"name": "Function",
"type": "n8n-nodes-base.function",
"position": [
750,
300
],
"parameters": {
"functionCode": "return items[0].json.map(item => {\n return {\n json: {\n data:item\n },\n }\n});\n"
},
"typeVersion": 1
}
],
"connections": {
"Mock Data": {
"main": [
[
{
"node": "Function",
"type": "main",
"index": 0
}
]
]
}
}
}

View File

@@ -0,0 +1,77 @@
{
"\"meta\"": "{",
"\"instanceId\"": "\"e4f78845dfed9ddcfba1945ae00d12e9a7d76eab052afd19299228ce02349d86\"",
"\"nodes\"": "[",
"\"id\"": "\"2b4c1e91-c64b-43cb-aba2-c6f8f5a17c79\",",
"\"name\"": "\"Webhook\",",
"\"type\"": "\"main\",",
"\"position\"": "[",
"\"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\u2019s 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., \u201cThe 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.\u201d] \\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\"": "2",
"\"credentials\"": "{",
"\"openAiApi\"": "{",
"\"sheetName\"": "{",
"\"__rl\"": "true,",
"\"mode\"": "\"id\",",
"\"value\"": "\"=Telephone Directory\"",
"\"cachedResultUrl\"": "\"\",",
"\"cachedResultName\"": "\"\"",
"\"documentId\"": "{",
"\"googleSheetsOAuth2Api\"": "{",
"\"assignments\"": "[",
"\"conditions\"": "[",
"\"version\"": "2,",
"\"leftValue\"": "\"={{ $json.output }}\",",
"\"caseSensitive\"": "true,",
"\"typeValidation\"": "\"strict\"",
"\"combinator\"": "\"and\",",
"\"operator\"": "{",
"\"operation\"": "\"get\",",
"\"rightValue\"": "\"**Invalid Lead - Not related to products, services, or solutions.**\"",
"\"subject\"": "\"={{ $('Fields for Outlook').item.json.subject }}\",",
"\"bodyContent\"": "\"={{ $json.html }}\\n<a href=\\\"https://erpnext.syncbricks.com/app/lead/{{ $('Webhook').item.json.body.name }}\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">Here is Lead {{ $('Source Website and Status Open').item.json.body.name }} </a>\\n\",",
"\"toRecipients\"": "\"= {{ $('Fields for Outlook').item.json.email_addresses }}\",",
"\"additionalFields\"": "{",
"\"bodyContentType\"": "\"html\"",
"\"microsoftOutlookOAuth2Api\"": "{",
"\"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:\\\\*\\\\* (.+)/, '<p><strong>Customer Name:</strong> $1</p>')\\n .replace(/\\\\*\\\\*Organization:\\\\*\\\\* (.+)/, '<p><strong>Organization:</strong> $1</p>')\\n .replace(/\\\\*\\\\*Contact Information:\\\\*\\\\* (.+)/, '<p><strong>Contact Information:</strong> $1</p>')\\n .replace(/\\\\*\\\\*Inquiry Summary:\\\\*\\\\*\\\\s*([\\\\s\\\\S]+?)(?=\\\\n\\\\n\\\\*\\\\*Action Required:)/, '<p><strong>Inquiry Summary:</strong> $1</p>')\\n .replace(/\\\\*\\\\*Action Required:\\\\*\\\\*\\\\s*([\\\\s\\\\S]+)/, '<p><strong>Action Required:</strong> $1</p>');\\n\\n // Wrap each paragraph in `<p>` tags for better readability\\n htmlBody = htmlBody\\n .replace(/Dear (.+?),/, '<p>Dear <strong>$1</strong>,</p>')\\n .replace(/Thank you,\\\\s+(.+)/, '<p>Thank you,<br><strong>$1</strong></p>');\\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\"",
"\"singleValue\"": "true",
"\"documentURL\"": "\"you-must-provide-the-doc-id\"",
"\"googleDocsOAuth2Api\"": "{",
"\"color\"": "3,",
"\"width\"": "302.58963031819115,",
"\"height\"": "660,",
"\"content\"": "\"### Prepare for Email\\nThis node will get approprate Fields for Email \\nEmail Addresses:\\nSubject : \\nEmail Body : \"",
"\"url\"": "\"=https://erpnext.syncbricks.com/api/resource/Lead/{{ $('Source Website and Status Open').item.json.body.name }}\",",
"\"authentication\"": "\"predefinedCredentialType\",",
"\"nodeCredentialType\"": "\"erpNextApi\"",
"\"erpNextApi\"": "{",
"\"webhookId\"": "\"a39ea4e2-99b7-4ae1-baff-9fb370333e2a\",",
"\"path\"": "\"new-lead-generated-in-erpnext\",",
"\"httpMethod\"": "\"POST\"",
"\"pinData\"": "{},",
"\"connections\"": "{",
"\"Webhook\"": "{",
"\"main\"": "[",
"\"node\"": "\"Email Body for Outlook\",",
"\"index\"": "0",
"\"Lead Body\"": "{",
"\"Abbriviations\"": "{",
"\"ai_tool\"": "[",
"\"Company Profile\"": "{",
"\"Company Policies\"": "{",
"\"Inquiry has Notes\"": "{",
"\"Inquiry is Valid?\"": "{",
"\"OpenAI Chat Model\"": "{",
"\"ai_languageModel\"": "[",
"\"Fields for Outlook\"": "{",
"\"Customer Lead AI Agent\"": "{",
"\"Email Body for Outlook\"": "{",
"\"Company Contact Database\"": "{",
"\"Get Lead Data from ERPNext\"": "{",
"\"Source Website and Status Open\"": "{",
"\"Email Body Text Generated by AI\"": "{"
}

View File

@@ -0,0 +1,106 @@
{
"\"meta\"": "{",
"\"instanceId\"": "\"26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e\"",
"\"nodes\"": "[",
"\"id\"": "\"787bb405-1744-43b7-8c47-1a2c23331e05\",",
"\"name\"": "\"Sticky Note8\",",
"\"type\"": "\"main\",",
"\"position\"": "[",
"\"parameters\"": "{",
"\"width\"": "181.85939799093455,",
"\"height\"": "308.12010511833364,",
"\"content\"": "\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n### \ud83d\udea8Required!\\nRemember to set your Notion Database here.\"",
"\"typeVersion\"": "1",
"\"model\"": "\"gpt-4o\",",
"\"options\"": "{",
"\"temperature\"": "0",
"\"credentials\"": "{",
"\"openAiApi\"": "{",
"\"url\"": "\"https://serpapi.com/search\",",
"\"fields\"": "\"position,title,link,snippet,source\",",
"\"method\"": "\"POST\",",
"\"sendBody\"": "true,",
"\"dataField\"": "\"organic_results\",",
"\"authentication\"": "\"predefinedCredentialType\",",
"\"parametersBody\"": "{",
"\"values\"": "[",
"\"value\"": "\"={{\\n {\\n ...$('Company Overview Agent').item.json.output,\\n ...$('Company Product Offering Agent').item.json.output,\\n ...$('Company Product Reviews Agent').item.json.output,\\n }\\n}}\"",
"\"valueProvider\"": "\"fieldValue\"",
"\"fieldsToInclude\"": "\"selected\",",
"\"genericAuthType\"": "\"httpHeaderAuth\"",
"\"toolDescription\"": "\"Call this tool to search for the latest news articles of a company.\",",
"\"optimizeResponse\"": "true,",
"\"httpHeaderAuth\"": "{",
"\"jsonSchemaExample\"": "\"{\\n \\\"number_of_reviews\\\": 0,\\n \\\"positive_mentions_%\\\": \\\"\\\",\\n \\\"negative_mentions_%\\\": \\\"\\\",\\n \\\"top_pros\\\": [\\\"\\\"],\\n \\\"top_cons\\\": [\\\"\\\"],\\n \\\"top_countries\\\": [\\\"\\\"],\\n \\\"top_social_media_platforms\\\": [\\\"\\\"]\\n}\"",
"\"compare\"": "\"selectedFields\",",
"\"fieldsToCompare\"": "\"url\"",
"\"assignments\"": "[",
"\"fieldToSplitOut\"": "\"results\"",
"\"sendQuery\"": "true,",
"\"parametersQuery\"": "{",
"\"nodeCredentialType\"": "\"serpApi\"",
"\"serpApi\"": "{",
"\"placeholderDefinitions\"": "{",
"\"description\"": "\"the url or lik to the review site webpage.\"",
"\"title\"": "\"={{ $json.output.company_name }}\",",
"\"blockUi\"": "{",
"\"blockValues\"": "[",
"\"textContent\"": "\"={{ $json.output.top_cons.join(', ') }}\"",
"\"resource\"": "\"databasePage\",",
"\"databaseId\"": "{",
"\"__rl\"": "true,",
"\"mode\"": "\"list\",",
"\"cachedResultUrl\"": "\"https://www.notion.so/2d1c3c726e8e42f3aecec6338fd24333\",",
"\"cachedResultName\"": "\"n8n Competitor Analysis\"",
"\"propertiesUi\"": "{",
"\"propertyValues\"": "[",
"\"key\"": "\"Cons|rich_text\",",
"\"notionApi\"": "{",
"\"maxItems\"": "10",
"\"bodyParameters\"": "{",
"\"color\"": "7,",
"\"webhookId\"": "\"94b5b09f-0599-4585-b83b-f669726bc2ef\",",
"\"amount\"": "2",
"\"text\"": "\"={{ $('Loop Over Items').item.json.url }}\",",
"\"systemMessage\"": "\"Your role is customer reviews agent. Your goal is to gather and collect online customer reviews for a company or their product or service.\\n* number of reviews\\n* Positive mentions, %\\n* Negative mentions, %\\n* Top pros\\n* Top cons\\n* Top countries\\n* Top social media platforms\\n\\n## steps\\n1. search for review sites that may have reviews for the company or product in question. retrieve the links or urls of the serch results where the reviews are found.\\n2. Identify relevant items in the search result and and extract the urls from the search results.\\n2. using the extracted urls from the search results, fetch the webpage of the review sites containing reviews for the company or product.\\n3. extract the reviews from the fetched review sites to populate the required data points.\\n\\nIf a data point is not found after completing all the above steps, do not use null values in your final response. Use either an empty array, object or string depending on the required schema for the data point.\\nDo not retry any link that returns a 400,401,403 or 500 error code.\"",
"\"promptType\"": "\"define\",",
"\"hasOutputParser\"": "true",
"\"pinData\"": "{},",
"\"connections\"": "{",
"\"2sec\"": "{",
"\"main\"": "[",
"\"node\"": "\"Set Source Company\",",
"\"index\"": "0",
"\"Limit\"": "{",
"\"Extract Domain\"": "{",
"\"Collect Results\"": "{",
"\"Loop Over Items\"": "{",
"\"Results to List\"": "{",
"\"Search LinkedIn\"": "{",
"\"ai_tool\"": "[",
"\"Webscraper Tool\"": "{",
"\"Get Company News\"": "{",
"\"Search WellFound\"": "{",
"\"Webscraper Tool1\"": "{",
"\"Webscraper Tool2\"": "{",
"\"OpenAI Chat Model\"": "{",
"\"ai_languageModel\"": "[",
"\"Remove Duplicates\"": "{",
"\"Search Crunchbase\"": "{",
"\"Insert Into Notion\"": "{",
"\"OpenAI Chat Model1\"": "{",
"\"OpenAI Chat Model2\"": "{",
"\"Set Source Company\"": "{",
"\"Company Overview Agent\"": "{",
"\"Search Company Website\"": "{",
"\"Structured Output Parser\"": "{",
"\"ai_outputParser\"": "[",
"\"Structured Output Parser1\"": "{",
"\"Structured Output Parser2\"": "{",
"\"Search Product Review Sites\"": "{",
"\"Check Company Profiles Exist\"": "{",
"\"Competitor Search via Exa.ai\"": "{",
"\"Company Product Reviews Agent\"": "{",
"\"Company Product Offering Agent\"": "{",
"\"When clicking \u2018Test workflow\u2019\"": "{"
}

View File

@@ -0,0 +1,68 @@
{
"\"meta\"": "{",
"\"instanceId\"": "\"f0a68da631efd4ed052a324b63ff90f7a844426af0398a68338f44245d1dd9e5\"",
"\"nodes\"": "[",
"\"id\"": "\"67\",",
"\"name\"": "\"Lucas Open AI\"",
"\"type\"": "\"main\",",
"\"position\"": "[",
"\"parameters\"": "{",
"\"email\"": "\"={{ $json[\\\"leadEmail\\\"] }}\",",
"\"resource\"": "\"contact\",",
"\"operation\"": "\"unsubscribe\",",
"\"campaignId\"": "\"={{$json[\\\"campaignId\\\"]}}\"",
"\"credentials\"": "{",
"\"lemlistApi\"": "{",
"\"typeVersion\"": "1",
"\"metadata\"": "{",
"\"subject\"": "\"=OOO - Follow up with {{ $json[\\\"properties\\\"][\\\"firstname\\\"][\\\"value\\\"] }} {{ $json[\\\"properties\\\"][\\\"lastname\\\"][\\\"value\\\"] }}\"",
"\"authentication\"": "\"oAuth2\"",
"\"additionalFields\"": "{",
"\"associations\"": "{",
"\"contactIds\"": "\"={{ $json[\\\"vid\\\"] }}\"",
"\"hubspotOAuth2Api\"": "{",
"\"rules\"": "[",
"\"value2\"": "\"Out of Office\"",
"\"output\"": "2,",
"\"value1\"": "\"={{ $json[\\\"text\\\"].trim() }}\",",
"\"dataType\"": "\"string\",",
"\"fallbackOutput\"": "3",
"\"mode\"": "\"combine\",",
"\"options\"": "{",
"\"clashHandling\"": "{",
"\"values\"": "{",
"\"resolveClash\"": "\"preferInput1\"",
"\"combinationMode\"": "\"mergeByPosition\"",
"\"url\"": "\"=https://api.lemlist.com/api/campaigns/YOUR_CAMPAIGN_ID/leads/{{$json[\\\"leadEmail\\\"]}}/interested\",",
"\"requestMethod\"": "\"POST\",",
"\"nodeCredentialType\"": "\"lemlistApi\"",
"\"stage\"": "\"79009480\",",
"\"dealName\"": "\"=New Deal with {{ $json[\\\"identity-profiles\\\"][0][\\\"identities\\\"][0][\\\"value\\\"] }}\",",
"\"associatedVids\"": "\"={{$json[\\\"canonical-vid\\\"]}}\"",
"\"lastName\"": "\"={{ $json[\\\"leadLastName\\\"] }}\",",
"\"firstName\"": "\"={{ $json[\\\"leadFirstName\\\"] }}\"",
"\"text\"": "\"=Hello a lead replied to your emails. \\n\\nMore info in lemlist here: \\nhttps://app.lemlist.com/teams/{{$json[\\\"teamId\\\"]}}/reports/campaigns/{{$json[\\\"campaignId\\\"]}}\",",
"\"channel\"": "\"Your channel name\",",
"\"attachments\"": "[],",
"\"otherOptions\"": "{},",
"\"webhookId\"": "\"c8f49f36-7ab6-4607-bc5a-41c9555ebd09\",",
"\"event\"": "\"emailsReplied\",",
"\"isFirst\"": "true",
"\"prompt\"": "\"=The following is a list of emails and the categories they fall into:\\nCategories=[\\\"interested\\\", \\\"Out of office\\\", \\\"unsubscribe\\\", \\\"other\\\"]\\n\\nInterested is when the reply is positive.\\\"\\n\\n{{$json[\\\"text\\\"].replaceAll(/^\\\\s+|\\\\s+$/g, '').replace(/(\\\\r\\\\n|\\\\n|\\\\r)/gm, \\\"\\\")}}\\\\\\\"\\nCategory:\",",
"\"topP\"": "1,",
"\"maxTokens\"": "6,",
"\"temperature\"": "0",
"\"openAiApi\"": "{",
"\"connections\"": "{",
"\"Merge\"": "{",
"\"main\"": "[",
"\"node\"": "\"follow up task\",",
"\"index\"": "0",
"\"OpenAI\"": "{",
"\"Switch\"": "{",
"\"HubSpot - Create Deal\"": "{",
"\"Lemlist - Lead Replied\"": "{",
"\"HubSpot - Get contact ID\"": "{",
"\"HubSpot - Get contact ID1\"": "{",
"}slemlist <> GPT-3": "Supercharge your sales workflows"
}