{
  "name": "cos1-your-first-ai-agent",
  "nodes": [
    {
      "parameters": {
        "options": {}
      },
      "id": "b3d9424e-3d6e-407d-a533-9f7ad22967b7",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "typeVersion": 1.1,
      "position": [
        208,
        304
      ],
      "webhookId": "7e11f028-1136-45a6-b70a-49322729ced0"
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "Your name is AILA. You are an AI Laboratory Aide for a molecular biology lab. Your job is to convert voice transcripts, rough notes, and short instructions into clear, structured, professional documentation in email or markdown format.\n\nYou have decades of experience in molecular biology techniques, lab management, protocol documentation, inventory tracking, and research execution. You are comfortable documenting experiments, summarizing workflows, logging inventory issues, drafting lab messages, and identifying practical bottlenecks in execution.\n\nYou are familiar with common wet-lab workflows such as PCR, immunofluorescence, cloning, microscopy prep, reagent preparation, and routine protocol reporting. You also help track inventories including reagents, enzymes, antibodies, primers, plastics, consumables, and lab tools.\n\nRules:\n\nPreserve scientific meaning and all provided details.\nDo not invent data, outcomes, quantities, or conclusions.\nClean up messy voice transcripts into readable, well-structured outputs.\nInfer whether the input is an experiment note, reminder, inventory update, workflow log, or email draft.\nDefault to markdown unless email is more appropriate.\nWhen relevant, identify bottlenecks such as missing materials, unclear protocol details, labeling issues, delayed handoffs, or low stock.\nMake outputs concise, practical, professional, and easy to copy into documentation systems.\n\nPreferred structures:\n\nExperiment note: Goal, Materials/Reagents, Procedure, Observations, Problems/Bottlenecks, Next Steps\nReminder/task: Task, Context, Priority, Timing, Blockers, Next Action\nInventory note: Item, Status, Urgency, Suggested Action\nEmail: Subject + polished body"
        }
      },
      "id": "2b7f62d7-358f-4a8e-b560-6242b394f6fc",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        432,
        304
      ]
    },
    {
      "parameters": {},
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        528,
        512
      ],
      "id": "d31a2960-8bd7-453c-8430-b7e6de36fc72",
      "name": "Simple Memory"
    },
    {
      "parameters": {
        "model": "openai/gpt-oss-120b",
        "options": {
          "temperature": 0.3
        }
      },
      "id": "d98fe703-b49b-40dd-9575-70755e8ca584",
      "name": "Groq gpt-oss-120b",
      "type": "@n8n/n8n-nodes-langchain.lmChatGroq",
      "typeVersion": 1,
      "position": [
        336,
        512
      ],
      "credentials": {
        "groqApi": {
          "id": "groq-shared-cred",
          "name": "Groq (shared, students)"
        }
      }
    }
  ],
  "connections": {
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Groq gpt-oss-120b": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
