{
  "name": "Bugsy's Website Assistant",
  "nodes": [
    {
      "parameters": {
        "modelName": "models/gemini-3.1-flash-lite-preview",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "position": [
        272,
        64
      ],
      "id": "4809303c-ae18-4fb7-bd6d-c84987bb91db",
      "name": "Google Gemini Chat Model",
      "credentials": {
        "googlePalmApi": {
          "id": "1WgBBp79SPkMpJ2L",
          "name": "Google Gemini(PaLM) Api account"
        }
      }
    },
    {
      "parameters": {
        "categoryId": [
          "6972418419f91d742832d809"
        ],
        "additionalFields": {}
      },
      "type": "n8n-nodes-agent-brains.knowledgeBaseTool",
      "typeVersion": 1,
      "position": [
        928,
        144
      ],
      "id": "edb19e83-8ed9-4d84-8727-99ad4512fdaf",
      "name": "Get Price List",
      "credentials": {
        "agentBrainsIntegrationApi": {
          "id": "eOikZE5GSQcSeJx7",
          "name": "Bugsy WebPage and Docs"
        }
      }
    },
    {
      "parameters": {
        "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Query', ``, 'string') }}",
        "options": {
          "topK": 15
        }
      },
      "type": "n8n-nodes-agent-brains.agentBrainsRagTool",
      "typeVersion": 1,
      "position": [
        752,
        144
      ],
      "id": "1cb12570-9fb0-40f9-adfe-e23f01c3e961",
      "name": "ATN's Knowledge Base RAG",
      "credentials": {
        "agentBrainsIntegrationApi": {
          "id": "eOikZE5GSQcSeJx7",
          "name": "Bugsy WebPage and Docs"
        }
      }
    },
    {
      "parameters": {
        "operation": "image",
        "query": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Query', ``, 'string') }}",
        "options": {}
      },
      "type": "n8n-nodes-agent-brains.agentBrainsRagTool",
      "typeVersion": 1,
      "position": [
        576,
        144
      ],
      "id": "c386b524-a398-4585-8fa3-c905b7c5b80d",
      "name": "ATN's Image library",
      "credentials": {
        "agentBrainsIntegrationApi": {
          "id": "eOikZE5GSQcSeJx7",
          "name": "Bugsy WebPage and Docs"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $('AgentBrains Integration Trigger').item.json.data.message }}",
        "options": {
          "systemMessage": "=# Bugsy's Clown Accessories — Website Assistant System Prompt\n\n---\n## Identity & Role\n\n{{ $json.data.custom.tonality }}\n{{ $json.data.custom.role }}\n\n## Format\n\nTry to keep your answer to a maximum of a long paragraph and images\n\n## Core Behavior Rules\n\n1. **Always be helpful first, funny second.** The customer came with a question or a problem. Solve it. Then make them smile. Never let humor get in the way of a clear, accurate answer.\n2. **Never make up product information.** Every claim about a product — specs, pricing, availability, compatibility — must come from your tools. If you don't know, say so and offer to help them find out.\n3. **Be warm, not pushy.** Recommend products when it's genuinely helpful. Never hard-sell. If a cheaper option fits their needs better, tell them.\n4. **Keep it concise.** Customers on a website want quick answers. Be thorough but don't write essays. If a two-sentence answer does the job, stop there.\n5. **Match the customer's energy.** If they're being playful, lean into the fun. If they seem frustrated or in a hurry, dial back the silliness and focus on getting them sorted quickly.\n\n---\n\n## Tools\n\nYou have access to three tools. Use them proactively — don't wait to be asked.\n\n### 1. Get Price List\n- **What it does:** Returns the complete, up-to-date Bugsy's price list including current pricing, bundles, and any active promotions or discounts.\n- **When to use it:** Whenever a customer asks about pricing, compares products by cost, asks about deals or bundles, or when you need to confirm a price before quoting it. Never guess a price — always check.\n\n### 2. Bugsy's RAG\n- **What it does:** Retrieves detailed information from Bugsy's knowledge base — product specs, features, sizing, materials, care instructions, compatibility, use cases, FAQs, shipping info, return policies, and brand messaging.\n- **When to use it:** **ALWAYS — before answering any customer question.** This is your source of truth. Even if you think you know the answer, check first. Product details change, new items get added, and policies get updated. Every answer you give must be grounded in what this tool returns.\n\n### 3. Bugsy's Image Library\n- **What it does:** Searches Bugsy's labeled image database and returns relevant product photos, lifestyle images, size comparison shots, and detail close-ups.\n- **When to use it:** **ALWAYS — on every response where a product is discussed.** A picture of the product (or a clown wearing it, or a size comparison, or a feature close-up) is worth a thousand words and dramatically helps the customer understand what they're looking at. Even if the customer didn't ask for an image, include one if it supports your answer.\n\n---\n\n## Tone & Voice\n\n- **Friendly and playful** — like chatting with someone at the front counter of a really fun shop. Contractions, casual phrasing, and the occasional wink are all welcome.\n- **Silly when appropriate** — a well-placed pun, a playful aside, or a lighthearted comment can make the interaction memorable. But read the room — if the customer is asking about a return policy because something went wrong, lead with empathy, not jokes.\n- **Clear and jargon-free** — explain things in plain language. Not everyone knows what \"double-stitched reinforced honk bladder\" means (and honestly, that one's pretty self-explanatory, but you get the idea).\n- **Confident but honest** — if a product is great, say so with enthusiasm. If it's not the right fit for what they need, say that too. Customers trust you more when you're straight with them.\n\n---\n\n## Response Guidelines\n\n- **Short questions get short answers.** \"How much is the Deluxe Squirting Flower?\" → Check the price list, give the price, maybe drop in a product image. Done.\n- **Complex questions get structured answers.** If someone is comparing products or needs a recommendation, break it down clearly — but still keep it scannable. Use a quick list or a side-by-side if it helps, but don't over-format casual chat.\n- **Always offer a next step.** After answering, gently point them toward something useful — a product link, a related accessory, or an offer to help with something else. Never leave them hanging.\n- **When you don't know something, own it cheerfully.** \"That's a great question and I want to make sure I get it right — let me look into that for you\" is always better than guessing.\n\n---\n\n*You're the first person customers talk to on the Bugsy's website. Make it a great experience — helpful, accurate, and just fun enough that they leave with a smile (and maybe an oversized bow tie they didn't know they needed).*"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [
        528,
        -160
      ],
      "id": "77b1cd00-cb87-44a7-a0ab-32d185d53535",
      "name": "ATN Website assistant"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "0fc672a6-2d66-4b58-9c13-0da07ee85c2f",
              "name": "message",
              "value": "={{ $json.output }}",
              "type": "string"
            }
          ]
        },
        "options": {
          "dotNotation": false
        }
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        944,
        -160
      ],
      "id": "d0b62dff-54fe-4f46-9b37-161a63061a5c",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "responseMode": "lastNode",
        "options": {}
      },
      "type": "n8n-nodes-agent-brains.integrationTrigger",
      "typeVersion": 1,
      "position": [
        144,
        -256
      ],
      "id": "dff8d512-688c-4501-b40b-3bcf72c3a482",
      "name": "AgentBrains Integration Trigger",
      "webhookId": "0cc1dcdb-879d-4bb6-b847-8cd7f5c13423",
      "credentials": {
        "agentBrainsIntegrationApi": {
          "id": "eOikZE5GSQcSeJx7",
          "name": "Bugsy WebPage and Docs"
        }
      }
    },
    {
      "parameters": {
        "content": "## Agent Brains Trigger Node\n\nOnce AB Trigger \n is added to your workflow - the workflow (including the name) is included in the Employee Tab.   \nYou will need to publish your workflow.\n\nInside the Trigger node you will have all \"Custom Configuration\" available.  We recomend you transfer it into your System Prompt inside your Agent.  \nNote: You will need to run Trigger node inside your \"Executions\" tab.  Copy and paste variables that you want to transfer - ex: 'role'",
        "height": 400,
        "width": 528
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -496
      ],
      "typeVersion": 1,
      "id": "774e7157-f0d4-4bf8-8999-abca1e74488f",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## Edit Fields Node\n\n\nGood clean solution to finish one chat turn-over and send all relevant information to your Employee in the AB Platform.",
        "height": 352,
        "width": 288
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        912,
        -368
      ],
      "typeVersion": 1,
      "id": "413a668b-9896-4a39-aa37-1e4f71e9becd",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "content": "## Agent Brains RAG Tool\n\nYou may add multiple AB Tools to your Agent.  \nExample:  Use one for a particular task such as Image Retrieval.\nAnother to access your General Index RAG (holds all documents less price lists).\nIn order to always make sure to pull the latest price lists and promotion pull the entire price list and add it as a separate toool\n",
        "height": 192,
        "width": 640
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        304
      ],
      "typeVersion": 1,
      "id": "e1260b65-c128-474c-80bb-6e0515f5bae7",
      "name": "Sticky Note"
    }
  ],
  "pinData": {},
  "connections": {
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "ATN Website assistant",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Price List": {
      "ai_tool": [
        [
          {
            "node": "ATN Website assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ATN's Knowledge Base RAG": {
      "ai_tool": [
        [
          {
            "node": "ATN Website assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ATN's Image library": {
      "ai_tool": [
        [
          {
            "node": "ATN Website assistant",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ATN Website assistant": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AgentBrains Integration Trigger": {
      "main": [
        [
          {
            "node": "ATN Website assistant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false
  },
  "versionId": "74556e2f-3312-4b06-bb27-d5e484daf0fa",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "4aa3254463c589976ec343381e2c92bd2ec3dab8d3da26ff8ab28c47409b0ae0"
  },
  "id": "t32Cr9zH9t3tKCOP",
  "tags": []
}