{"workflow":{"id":14268,"name":"Retrieve and answer Gmail email queries with Llama 3.2, mxbai-embed, and Qdrant","views":91,"recentViews":2,"totalViews":91,"createdAt":"2026-03-23T14:03:05.561Z","description":"**Self-Hosted**\n\nThis workflow provides a complete end-to-end system for automatically managing your inbox by reading incoming questions, matching them to approved guidelines, and sending consistent, 24/7 replies. By combining local AI processing with an automated retrieval-augmented generation (RAG) pipeline, it ensures fast resolution times without compromising data privacy or incurring ongoing AI API costs.\n\n## Who is this for?\n\nThis is designed for **University Admissions, Student Support Teams, Customer Service Staff**, or **professionals in any industry** who are overwhelmed by their inboxes and spend countless hours answering repetitive questions. It is particularly useful for any organization looking to automate routine FAQs across various fields, maintaining personalized, human-like, and threaded email conversations while keeping data completely in-house.\n\n## 🛠️ Tech Stack\n\n- **n8n**: For workflow orchestration of both the ingestion pipeline and response automation.\n- **Docker & Docker Compose**: For containerizing and orchestrating the n8n and Qdrant services locally.\n- **Google Drive**: To host and trigger updates from the approved FAQ knowledge base.\n- **Gmail**: For real-time incoming email triggers and threaded outbound replies.\n- **Qdrant**: For self-hosted vector database storage and similarity matching.\n- **LM Studio**: To host the local AI models via an OpenAI-compatible API for two primary tasks:\n  - **Embedding Generation**: Uses the `mxbai-embed-large-v1` model to convert FAQ data and incoming questions into high-dimensional vectors for semantic matching.\n  - **Response Generation**: Uses the `llama-3.2-3b-instruct` model to process the retrieved context and craft a polite, personalized HTML email reply.\n\n## ✨ How it works\n\n1. **Knowledge Base Ingestion**: The workflow automatically detects updates to a specific FAQ JSON file in **Google Drive**, converts the Q&A pairs into vector embeddings using the local `mxbai` model, and stores them in **Qdrant**.\n2. **Email Trigger**: The resolution pipeline kicks off instantly when a new incoming email arrives via the **Gmail** trigger.\n3. **Semantic Search**: The incoming question is converted to an embedding using the `mxbai-embed-large-v1` model and checked against the Qdrant database to retrieve the top 3 most relevant FAQ answers, enforcing a minimum 0.7 similarity threshold for quality control.\n4. **LLM Response Generation**: The **OpenAI** node (pointing to **LM Studio**) processes the retrieved context and the student's email using the `llama-3.2-3b-instruct` model to craft a polite, personalized HTML email response.\n5. **Threaded Reply**: The **Gmail** node sends the generated response directly back into the original email thread, exactly like a human would.\n\n## 📋 Requirements\n\n- **Docker** and **Docker Compose** installed to run n8n and Qdrant locally.\n- **LM Studio** running a local server on port `1234`.\n- **mxbai-embed-large-v1** (GGUF) and **llama-3.2-3b-instruct** (GGUF) models loaded in LM Studio.\n- **Google Cloud Console** account with Gmail and Google Drive APIs enabled.\n- An FAQ JSON file properly formatted and hosted in Google Drive.\n\n## 🚀 How to set up\n\n1. **Prepare your Local AI**:\n   - Open **LM Studio**, download both the embedding and LLM models.\n   - Start the Local Server on port `1234`. \n   - Note your machine's local IP address (e.g., `192.168.1.50`).\n2. **Spin up Services**:\n   - Clone the repository and configure the `.env` file with your `QDRANT_COLLECTION` name.\n   - Run `docker compose up -d` to start the n8n and Qdrant containers.\n3. **Import the Workflow**:\n   - Open n8n at `http://localhost:5678` and import the provided JSON workflow file.\n4. **Link Services**:\n   - Update the **Google Drive** nodes with the File ID of your FAQ JSON document.\n   - Update the embedding and AI nodes with your local IP address in the Base URL.\n5. **Test and Activate**:\n   - Execute the ingestion pipeline manually to populate Qdrant.\n   - Toggle the workflow to **Active**.\n   - Send a test email to your connected Gmail address to verify the automated reply.\n\n## 🔑 Credential Setup\n\nTo run this workflow, you must configure the following credentials in n8n:\n\n- **Google (Gmail & Drive)**:\n  - Create new **Gmail OAuth2 API** and **Google Drive OAuth2 API** credentials.\n  - Enter your **Client ID** and **Client Secret** obtained from the Google Cloud Console (the same credentials can be used for both).\n- **Qdrant API**:\n  - Create a new **Qdrant API** credential.\n  - **REST URL**: Set this to `http://host.docker.internal:6333`.\n  - Leave the API key blank for the self-hosted Docker setup.\n- **OpenAI API (Local)**:\n  - Create a new **OpenAI API** credential for connecting to LM Studio.\n  - **API Key**: Enter any placeholder text (e.g., `lm-studio`).\n  - **Base URL**: Set this to your machine's local IP address (e.g., `http://&lt;LM_STUDIO_IP&gt;:1234/v1`) to ensure n8n can connect to the local AI server from within the Docker network.\n\n## ⚙️ How to customize\n\n- **Refine Response Tone**: Update the System Message in the AI node to change the personality, signature, or formatting rules of the generated email reply.\n- **Switch to Cloud AI**: If you prefer not to host models locally, swap out the local **LM Studio** connection for external APIs like **OpenAI (GPT-4o)**, **Anthropic (Claude)**, or **Cohere** for both embeddings and text generation.\n- **Change Embedding Models**: While the workflow uses a local model by default, anyone can easily swap the embedding nodes to use alternative models like **OpenAI (`text-embedding-3-small`)** or **Google Gemini (`text-embedding-004`)** if desired.\n- **Adjust Similarity Threshold**: Modify the semantic search threshold (default `0.7`) in the Qdrant node to be stricter or more lenient depending on your knowledge base accuracy.\n- **Alternative Triggers & Channels**: Replace the Gmail nodes with **Outlook / Microsoft 365**, **Zendesk**, **Intercom**, or **Slack** to resolve queries across different communication platforms.","workflow":{"nodes":[{"id":"5dddd013-33eb-4d44-b9b0-19825944060c","name":"Google Drive Trigger","type":"n8n-nodes-base.googleDriveTrigger","position":[-320,-208],"parameters":{"pollTimes":{"item":[{}]},"triggerOn":"specificFile","fileToWatch":{"__rl":true,"mode":"id","value":"11HH12Rrdy6RGSBsHM8Ci31OYM0VfHZCr"}},"credentials":{"googleDriveOAuth2Api":{"id":"yjU8C9q58765UKv7","name":"Google Drive Account"}},"typeVersion":1},{"id":"3de5c51c-02a4-4d0b-b3cd-1a2228a3f5ee","name":"Download file","type":"n8n-nodes-base.googleDrive","position":[-128,-208],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"download"},"credentials":{"googleDriveOAuth2Api":{"id":"yjU8C9q58765UKv7","name":"Google Drive Account"}},"typeVersion":3},{"id":"6dc2432f-90af-4c20-897f-459196ce4e85","name":"Extract from File","type":"n8n-nodes-base.extractFromFile","position":[48,-208],"parameters":{"options":{},"operation":"fromJson"},"typeVersion":1.1},{"id":"a420b373-77e1-465a-92e2-2509b6a823c7","name":"Create Collection","type":"n8n-nodes-qdrant.qdrant","position":[576,-448],"parameters":{"vectors":"{\n  \"size\": 1024,\n  \"distance\": \"Cosine\"\n}","operation":"createCollection","shardNumber":1,"collectionName":"{{ $json.collection }}","requestOptions":{},"replicationFactor":1},"credentials":{"qdrantRestApi":{"id":"TpgvtX0iTPjymkHR","name":"Qdrant account"}},"typeVersion":1},{"id":"9ad05ae8-e8fd-40da-bee6-a89066fd9817","name":"Check If Collection Exists","type":"n8n-nodes-qdrant.qdrant","position":[32,-464],"parameters":{"operation":"collectionExists","collectionName":"={{ $json.collection }}","requestOptions":{}},"credentials":{"qdrantRestApi":{"id":"TpgvtX0iTPjymkHR","name":"Qdrant account"}},"typeVersion":1},{"id":"d4a30be5-1e1b-4e89-9f47-3400b8a99a36","name":"If","type":"n8n-nodes-base.if","position":[208,-464],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"be21728b-7bda-4669-bc81-cfa5fcdc2be6","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.result.exists }}","rightValue":true}]}},"typeVersion":2.2},{"id":"9b00c385-c89b-4086-8cf1-36d1bd017a51","name":"Delete Collection","type":"n8n-nodes-qdrant.qdrant","position":[384,-576],"parameters":{"operation":"deleteCollection","collectionName":{"__rl":true,"mode":"name","value":"{{ $json.collection }}"},"requestOptions":{}},"credentials":{"qdrantRestApi":{"id":"TpgvtX0iTPjymkHR","name":"Qdrant account"}},"typeVersion":1},{"id":"342e50cc-c02f-4be6-94db-2e9de5da2325","name":"Upsert Points","type":"n8n-nodes-qdrant.qdrant","position":[816,-448],"parameters":{"points":"=[\n  {\n    \"id\": {{ $('Data Preprocessing').item.json.id }},\n    \"payload\": {\n        \"id\": \"{{ $('Data Preprocessing').item.json.id }}\",\n        \"topic\": \"{{ $('Data Preprocessing').item.json.topic }}\",\n        \"question\": \"{{ $('Data Preprocessing').item.json.question }}\",\n        \"answer\": \"{{ $('Data Preprocessing').item.json.answer }}\",\n        \"embeddingText\": \"{{ $('Data Preprocessing').item.json.embeddingText }}\"\n    },\n    \"vector\": {{ JSON.stringify($('Embedding Generation').item.json.data[0].embedding) }}\n  }\n] ","resource":"point","operation":"upsertPoints","collectionName":{"__rl":true,"mode":"name","value":"={{ $('Data Preprocessing').item.json.collection }}"},"requestOptions":{}},"credentials":{"qdrantRestApi":{"id":"TpgvtX0iTPjymkHR","name":"Qdrant account"}},"typeVersion":1},{"id":"b97f6489-35b6-4954-8557-33570f47a8d8","name":"Gmail Trigger","type":"n8n-nodes-base.gmailTrigger","position":[-336,416],"parameters":{"filters":{},"pollTimes":{"item":[{"mode":"everyMinute"}]}},"credentials":{"gmailOAuth2":{"id":"PWaM78JYm1VOx56M","name":"Gmail account"}},"typeVersion":1.3},{"id":"12a35073-822e-4e1c-bdf4-83d29edcbd7f","name":"Merge","type":"n8n-nodes-base.merge","position":[224,400],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2,"alwaysOutputData":true},{"id":"e725a619-28bf-450b-b254-ac1a36411d3b","name":"Fetch Collection Name","type":"n8n-nodes-base.code","position":[-144,-464],"parameters":{"jsCode":"// QDrant DB Collection\nconst collection = $env.QDRANT_COLLECTION;\n\nreturn {\n  \"collection\": collection\n};"},"typeVersion":2},{"id":"cf2e97a9-e0d2-4575-9fd3-cfe1e92bf974","name":"Data Preprocessing","type":"n8n-nodes-base.code","position":[400,-208],"parameters":{"jsCode":"// Input Data\nvar data = $input.first().json.data;\n\n// QDrant DB Collection\nconst collection = $env.QDRANT_COLLECTION;\n\n// Loop through data array\nconst results = [];\n\nfor (const item of data) {\n  // Process each item\n  results.push({\n    id: item.id,\n    topic: item.topic,\n    question: item.question,\n    answer: item.answer,\n    embeddingText: `[${item.topic}] ${item.question}`,\n    collection: `${collection}`\n  });\n}\n\nreturn results;"},"typeVersion":2},{"id":"676476dd-79de-4c1b-b1db-2f0ac58df3d1","name":"Embedding Generation","type":"n8n-nodes-base.httpRequest","position":[592,-208],"parameters":{"url":"http://192.168.56.1:1234/v1/embeddings","method":"POST","options":{},"jsonBody":"={\n  \"model\": \"text-embedding-mxbai-embed-large-v1\",\n  \"input\": \"{{ $json.embeddingText }}\"\n}","sendBody":true,"jsonHeaders":"{\n  \"Content-Type\": \"application/json\"\n}","sendHeaders":true,"specifyBody":"json","specifyHeaders":"json"},"typeVersion":4.3},{"id":"d55fe456-10a8-4125-bda7-d083628a8ed3","name":"Data Fetch","type":"n8n-nodes-base.set","position":[224,-208],"parameters":{"options":{},"assignments":{"assignments":[{"id":"4cc6a859-60d6-46ad-95e8-52dbaec39595","name":"data","type":"array","value":"={{ $json.data.data }}"}]}},"typeVersion":3.4},{"id":"c5551fa5-6ac7-422e-96c4-17b6269e32ea","name":"Query Embedding","type":"n8n-nodes-base.httpRequest","position":[48,224],"parameters":{"url":"http://192.168.56.1:1234/v1/embeddings","method":"POST","options":{},"jsonBody":"={\n  \"model\": \"text-embedding-mxbai-embed-large-v1\",\n  \"input\": \"{{ $json.email_body }}\"\n}","sendBody":true,"jsonHeaders":"{\n  \"Content-Type\": \"application/json\"\n}","sendHeaders":true,"specifyBody":"json","specifyHeaders":"json"},"typeVersion":4.3},{"id":"0da98ba8-9633-461e-855c-d670e111e5ed","name":"Fields Preparation","type":"n8n-nodes-base.set","position":[-144,416],"parameters":{"options":{},"assignments":{"assignments":[{"id":"743b5019-056a-4cd2-9f46-570bb824e4e2","name":"from","type":"string","value":"={{ $json.To }}"},{"id":"0c5e63a4-ebad-4072-8bf0-68b1b61342f0","name":"name","type":"string","value":"={{ $json.From.match(/\\\"(.+?)\\\"/)[1].replace('.', '').trim() }}"},{"id":"79eae785-be4e-4dab-acf0-6f60c68d4625","name":"to","type":"string","value":"={{ $json.From.match(/<(.+?)>/)[1] }}"},{"id":"1644d100-2594-417f-91ac-777217edd1b8","name":"email_id","type":"string","value":"={{ $json.id }}"},{"id":"fa85272c-25f4-4ffa-b550-a4eafe8a9d2e","name":"thread_id","type":"string","value":"={{ $json.threadId }}"},{"id":"38c84b55-5c28-4df4-adaf-0c74abcc1e22","name":"subject","type":"string","value":"={{ $json.Subject }}"},{"id":"a58fc265-aff6-44ef-aafd-b7b1b25f7141","name":"email_body","type":"string","value":"={{ $json.snippet }}"}]}},"typeVersion":3.4},{"id":"ce84d2bd-ad68-41bf-b5f2-282a3a664d9d","name":"Collection Name Fetch","type":"n8n-nodes-base.code","position":[48,416],"parameters":{"jsCode":"// QDrant DB Collection\nconst collection = $env.QDRANT_COLLECTION;\n\nreturn {\n  \"collection\": collection\n};"},"typeVersion":2},{"id":"7408cf72-bd53-4ccd-96bd-237e7b44ac27","name":"Similarity Search","type":"n8n-nodes-qdrant.qdrant","position":[400,400],"parameters":{"limit":3,"query":"={{ JSON.stringify($json.data[0].embedding) }}","resource":"search","operation":"queryPoints","collectionName":{"__rl":true,"mode":"name","value":"={{ $json.collection }}"},"requestOptions":{},"scoreThreshold":0.6},"credentials":{"qdrantRestApi":{"id":"TpgvtX0iTPjymkHR","name":"Qdrant account"}},"typeVersion":1},{"id":"580a03f7-d870-46c2-b0f2-4411990eb24a","name":"Send Repy Email","type":"n8n-nodes-base.gmail","position":[1120,224],"webhookId":"0e2693a2-851d-4aa0-927a-8936c6d5dc2e","parameters":{"message":"={{ $json.reply_email }}","options":{"appendAttribution":false,"replyToSenderOnly":true},"messageId":"={{ $('Fields Preparation').item.json.email_id }}","operation":"reply"},"credentials":{"gmailOAuth2":{"id":"PWaM78JYm1VOx56M","name":"Gmail account"}},"typeVersion":2.1},{"id":"9dda2726-3d88-404d-96cb-f01b1c292c20","name":"Message a model","type":"@n8n/n8n-nodes-langchain.openAi","position":[608,224],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"llama-3.2-3b-instruct","cachedResultName":"LLAMA-3.2-3B-INSTRUCT"},"options":{},"responses":{"values":[{"role":"system","content":"=You are a professional email response assistant for \nCrestwood University's automated support system \ncalled AEQRS (Automated Email Query Resolution System).\n\n---\n\nABOUT CRESTWOOD UNIVERSITY:\nName     : Crestwood University\nLocation : Austin, Texas\nType     : Private University\nPortal   : portal.crestwooduniversity.edu\nSupport  : support@crestwooduniversity.edu\nHelpdesk : helpdesk@crestwooduniversity.edu\nPhone    : +1 (512) 000-0000\n\n---\n\nYOUR ROLE:\nYou will receive:\n→ Student's name\n→ Student's original email body\n→ Top 3 FAQ answers retrieved from the \n  knowledge base with their similarity \n  scores, topics, matched questions and answers\n\nYour job is to:\n1. Read and understand the student's original email\n2. Analyze the 3 retrieved FAQ answers\n3. Pick the most relevant answer or intelligently \n   combine answers if the student asked about \n   multiple things\n4. Generate ONLY the email body content in HTML\n\n---\n\nRESPONSE INTELLIGENCE RULES:\n1. Carefully read the student's email and understand \n   what they are ACTUALLY asking\n\n2. From the 3 retrieved answers pick the most \n   relevant one:\n   → If student asked ONE thing    : use best match\n   → If student asked MULTI things : combine relevant \n     answers naturally into one flow\n\n3. If NONE of the 3 retrieved answers are relevant \n   to the student's question — use this fallback:\n   \"Thank you for reaching out to Crestwood University.\n   We have received your query and our support team \n   will get back to you within 1-2 business days. \n   We apologize for any inconvenience.\"\n\n4. Address the student by FIRST NAME only\n\n5. Be warm, helpful and professional in tone\n\n6. Do NOT mention any internal system details:\n   → \"FAQ database\"\n   → \"similarity scores\"\n   → \"RAG\" or \"retrieval\"\n   → \"vector search\"\n   → \"knowledge base\"\n   → \"AEQRS system internals\"\n\n7. Do NOT make up or assume any information \n   not present in the retrieved answers\n\n8. Do NOT add unnecessary filler lines like \n   \"Hope this email finds you well\"\n\n---\n\nTONE GUIDELINES:\n→ Professional  : Yes\n→ Warm          : Yes\n→ Overly formal : No\n→ Casual/Slang  : No\n→ Empathetic    : Yes\n→ Concise       : Yes\n\n---\n\nHTML OUTPUT RULES:\nGenerate ONLY these HTML elements — \nnothing else:\n\n1. GREETING PARAGRAPH\n   → <p>Dear [First Name],</p>\n\n2. MAIN RESPONSE BODY\n   → Wrap content in <p> tags\n   → Use <ul><li> for multiple points\n   → Use <strong> for important highlights\n   → Line height handled by template (do not add)\n\n3. CLOSING LINE\n   → <p>We hope this helps! Feel free to reach \n     out if you have any further questions.</p>\n\nSTRICT OUTPUT RULES:\n→ Output ONLY the HTML elements listed above\n→ No <html>, <head>, <body> tags\n→ No inline styles — template handles all styling\n→ No markdown, no code blocks, no explanation\n→ No \"Here is the response:\" or any intro text\n→ Start directly with <p>Dear ...\n→ End with the closing </p>"},{"content":"=STUDENT NAME: {{ $('Fields Preparation').item.json.name }}\n\nSTUDENT EMAIL BODY:\n{{ $('Fields Preparation').item.json.email_body }}\n\nRETRIEVED FAQ ANSWERS:\n\nAnswer 1:\nSimilarity Score : {{ $json.result.points[0].score }}\nTopic            : {{ $json.result.points[0].payload.topic }}\nMatched Question : {{ $json.result.points[0].payload.question }}\nAnswer           : {{ $json.result.points[0].payload.answer }}\n\nAnswer 2:\nSimilarity Score : {{ $json.result.points[1].score }}\nTopic            : {{ $json.result.points[1].payload.topic }}\nMatched Question : {{ $json.result.points[1].payload.question }}\nAnswer           : {{ $json.result.points[1].payload.answer }}\n\nAnswer 3:\nSimilarity Score : {{ $json.result.points[2].score }}\nTopic            : {{ $json.result.points[2].payload.topic }}\nMatched Question : {{ $json.result.points[2].payload.question }}\nAnswer           : {{ $json.result.points[2].payload.answer }}"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"hYFLszHignuUn4Zz","name":"OpenAi account"}},"typeVersion":2},{"id":"71575f27-a42c-4d54-b298-3af0aeb7736e","name":"Email Format","type":"n8n-nodes-base.set","position":[928,224],"parameters":{"options":{},"assignments":{"assignments":[{"id":"1ce5a09a-adb5-471a-9911-f80bea3c37c9","name":"=reply_email","type":"string","value":"=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" />\n  <meta name=\"viewport\" \n        content=\"width=device-width, \n        initial-scale=1.0\"/>\n  <title>Crestwood University Support</title>\n</head>\n<body style=\"margin:0; padding:0; \n             background-color:#f9f9f9; \n             font-family: Arial, sans-serif;\">\n\n  <table width=\"100%\" cellpadding=\"0\" \n         cellspacing=\"0\" \n         style=\"background-color:#f9f9f9; \n                padding: 30px 0;\">\n    <tr>\n      <td align=\"center\">\n\n        <!-- Email Container -->\n        <table width=\"600\" cellpadding=\"0\" \n               cellspacing=\"0\" \n               style=\"max-width:600px; \n                      width:100%; \n                      background:#ffffff; \n                      border-radius:8px; \n                      overflow:hidden; \n                      box-shadow: 0 2px 8px \n                      rgba(0,0,0,0.08);\">\n\n          <!-- ======= HEADER ======= -->\n          <tr>\n            <td style=\"background-color:#1a3c6e; \n                       padding: 25px 35px;\">\n              <h1 style=\"color:#f0a500; \n                         margin:0; \n                         font-size:22px; \n                         font-weight:bold; \n                         letter-spacing:0.5px;\">\n                Crestwood University\n              </h1>\n              <p style=\"color:#ffffff; \n                        margin: 5px 0 0; \n                        font-size:12px; \n                        letter-spacing:0.3px;\">\n                Student Support — AEQRS\n              </p>\n            </td>\n          </tr>\n\n          <!-- ======= BODY ======= -->\n          <tr>\n            <td style=\"padding: 35px; \n                       color:#333333; \n                       font-size:15px; \n                       line-height:1.7;\">\n\n              <!-- \n                ===================================\n                INJECT LLM RESPONSE HERE\n                Replace `llm_response` with the\n                actual LLM HTML output in n8n\n                ===================================\n              -->\n              {{ $json.output[0].content[0].text }}\n\n            </td>\n          </tr>\n\n          <!-- ======= DIVIDER ======= -->\n          <tr>\n            <td style=\"padding: 0 35px;\">\n              <hr style=\"border:none; \n                         border-top:1px solid #eeeeee; \n                         margin:0;\" />\n            </td>\n          </tr>\n\n          <!-- ======= CONTACT INFO ======= -->\n          <tr>\n            <td style=\"padding: 25px 35px;\">\n              <p style=\"color:#555555; \n                        font-size:13px; \n                        margin:0 0 10px;\">\n                Need further assistance? \n                We are here to help.\n              </p>\n              <table cellpadding=\"0\" cellspacing=\"0\">\n                <tr>\n                  <td style=\"padding: 3px 0; \n                             font-size:13px; \n                             color:#333333;\">\n                    📧&nbsp;\n                    <a href=\"mailto:support@crestwooduniversity.edu\"\n                       style=\"color:#1a3c6e; \n                              text-decoration:none;\">\n                      support@crestwooduniversity.edu\n                    </a>\n                  </td>\n                </tr>\n                <tr>\n                  <td style=\"padding: 3px 0; \n                             font-size:13px; \n                             color:#333333;\">\n                    🌐&nbsp;\n                    <a href=\"https://portal.crestwooduniversity.edu\"\n                       style=\"color:#1a3c6e; \n                              text-decoration:none;\">\n                      portal.crestwooduniversity.edu\n                    </a>\n                  </td>\n                </tr>\n                <tr>\n                  <td style=\"padding: 3px 0; \n                             font-size:13px; \n                             color:#333333;\">\n                    📞&nbsp;+1 (512) 000-0000\n                  </td>\n                </tr>\n              </table>\n            </td>\n          </tr>\n\n          <!-- ======= SIGNATURE ======= -->\n          <tr>\n            <td style=\"padding: 0 35px 30px;\">\n              <p style=\"color:#333333; \n                        font-size:15px; \n                        margin:0;\">\n                Warm regards,<br/>\n                <strong>Crestwood University</strong>\n                <br/>\n                <span style=\"color:#888888; \n                             font-size:13px;\">\n                  Student Support Team\n                </span>\n              </p>\n            </td>\n          </tr>\n\n          <!-- ======= FOOTER ======= -->\n          <tr>\n            <td style=\"background-color:#1a3c6e; \n                       padding: 18px 35px; \n                       text-align:center;\">\n              <p style=\"color:#aaaaaa; \n                        font-size:11px; \n                        margin:0; \n                        line-height:1.6;\">\n                © 2024 Crestwood University, \n                Austin, Texas. \n                All rights reserved.<br/>\n                This is an automated response \n                generated by AEQRS.\n              </p>\n            </td>\n          </tr>\n\n        </table>\n        <!-- End Container -->\n\n      </td>\n    </tr>\n  </table>\n\n</body>\n</html>"}]}},"typeVersion":3.4},{"id":"0fc58067-be90-46b8-92b4-e11b66957da7","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1040,-304],"parameters":{"width":640,"height":624,"content":"## How it works\n1. **Knowledge Ingestion**: Monitors Google Drive for FAQ file updates, converts them into embeddings, and stores them in Qdrant.\n2. **Email Trigger**: Activates automatically whenever a new email arrives in your connected Gmail inbox.\n3. **Semantic Search**: Converts the incoming email question into an embedding and queries Qdrant to find the most relevant FAQ match.\n4. **AI Reply**: Uses a local LLM via LM Studio to draft a polite, context-aware response and sends it as a threaded reply in Gmail.\n\n## Setup Process\n- [ ] Run n8n and Qdrant using Docker.\n- [ ] Start your LM Studio local server on port `1234` with `mxbai-embed-large-v1` and `llama-3.2-3b-instruct` models.\n- [ ] Configure Google OAuth2 credentials for both Gmail and Google Drive.\n- [ ] Update the URL in the embedding nodes and the OpenAI node to use your LM Studio's local IP (do not use `localhost`).\n- [ ] Select your specific FAQ JSON file in both the **Google Drive Trigger** and **Download File** nodes.\n\n## Customization\n- **AI Persona**: Edit the system prompt in the **Message a Model** node to change the AI's tone and formatting.\n- **Search Strictness**: Adjust the minimum similarity threshold in the Qdrant search node to ensure high-quality matching.\n- **Triggers**: Swap Gmail for another email provider or customer support tool if needed."},"typeVersion":1},{"id":"c4c50b1d-c723-417f-9d53-c44d2ffc63f5","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-384,-256],"parameters":{"color":7,"width":1152,"height":352,"content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Knowledge Base Ingestion\nMonitors Google Drive for updates, downloads the FAQ file, and transforms the text into vector embeddings."},"typeVersion":1},{"id":"e3b71e76-3596-4c7e-87bb-fd56aa03793a","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-368,-240],"parameters":{"color":3,"width":368,"height":240,"content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\nYou must explicitly select your FAQ JSON file ID for the workflow to pull the correct data."},"typeVersion":1},{"id":"fb641e30-0415-481e-a849-82c7b73fdd81","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-160,-656],"parameters":{"color":7,"width":1088,"height":368,"content":"## Vector Database Management\nChecks for existing Qdrant collections, recreates them to prevent duplicates, and upserts the new FAQ "},"typeVersion":1},{"id":"39090ff9-0e2e-4108-8914-e39d8f5b0768","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[544,112],"parameters":{"color":7,"width":704,"height":368,"content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## AI Reply Generation\nPrompts the local LLM to draft a professional HTML response and sends it back to the original email thread."},"typeVersion":1},{"id":"729f29e0-296f-4652-b893-51ca930cf243","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[576,144],"parameters":{"color":3,"width":288,"height":224,"content":"Ensure LM Studio is actively running the LLaMA model server; otherwise, the response generation will fail."},"typeVersion":1},{"id":"c236fa31-8d68-4345-8b5a-1ad70a7007e0","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[-16,128],"parameters":{"color":3,"width":224,"height":240,"content":"The embedding URL must point to your host machine's actual local IP address so Docker can reach it."},"typeVersion":1},{"id":"28955379-182f-4053-a82d-531fd6bd9bde","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[-384,112],"parameters":{"color":7,"width":912,"height":544,"content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Incoming Email Processing\nCatches incoming emails, generates an embedding for the user's question, and searches Qdrant for the best answer."},"typeVersion":1},{"id":"82e18e87-e13b-4a52-8752-16fd58362614","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[528,-240],"parameters":{"color":3,"width":224,"height":272,"content":"\n\n\n\n\n\n\n\n\n\n\n\n\n\nThe embedding URL must point to your host machine's actual local IP address so Docker can reach it."},"typeVersion":1}],"connections":{"If":{"main":[[{"node":"Delete Collection","type":"main","index":0}],[{"node":"Create Collection","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Similarity Search","type":"main","index":0}]]},"Data Fetch":{"main":[[{"node":"Data Preprocessing","type":"main","index":0}]]},"Email Format":{"main":[[{"node":"Send Repy Email","type":"main","index":0}]]},"Download file":{"main":[[{"node":"Extract from File","type":"main","index":0}]]},"Gmail Trigger":{"main":[[{"node":"Fields Preparation","type":"main","index":0}]]},"Upsert Points":{"main":[[]]},"Message a model":{"main":[[{"node":"Email Format","type":"main","index":0}]]},"Query Embedding":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Delete Collection":{"main":[[{"node":"Create Collection","type":"main","index":0}]]},"Extract from File":{"main":[[{"node":"Data Fetch","type":"main","index":0}]]},"Similarity Search":{"main":[[{"node":"Message a model","type":"main","index":0}]]},"Data Preprocessing":{"main":[[{"node":"Embedding Generation","type":"main","index":0}]]},"Fields Preparation":{"main":[[{"node":"Query Embedding","type":"main","index":0},{"node":"Collection Name Fetch","type":"main","index":0}]]},"Embedding Generation":{"main":[[{"node":"Upsert Points","type":"main","index":0}]]},"Google Drive Trigger":{"main":[[{"node":"Download file","type":"main","index":0},{"node":"Fetch Collection Name","type":"main","index":0}]]},"Collection Name Fetch":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Fetch Collection Name":{"main":[[{"node":"Check If Collection Exists","type":"main","index":0}]]},"Check If Collection Exists":{"main":[[{"node":"If","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":30,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.code":{"count":3},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-qdrant.qdrant":{"count":5},"n8n-nodes-base.stickyNote":{"count":9},"n8n-nodes-base.googleDrive":{"count":1},"n8n-nodes-base.httpRequest":{"count":2},"n8n-nodes-base.gmailTrigger":{"count":1},"n8n-nodes-base.extractFromFile":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"n8n-nodes-base.googleDriveTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Neloy Barman","username":"neloy-barman","bio":"My specialization lies in AI tech stacks. I have a strong track record of developing both text- and voice-based conversational solutions. I've also created industry-standard automation products. Currently, I'm diving deeper into building advanced agentic workflow systems and n8n automation solutions.","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/643d4c99d6a6bce86cb6c5e74176655c3921f3dbf51e4d0623d1f6366fc81c84?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/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/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.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"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/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/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.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-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/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/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":531,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDriveTrigger","codex":{"data":{"resources":{"generic":[{"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/trigger-nodes/n8n-nodes-base.googledrivetrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Google Drive Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive Trigger","typeVersion":1,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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":824,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmailTrigger","codex":{"data":{"resources":{"generic":[{"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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-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/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/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Gmail Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"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":1235,"icon":"file:extractFromFile.svg","name":"n8n-nodes-base.extractFromFile","codex":{"data":{"alias":["CSV","Spreadsheet","Excel","xls","xlsx","ods","tabular","decode","decoding","Move Binary Data","Binary","File","PDF","JSON","HTML","ICS","iCal","txt","Text","RTF","XML","64","Base64","Convert"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Files","Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Extract from File"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuOTM3NSAyQzAuNDE5NzMzIDIgMCAyLjQxOTczIDAgMi45Mzc1VjM3LjMyMjFDMCAzNy44Mzk5IDAuNDE5NzMzIDM4LjI1OTYgMC45Mzc1IDM4LjI1OTZIMjYuMjE1NEMyNi43MzMyIDM4LjI1OTYgMjcuMTUyOSAzNy44Mzk5IDI3LjE1MjkgMzcuMzIyMUwyNy4xNTI5IDMwLjY3MTlMMTYuNzk2OSAzMC42NzE5QzE0Ljg5ODQgMzAuNjcxOSAxMy4zNTk0IDI5LjEzMjkgMTMuMzU5NCAyNy4yMzQ0VjI1LjM1OTRDMTMuMzU5NCAyMy40NjA5IDE0Ljg5ODQgMjEuOTIxOSAxNi43OTY5IDIxLjkyMTlIMjcuMTUyOUwyNy4xNTI5IDE1Ljc4MjFIMTQuMzA4M0MxMy43OTA2IDE1Ljc4MjEgMTMuMzcwOCAxNS4zNjI0IDEzLjM3MDggMTQuODQ0NlYySDAuOTM3NVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTE2LjAyNzEgMkMxNS45NDA4IDIgMTUuODcwOCAyLjA2OTk2IDE1Ljg3MDggMi4xNTYyNVYxMi44MTM0QzE1Ljg3MDggMTMuMDcyMyAxNi4wODA3IDEzLjI4MjEgMTYuMzM5NiAxMy4yODIxSDI2Ljk5NjdDMjcuMDgzIDEzLjI4MjEgMjcuMTUyOSAxMy4yMTIyIDI3LjE1MjkgMTMuMTI1OUwyNy4xNTI5IDEyLjYxNzFDMjcuMTUyOSAxMi4zNjg4IDI3LjA1NDUgMTIuMTMwNyAyNi44NzkxIDExLjk1NUwxNy4yMjI1IDIuMjc1MzhDMTcuMDQ2NiAyLjA5OTA4IDE2LjgwNzkgMiAxNi41NTg4IDJIMTYuMDI3MVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTI5Ljc2NDIgMzQuNjUwM0MyOS4wMzQgMzMuOTE2IDI5LjAzNzQgMzIuNzI4OCAyOS43NzE2IDMxLjk5ODZMMzMuNjE5NyAyOC4xNzE5TDE2Ljc5NjkgMjguMTcxOUMxNi4yNzkxIDI4LjE3MTkgMTUuODU5NCAyNy43NTIxIDE1Ljg1OTQgMjcuMjM0NFYyNS4zNTk0QzE1Ljg1OTQgMjQuODQxNiAxNi4yNzkxIDI0LjQyMTkgMTYuNzk2OSAyNC40MjE5TDMzLjU0MTIgMjQuNDIxOUwyOS43NzE2IDIwLjY3MzNDMjkuMDM3NCAxOS45NDMxIDI5LjAzNCAxOC43NTU5IDI5Ljc2NDIgMTguMDIxNkMzMC40OTQ0IDE3LjI4NzQgMzEuNjgxNiAxNy4yODQgMzIuNDE1OSAxOC4wMTQyTDM5LjQ0NzEgMjUuMDA2NEMzOS44MDEgMjUuMzU4MyA0MCAyNS44MzY4IDQwIDI2LjMzNTlDNDAgMjYuODM1IDM5LjgwMSAyNy4zMTM1IDM5LjQ0NzEgMjcuNjY1NUwzMi40MTU5IDM0LjY1NzZDMzEuNjgxNiAzNS4zODc4IDMwLjQ5NDQgMzUuMzg0NSAyOS43NjQyIDM0LjY1MDNaIiBmaWxsPSIjMzUzRjZFIi8+Cjwvc3ZnPgo="},"displayName":"Extract from File","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":41,"name":"Ticket Management"},{"id":48,"name":"AI RAG"}],"image":[]}}