{
  "id": "udLJ2xzM6OGUAEQn",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Customer Support",
  "tags": [],
  "nodes": [
    {
      "id": "9f52a98d-5268-4e3a-97f3-5b8719e5aaff",
      "name": "Text Classifier",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        192,
        64
      ],
      "parameters": {
        "options": {},
        "inputText": "={{ $json.text }}",
        "categories": {
          "categories": [
            {
              "category": "Customer Support",
              "description": "An email that is related to helping out a customer. They may be asking questions about our policies or questions about product or services."
            },
            {
              "category": "Other",
              "description": "Any email is not customer support related."
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "3ca0071b-686d-4dea-84fd-6ed71bdfa14c",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        160,
        240
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7157699d-02ec-4d0e-b676-687fb0b25f75",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        624,
        -16
      ],
      "parameters": {
        "text": "={{ $('Gmail Trigger').item.json.text }}",
        "options": {
          "systemMessage": "=# Overview\n\nYou are a customer support agent from Blueproof. Your role is to reply to incoming emails using your knowledgebase tool.\n\n## Output\nonly output the email body\n\n## Instructions\n-sign off as Yasser @ Blueproof\n\n## Final Notes\nif you didn't found the answer in your knowledgebase do not come up with hallusinated answer, just tell the user that you don't have the information in a proper way."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "7bfeebf7-120a-4785-a4a5-f6cd2ef764b8",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        864,
        336
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b58e1ae7-70ab-4aa2-861e-b6177b7f2dc2",
      "name": "knowledgebase",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        784,
        192
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": "FAQ"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "n8n",
          "cachedResultName": "n8n"
        },
        "toolDescription": "call this tool to access knowledgebase"
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b1ba03dc-9d94-4233-850f-c67586428e74",
      "name": "Reply to a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1184,
        -16
      ],
      "parameters": {
        "message": "={{ $('AI Agent').item.json.output }}",
        "options": {
          "appendAttribution": false
        },
        "emailType": "text",
        "messageId": "={{ $('Gmail Trigger').item.json.id }}",
        "operation": "reply"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c3810836-c0b5-448b-ab0c-7167b6ba3584",
      "name": "Add label to message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        976,
        -16
      ],
      "parameters": {
        "labelIds": [
          "IMPORTANT"
        ],
        "messageId": "={{ $('Gmail Trigger').item.json.id }}",
        "operation": "addLabels"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8fb33be4-21d9-4a49-9f1f-e3c89c49540e",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        384,
        304
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9339887b-461b-4a3e-a483-1f29dd446b7a",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -208,
        -592
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1Z4mmP2gGcUAIHoKzN0Cjuf9r23bCx8fl",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1Z4mmP2gGcUAIHoKzN0Cjuf9r23bCx8fl",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "73189044-3324-4dff-a8cc-9174900cc0fb",
      "name": "Download file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        0,
        -592
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "009d65e5-4f02-460a-a395-2fa8eea7a70b",
      "name": "Pinecone Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        208,
        -592
      ],
      "parameters": {
        "mode": "insert",
        "options": {
          "pineconeNamespace": "FAQ"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "n8n",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "pineconeApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "731aa45f-e2d2-405e-aebf-d796830d9ebb",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        336,
        -416
      ],
      "parameters": {
        "options": {},
        "dataType": "binary",
        "textSplittingMode": "custom"
      },
      "typeVersion": 1.1
    },
    {
      "id": "26a54599-e00a-40c9-8b6f-8f98ec1431a7",
      "name": "Recursive Character Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        416,
        -240
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "f7447b47-e6fa-4a2f-a7c9-c313eea0bcb8",
      "name": "Embeddings OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        160,
        -368
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f0658841-a213-4d9a-b87d-0174f2dc4bfa",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        32
      ],
      "parameters": {
        "width": 256,
        "content": "## AI Gmail Customer Support \nThis template auto-replies to customer emails in Gmail using AI + your knowledge base."
      },
      "typeVersion": 1
    },
    {
      "id": "792141cb-cf13-4515-bd10-db61b9bf479d",
      "name": "Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        0,
        64
      ],
      "parameters": {
        "simple": false,
        "filters": {},
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a6b06e9a-ef64-4c29-aad8-3346eb1f448b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -336
      ],
      "parameters": {
        "color": 4,
        "height": 192,
        "content": "## Auto Update Knowledge Base \nWhen you add a file to a specific folder in your google drive it automatically update the vector database and add the file to the knowledge base."
      },
      "typeVersion": 1
    },
    {
      "id": "37d7d970-e076-4eb1-a1e6-62fc155062fc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        -624
      ],
      "parameters": {
        "width": 848,
        "height": 528,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "48575e3f-6579-4a29-a56a-ab0c8c2e6d3e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -32
      ],
      "parameters": {
        "width": 352,
        "height": 80,
        "content": "## Classification \nAI checks if the email is customer support or not."
      },
      "typeVersion": 1
    },
    {
      "id": "7854ddf5-7119-4e0d-abcd-459611f97278",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        576,
        192
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "5d60f0df-53c7-4a1e-b3bb-c1869dd14401",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        -128
      ],
      "parameters": {
        "width": 208,
        "height": 96,
        "content": "## AI Agent \nSearches your knowledge base and drafts a reply."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4c6edfde-4bb9-4b1d-ac1a-a4b62e359bee",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Add label to message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download file": {
      "main": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Text Classifier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "knowledgebase": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Text Classifier": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "knowledgebase",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Text Classifier",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Add label to message": {
      "main": [
        [
          {
            "node": "Reply to a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive Trigger": {
      "main": [
        [
          {
            "node": "Download file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    }
  }
}