{ "id": "22PddLUgcjSJbT1w", "meta": { "instanceId": "fa7d5e2425ec76075df7100dbafffed91cc6f71f12fe92614bf78af63c54a61d", "templateCredsSetupCompleted": true }, "name": "MongoDB Agent", "tags": [], "nodes": [ { "id": "d8c07efe-eca0-48cb-80e6-ea8117073c5f", "name": "OpenAI Chat Model", "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "position": [ 1300, 560 ], "parameters": { "options": {} }, "credentials": { "openAiApi": { "id": "TreGPMKr9hrtCvVp", "name": "OpenAi account" } }, "typeVersion": 1 }, { "id": "636de178-7b68-429a-9371-41cf2a950076", "name": "MongoDBAggregate", "type": "n8n-nodes-base.mongoDbTool", "position": [ 1640, 540 ], "parameters": { "query": "={{ $fromAI(\"pipeline\", \"The MongoDB pipeline to execute\" , \"string\" , [{\"$match\" : { \"rating\" : 5 } }])}}", "operation": "aggregate", "collection": "movies", "descriptionType": "manual", "toolDescription": "Get from AI the MongoDB Aggregation pipeline to get context based on the provided pipeline, the document structure of the documents is : {\n \"plot\": \"A group of bandits stage a brazen train hold-up, only to find a determined posse hot on their heels.\",\n \"genres\": [\n \"Short\",\n \"Western\"\n ],\n \"runtime\": 11,\n \"cast\": [\n \"A.C. Abadie\",\n \"Gilbert M. 'Broncho Billy' Anderson\",\n ...\n ],\n \"poster\": \"...jpg\",\n \"title\": \"The Great Train Robbery\",\n \"fullplot\": \"Among the earliest existing films in American cinema - notable as the ...\",\n \"languages\": [\n \"English\"\n ],\n \"released\": \"date\"\n },\n \"directors\": [\n \"Edwin S. Porter\"\n ],\n \"rated\": \"TV-G\",\n \"awards\": {\n \"wins\": 1,\n \"nominations\": 0,\n \"text\": \"1 win.\"\n },\n \"lastupdated\": \"2015-08-13 00:27:59.177000000\",\n \"year\": 1903,\n \"imdb\": {\n \"rating\": 7.4," }, "credentials": { "mongoDb": { "id": "8xGgiXzf2o0L4a0y", "name": "MongoDB account" } }, "typeVersion": 1.1 }, { "id": "e0f248dc-22b7-40a2-a00e-6298b51e4470", "name": "Window Buffer Memory", "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow", "position": [ 1500, 540 ], "parameters": { "contextWindowLength": 10 }, "typeVersion": 1.2 }, { "id": "da27ee52-43db-4818-9844-3c0a064bf958", "name": "When chat message received", "type": "@n8n/n8n-nodes-langchain.chatTrigger", "position": [ 1160, 400 ], "webhookId": "0730df2d-2f90-45e0-83dc-609668260fda", "parameters": { "mode": "webhook", "public": true, "options": { "allowedOrigins": "*" } }, "typeVersion": 1.1 }, { "id": "9ad79da9-3145-44be-9026-e37b0e856f5d", "name": "insertFavorite", "type": "@n8n/n8n-nodes-langchain.toolWorkflow", "position": [ 1860, 520 ], "parameters": { "name": "insertFavorites", "workflowId": { "__rl": true, "mode": "list", "value": "6QuKnOrpusQVu66Q", "cachedResultName": "insertMongoDB" }, "description": "=Use this tool only to add favorites with the structure of {\"title\" : \"recieved title\" }" }, "typeVersion": 1.2 }, { "id": "4d7713d1-d2ad-48bf-971b-b86195e161ca", "name": "AI Agent - Movie Recommendation", "type": "@n8n/n8n-nodes-langchain.agent", "position": [ 1380, 300 ], "parameters": { "text": "=Assistant for best movies context, you have tools to search using \"MongoDBAggregate\" and you need to provide a MongoDB aggregation pipeline code array as a \"query\" input param. User input and request: {{ $json.chatInput }}. Only when a user confirms a favorite movie use the insert favorite using the \"insertFavorite\" workflow tool of to insertFavorite as { \"title\" : \"